feat: 增加定时任务触发热成像采集功能
parent
026b71da94
commit
524937ea8d
@ -1,15 +0,0 @@
|
||||
package com.xydl.cac.model;
|
||||
|
||||
import com.xydl.cac.entity.ThermalConfig;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ThermalConfigModel {
|
||||
@NotNull(message = "typeId不能为空")
|
||||
Integer typeId;
|
||||
@NotNull(message = "list不能为空")
|
||||
List<ThermalConfig> list;
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
package com.xydl.cac.service;
|
||||
|
||||
import com.xydl.cac.model.ThermalConfigModel;
|
||||
import com.xydl.cac.entity.ThermalConfig;
|
||||
|
||||
|
||||
public interface ThermalConfigService {
|
||||
|
||||
ThermalConfigModel getConfig();
|
||||
ThermalConfig getConfig();
|
||||
|
||||
void saveConfig(ThermalConfigModel model);
|
||||
void saveConfig(ThermalConfig model);
|
||||
}
|
||||
|
@ -0,0 +1,79 @@
|
||||
package com.xydl.cac.task;
|
||||
|
||||
import com.xydl.cac.entity.ModevType;
|
||||
import com.xydl.cac.entity.NSensor;
|
||||
import com.xydl.cac.entity.ThermalConfig;
|
||||
import com.xydl.cac.repository.NSensorRepository;
|
||||
import com.xydl.cac.service.ModevTypeService;
|
||||
import com.xydl.cac.service.ThermalConfigService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.PreDestroy;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class ClientThermalTask {
|
||||
|
||||
@Resource
|
||||
ThermalConfigService configService;
|
||||
@Resource
|
||||
ModevTypeService modevTypeService;
|
||||
@Resource
|
||||
NSensorRepository sensorRepository;
|
||||
@Resource
|
||||
AsyncTask asyncTask;
|
||||
|
||||
int shutdown = 0;
|
||||
|
||||
@PreDestroy
|
||||
private void preDestroy() {
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 * * * * ?")
|
||||
public void collectAll() {
|
||||
ThermalConfig config = configService.getConfig();
|
||||
if (config == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
int h = cal.get(Calendar.HOUR_OF_DAY);
|
||||
int m = cal.get(Calendar.MINUTE);
|
||||
m = h * 60 + m;
|
||||
|
||||
ModevType modevType = modevTypeService.detail(config.getTypeId());
|
||||
int intervals = 30;
|
||||
if (modevType.getIntervals() != null) {
|
||||
intervals = modevType.getIntervals();
|
||||
}
|
||||
int x = m % intervals;
|
||||
if (x == 0) {
|
||||
this.collectOneConfig(config, modevType);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("ClientThermalTask.collectAll error.", e);
|
||||
}
|
||||
}
|
||||
|
||||
private void collectOneConfig(ThermalConfig config, ModevType modevType) {
|
||||
if (shutdown == 1) {
|
||||
return;
|
||||
}
|
||||
List<NSensor> list = sensorRepository.findByTypeId(modevType.getId());
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
for (NSensor sensor : list) {
|
||||
sensor.setTableName(modevType.getTablename());
|
||||
asyncTask.collectSensor(sensor, config);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<dynamic-lib>
|
||||
<win64>
|
||||
<lib>avnetsdk</lib>
|
||||
<lib>dhconfigsdk</lib>
|
||||
<lib>dhnetsdk</lib>
|
||||
<lib>play</lib>
|
||||
<lib>RenderEngine</lib>
|
||||
<lib>ImageAlg</lib>
|
||||
<lib>Infra</lib>
|
||||
<lib>IvsDrawer</lib>
|
||||
<lib>StreamConvertor</lib>
|
||||
<lib>libeay32</lib>
|
||||
<lib>ssleay32</lib>
|
||||
</win64>
|
||||
<win32>
|
||||
<lib>avnetsdk</lib>
|
||||
<lib>dhconfigsdk</lib>
|
||||
<lib>dhnetsdk</lib>
|
||||
<lib>play</lib>
|
||||
<lib>RenderEngine</lib>
|
||||
<lib>Infra</lib>
|
||||
<lib>ImageAlg</lib>
|
||||
<lib>StreamConvertor</lib>
|
||||
<lib>libeay32</lib>
|
||||
<lib>ssleay32</lib>
|
||||
</win32>
|
||||
<linux64>
|
||||
<lib>avnetsdk</lib>
|
||||
<lib>dhnetsdk</lib>
|
||||
<lib>dhconfigsdk</lib>
|
||||
<lib>StreamConvertor</lib>
|
||||
<lib>ImageAlg</lib>
|
||||
<lib>crypto</lib>
|
||||
<lib>ssl</lib>
|
||||
</linux64>
|
||||
<linux32>
|
||||
<lib>avnetsdk</lib>
|
||||
<lib>dhconfigsdk</lib>
|
||||
<lib>dhnetsdk</lib>
|
||||
<lib>StreamConvertor</lib>
|
||||
<lib>crypto</lib>
|
||||
<lib>ssl</lib>
|
||||
</linux32>
|
||||
<mac64>
|
||||
<lib>avnetsdk</lib>
|
||||
<lib>dhnetsdk</lib>
|
||||
<lib>dhconfigsdk</lib>
|
||||
<lib>StreamConvertor</lib>
|
||||
</mac64>
|
||||
</dynamic-lib>
|
Loading…
Reference in New Issue