diff --git a/pom.xml b/pom.xml index cecd831..55f5b47 100644 --- a/pom.xml +++ b/pom.xml @@ -210,12 +210,6 @@ - - src/main/java - - **/* - - src/main/resources diff --git a/src/main/java/com/xydl/cac/controller/ThermalConfigController.java b/src/main/java/com/xydl/cac/controller/ThermalConfigController.java index ec5ee84..b154f93 100644 --- a/src/main/java/com/xydl/cac/controller/ThermalConfigController.java +++ b/src/main/java/com/xydl/cac/controller/ThermalConfigController.java @@ -1,7 +1,7 @@ package com.xydl.cac.controller; +import com.xydl.cac.entity.ThermalConfig; import com.xydl.cac.model.Response; -import com.xydl.cac.model.ThermalConfigModel; import com.xydl.cac.service.ThermalConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -22,14 +22,14 @@ public class ThermalConfigController extends BasicController { @GetMapping("getConfig") @ApiOperation("查询配置") - public Response getConfig() { - ThermalConfigModel result = configService.getConfig(); + public Response getConfig() { + ThermalConfig result = configService.getConfig(); return Response.success(result); } @PostMapping("saveConfig") @ApiOperation("修改配置") - public Response saveConfig(@Validated @RequestBody ThermalConfigModel model) throws Exception { + public Response saveConfig(@Validated @RequestBody ThermalConfig model) throws Exception { configService.saveConfig(model); return Response.success("OK"); } diff --git a/src/main/java/com/xydl/cac/entity/ThermalConfig.java b/src/main/java/com/xydl/cac/entity/ThermalConfig.java index 0be196d..55d7ce6 100644 --- a/src/main/java/com/xydl/cac/entity/ThermalConfig.java +++ b/src/main/java/com/xydl/cac/entity/ThermalConfig.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.*; +import javax.validation.constraints.NotNull; @JsonInclude(JsonInclude.Include.NON_NULL) @Data @@ -25,6 +26,7 @@ public class ThermalConfig { @Column(name = "id") private Integer id; + @NotNull(message = "typeId不能为空") @Column(name = "type_id") @ApiModelProperty("类型Id") private Integer typeId; diff --git a/src/main/java/com/xydl/cac/model/ThermalConfigModel.java b/src/main/java/com/xydl/cac/model/ThermalConfigModel.java deleted file mode 100644 index f6d0b8d..0000000 --- a/src/main/java/com/xydl/cac/model/ThermalConfigModel.java +++ /dev/null @@ -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 list; -} diff --git a/src/main/java/com/xydl/cac/service/ThermalConfigService.java b/src/main/java/com/xydl/cac/service/ThermalConfigService.java index 21ec816..b2f6a08 100644 --- a/src/main/java/com/xydl/cac/service/ThermalConfigService.java +++ b/src/main/java/com/xydl/cac/service/ThermalConfigService.java @@ -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); } diff --git a/src/main/java/com/xydl/cac/service/impl/ThermalConfigServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ThermalConfigServiceImpl.java index 200f334..63678b4 100644 --- a/src/main/java/com/xydl/cac/service/impl/ThermalConfigServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ThermalConfigServiceImpl.java @@ -1,7 +1,6 @@ package com.xydl.cac.service.impl; import com.xydl.cac.entity.ThermalConfig; -import com.xydl.cac.model.ThermalConfigModel; import com.xydl.cac.repository.ThermalConfigRepository; import com.xydl.cac.service.ThermalConfigService; import lombok.extern.slf4j.Slf4j; @@ -21,23 +20,19 @@ public class ThermalConfigServiceImpl implements ThermalConfigService { ThermalConfigRepository repository; @Override - public ThermalConfigModel getConfig() { - ThermalConfigModel model = new ThermalConfigModel(); + public ThermalConfig getConfig() { + ThermalConfig result = null; List list = repository.findAll(); if (!CollectionUtils.isEmpty(list)) { - model.setTypeId(list.get(0).getTypeId()); - model.setList(list); + result = list.get(0); } - return model; + return result; } @Override - public void saveConfig(ThermalConfigModel model) { + public void saveConfig(ThermalConfig model) { repository.deleteAll(); - for (ThermalConfig item : model.getList()) { - item.setId(null); - item.setTypeId(model.getTypeId()); - repository.save(item); - } + model.setId(null); + repository.save(model); } } diff --git a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java index 229c5af..c87b1ad 100644 --- a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java @@ -133,7 +133,7 @@ public class ZsbServiceImpl implements ZsbService { public Zsb detail(Integer id) throws Exception { Optional optional = repository.findById(id); if (!optional.isPresent()) { - throw new BusinessException("未找到该主设备"); + throw new BusinessException("未找到该主设备id=" + id); } Zsb zsb = optional.get(); Jg jg = jgService.detail(zsb.getJgid()); diff --git a/src/main/java/com/xydl/cac/task/AsyncTask.java b/src/main/java/com/xydl/cac/task/AsyncTask.java index 7b84757..e9ac3df 100644 --- a/src/main/java/com/xydl/cac/task/AsyncTask.java +++ b/src/main/java/com/xydl/cac/task/AsyncTask.java @@ -1,9 +1,7 @@ package com.xydl.cac.task; import com.xydl.cac.config.BizConfig; -import com.xydl.cac.entity.IcdIed; -import com.xydl.cac.entity.IedDlConfig; -import com.xydl.cac.entity.Rptparamindex; +import com.xydl.cac.entity.*; import com.xydl.cac.iec.IEDCollectService; import com.xydl.cac.repository.*; import com.xydl.cac.service.DataService; @@ -52,4 +50,9 @@ public class AsyncTask { warningRepository, spectrogramHandler); iedService.collectAndSave(rptList, dlList); } + + @Async + public void collectSensor(NSensor sensor, ThermalConfig config) { + + } } diff --git a/src/main/java/com/xydl/cac/task/ClientThermalTask.java b/src/main/java/com/xydl/cac/task/ClientThermalTask.java new file mode 100644 index 0000000..f361fc6 --- /dev/null +++ b/src/main/java/com/xydl/cac/task/ClientThermalTask.java @@ -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 list = sensorRepository.findByTypeId(modevType.getId()); + if (CollectionUtils.isEmpty(list)) { + return; + } + for (NSensor sensor : list) { + sensor.setTableName(modevType.getTablename()); + asyncTask.collectSensor(sensor, config); + } + } +} diff --git a/src/main/resources/dynamic-lib-load.xml b/src/main/resources/dynamic-lib-load.xml new file mode 100644 index 0000000..86434a4 --- /dev/null +++ b/src/main/resources/dynamic-lib-load.xml @@ -0,0 +1,51 @@ + + + + avnetsdk + dhconfigsdk + dhnetsdk + play + RenderEngine + ImageAlg + Infra + IvsDrawer + StreamConvertor + libeay32 + ssleay32 + + + avnetsdk + dhconfigsdk + dhnetsdk + play + RenderEngine + Infra + ImageAlg + StreamConvertor + libeay32 + ssleay32 + + + avnetsdk + dhnetsdk + dhconfigsdk + StreamConvertor + ImageAlg + crypto + ssl + + + avnetsdk + dhconfigsdk + dhnetsdk + StreamConvertor + crypto + ssl + + + avnetsdk + dhnetsdk + dhconfigsdk + StreamConvertor + + \ No newline at end of file