From 2dd2e7f54db7149965acaa11d933f85b31fbd59c Mon Sep 17 00:00:00 2001 From: huangzhen <867217663@qq.com> Date: 星期二, 19 十二月 2023 16:54:00 +0800 Subject: [PATCH] 解决验收过程中出现的问题 --- src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java | 234 +++++++------- src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/MyWebMvcConfigurerAdapter.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationWebsocketServer.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/GasWarnTimesCountEnum.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java | 33 + src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/query/WindRoseTimeSlotQuery.java | 22 + src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/WindRoseByTimeRespDTO.java | 26 + src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasWarnLogService.java | 3 src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/HeartbeatExcWebsocketServer.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/TokenCheckWhiteListEnum.java | 1 src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/DataReceiveController.java | 24 + src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasConcentrationRepository.java | 4 src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/WindRoseByTimeReqDTO.java | 14 src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasWarnLogController.java | 7 src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java | 402 ++++++++++++------------ src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasFluxWebsocketServer.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/UploadGasFluxReqDTO.java | 66 ++++ src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationExcWebsocketServer.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasDeviceExcWebsocketServer.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/HeartbeatSchedule.java | 2 src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/WindRoseEnum.java | 72 ++++ 21 files changed, 596 insertions(+), 328 deletions(-) diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/MyWebMvcConfigurerAdapter.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/MyWebMvcConfigurerAdapter.java index 24c12cc..aa2798d 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/MyWebMvcConfigurerAdapter.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/MyWebMvcConfigurerAdapter.java @@ -20,7 +20,7 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/uploadtest/**").addResourceLocations("file:E:\\file\\fourier\\test\\"); //registry.addResourceHandler("/upload/**").addResourceLocations("file:/home/upload/laboratoryRiskManage/"); - registry.addResourceHandler("/upload/**").addResourceLocations("file:/home/gkhy/upload/fourier/"); + registry.addResourceHandler("/upload/**").addResourceLocations("file:/home/gkhy/upload/fourierSpecialgasMonitor/"); super.addResourceHandlers(registry); } } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/TokenCheckWhiteListEnum.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/TokenCheckWhiteListEnum.java index f24c99c..28dbb8a 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/TokenCheckWhiteListEnum.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/config/authorization/TokenCheckWhiteListEnum.java @@ -12,6 +12,7 @@ PATH_LICENSE("/sys/lic/**","授权证书查看",true), PATH_ACCOUNT_AUTH("/account/auth/**","用户认证",true), PATH_WEBSOCKET("/ws/**","websocket相关接口",true), + PATH_DAILY_REPORT("/upload/**","日报获取接口",true), /*PATH_TEST_ACCOUNT("/account/user/**","账号测试接口",true), //basic部分测试接口 PATH_TEST_BASIC("/basic/**","账号测试接口",true), diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/DataReceiveController.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/DataReceiveController.java index 5bf0ae9..883a378 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/DataReceiveController.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/DataReceiveController.java @@ -6,8 +6,17 @@ import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO; import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService; +import org.redisson.api.RBucket; +import org.redisson.api.RedissonClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; /** * @author Mr.huang @@ -20,6 +29,18 @@ @Autowired private DataReceiveService dataReceiveService; + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + //@PostConstruct + //private void clearGasConcentrationCache(){ + // LocalDateTime time = LocalDateTime.now(); + // String cacheName = time.format(formatter); + // //清除redis缓存 + // RBucket<Object> bucket = redissonClient.getBucket(gasConcentrationCachePrefix+cacheName); + // if (bucket.isExists()) { + // bucket.delete(); + // } + //} @PostMapping("/upload/gasConcentration") public ForeignResult uploadGasConcentration(@RequestBody UploadGasConcentrationReqDTO reqDto){ @@ -29,7 +50,8 @@ @PostMapping("/upload/gasFlux") public ForeignResult uploadGasFlux(@RequestBody UploadGasFluxReqDTO reqDto){ - ForeignResult result = dataReceiveService.uploadGasFlux(reqDto); + UploadGasFluxReqDTO uploadGasFluxReqDTO = reqDto.expansionFactor(); + ForeignResult result = dataReceiveService.uploadGasFlux(uploadGasFluxReqDTO); return result; } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasWarnLogController.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasWarnLogController.java index c426134..0b039ef 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasWarnLogController.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasWarnLogController.java @@ -7,6 +7,7 @@ import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogCountByTimeReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogInfoReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.HandleGasWarnLogReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.WindRoseByTimeReqDTO; import com.gkhy.fourierSpecialGasMonitor.service.GasWarnLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -46,4 +47,10 @@ Result result = gasWarnLogService.gasWarnLogInfoByTime(gasWarnLogInfoReqDTO); return result; } + + @PostMapping("/gasWindRoseByTime") + public Result gasWindRoseByTime(@RequestBody WindRoseByTimeReqDTO reqDTO){ + Result result = gasWarnLogService.gasWindRoseByTime(reqDTO); + return result; + } } \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/query/WindRoseTimeSlotQuery.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/query/WindRoseTimeSlotQuery.java new file mode 100644 index 0000000..187186b --- /dev/null +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/query/WindRoseTimeSlotQuery.java @@ -0,0 +1,22 @@ +package com.gkhy.fourierSpecialGasMonitor.entity.query; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * @author Mr.huang + * @decription + * @date 2023/9/2 23:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class WindRoseTimeSlotQuery { + + private LocalDateTime startTime; + + private LocalDateTime endTime; +} \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/UploadGasFluxReqDTO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/UploadGasFluxReqDTO.java index 3e2499f..ad3afe8 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/UploadGasFluxReqDTO.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/UploadGasFluxReqDTO.java @@ -1,8 +1,10 @@ package com.gkhy.fourierSpecialGasMonitor.entity.req; +import com.gkhy.fourierSpecialGasMonitor.enums.WarningThresholdEnum; import lombok.Data; import javax.persistence.*; +import java.lang.reflect.Field; import java.time.LocalDateTime; @@ -61,4 +63,68 @@ private Double gasValue19; private int gasName20; private Double gasValue20; + + public UploadGasFluxReqDTO expansionFactor(){ + if (gasValue01 != null) { + gasValue01 = Math.round(gasValue01 * 3600 * 100.0) / 100.0; + } + if (gasValue02 != null) { + gasValue02 = Math.round(gasValue02 * 3600 * 100.0) / 100.0; + } + if (gasValue03 != null) { + gasValue03 = Math.round(gasValue03 * 3.6 * 100.0) / 100.0; + } + if (gasValue04 != null) { + gasValue04 = Math.round(gasValue04 * 3600 * 100.0) / 100.0; + } + if (gasValue05 != null) { + gasValue05 = Math.round(gasValue05 * 3600 * 100.0) / 100.0; + } + if (gasValue06 != null) { + gasValue06 = Math.round(gasValue06 * 3600 * 100.0) / 100.0; + } + if (gasValue07 != null) { + gasValue07 = Math.round(gasValue07 * 3600 * 100.0) / 100.0; + } + if (gasValue08 != null) { + gasValue08 = Math.round(gasValue08 * 3600 * 100.0) / 100.0; + } + if (gasValue09 != null) { + gasValue09 = Math.round(gasValue09 * 3600 * 100.0) / 100.0; + } + if (gasValue10 != null) { + gasValue10 = Math.round(gasValue10 * 3600 * 100.0) / 100.0; + } + if (gasValue11 != null) { + gasValue11 = Math.round(gasValue11 * 3600 * 100.0) / 100.0; + } + if (gasValue12 != null) { + gasValue12 = Math.round(gasValue12 * 3600 * 100.0) / 100.0; + } + if (gasValue13 != null) { + gasValue13 = Math.round(gasValue13 * 3600 * 100.0) / 100.0; + } + if (gasValue14 != null) { + gasValue14 = Math.round(gasValue14 * 3600 * 100.0) / 100.0; + } + if (gasValue15 != null) { + gasValue15 = Math.round(gasValue15 * 3600 * 100.0) / 100.0; + } + if (gasValue16 != null) { + gasValue16 = Math.round(gasValue16 * 3600 * 100.0) / 100.0; + } + if (gasValue17 != null) { + gasValue17 = Math.round(gasValue17 * 3600 * 100.0) / 100.0; + } + if (gasValue18 != null) { + gasValue18 = Math.round(gasValue18 * 3600 * 100.0) / 100.0; + } + if (gasValue19 != null) { + gasValue19 = Math.round(gasValue19 * 3600 * 100.0) / 100.0; + } + if (gasValue20 != null) { + gasValue20 = Math.round(gasValue20 * 3600 * 100.0) / 100.0; + } + return this; + } } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/WindRoseByTimeReqDTO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/WindRoseByTimeReqDTO.java new file mode 100644 index 0000000..d6c7264 --- /dev/null +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/WindRoseByTimeReqDTO.java @@ -0,0 +1,14 @@ +package com.gkhy.fourierSpecialGasMonitor.entity.req; + +import lombok.Data; + +/** + * @author Mr.huang + * @decription + * @date 2023/9/1 9:36 + */ +@Data +public class WindRoseByTimeReqDTO { + + private Integer countTime; +} \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/WindRoseByTimeRespDTO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/WindRoseByTimeRespDTO.java new file mode 100644 index 0000000..b1ceaaa --- /dev/null +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/WindRoseByTimeRespDTO.java @@ -0,0 +1,26 @@ +package com.gkhy.fourierSpecialGasMonitor.entity.resp; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author Mr.huang + * @decription + * @date 2023/9/1 10:01 + */ +@Data +public class WindRoseByTimeRespDTO implements Serializable { + + private Long id; + + private String equipmentId; + + private LocalDateTime dataReceivingTime; + + private Double windSpeed; + + private int windDirection; + +} \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/GasWarnTimesCountEnum.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/GasWarnTimesCountEnum.java index b719caa..02402d4 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/GasWarnTimesCountEnum.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/GasWarnTimesCountEnum.java @@ -13,7 +13,7 @@ * @date 2023/9/2 23:31 */ @Getter -public enum GasWarnTimesCountEnum { +public enum GasWarnTimesCountEnum { TODAY(1,"今天"){ @Override diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/WindRoseEnum.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/WindRoseEnum.java new file mode 100644 index 0000000..6cb971d --- /dev/null +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/enums/WindRoseEnum.java @@ -0,0 +1,72 @@ + package com.gkhy.fourierSpecialGasMonitor.enums; + +import com.gkhy.fourierSpecialGasMonitor.entity.query.GasWarnTimesCountTimeSlotQuery; +import com.gkhy.fourierSpecialGasMonitor.entity.query.WindRoseTimeSlotQuery; +import lombok.Getter; + +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.temporal.TemporalAdjusters; + +/** + * @author Mr.huang + * @decription + * @date 2023/9/2 23:31 + */ +@Getter +public enum WindRoseEnum { + + ONE_HOUR(1,"1小时"){ + @Override + public WindRoseTimeSlotQuery getTimeSlotByStrategy() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = now.minusHours(1); + return new WindRoseTimeSlotQuery(startTime,now); + } + }, + SIX_HOURS(2,"6小时"){ + @Override + public WindRoseTimeSlotQuery getTimeSlotByStrategy() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = now.minusHours(6); + return new WindRoseTimeSlotQuery(startTime,now); + } + }, + IN_12_HOURS(3,"12小时"){ + @Override + public WindRoseTimeSlotQuery getTimeSlotByStrategy() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = now.minusHours(12); + return new WindRoseTimeSlotQuery(startTime,now); + } + }, + IN_24_HOURS(4,"24小时"){ + @Override + public WindRoseTimeSlotQuery getTimeSlotByStrategy() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = now.minusHours(24); + return new WindRoseTimeSlotQuery(startTime,now); + } + }; + + private Integer state; + private String description; + + WindRoseEnum(int state, String description) { + this.state = state; + this.description = description; + } + + + public static WindRoseEnum getQueryObject(Integer key){ + for (WindRoseEnum value : WindRoseEnum.values()) { + if (value.state.equals(key)){ + return value; + } + } + return ONE_HOUR; + } + + public abstract WindRoseTimeSlotQuery getTimeSlotByStrategy(); + +} diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasConcentrationRepository.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasConcentrationRepository.java index 58ac639..a90d38e 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasConcentrationRepository.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasConcentrationRepository.java @@ -8,10 +8,14 @@ import org.springframework.stereotype.Repository; import javax.persistence.OrderBy; +import java.time.LocalDateTime; +import java.util.List; @Repository public interface GasConcentrationRepository extends JpaRepository<GasConcentration,Long>, JpaSpecificationExecutor<GasConcentration> { @OrderBy("dataReceivingTime desc") GasConcentration findTopByOrderByDataReceivingTimeDesc(); + + List<GasConcentration> findAllByDataReceivingTimeBetweenOrderByDataReceivingTimeDesc(LocalDateTime startTime, LocalDateTime endTime); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/HeartbeatSchedule.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/HeartbeatSchedule.java index a8eafe3..c067a09 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/HeartbeatSchedule.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/HeartbeatSchedule.java @@ -25,7 +25,7 @@ * @decription * @date 2023/8/8 10:49 */ -@Component +//@Component public class HeartbeatSchedule { @Autowired diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java index 3f1dc4d..1b722da 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java @@ -1,199 +1,203 @@ -//package com.gkhy.fourierSpecialGasMonitor.schedule; -// -//import com.gkhy.fourierSpecialGasMonitor.entity.req.DeviceMonitorReqDTO; -//import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO; -//import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO; -//import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.scheduling.annotation.Async; -//import org.springframework.scheduling.annotation.Scheduled; -//import org.springframework.stereotype.Component; -// -//import javax.annotation.PostConstruct; -//import java.text.DecimalFormat; -//import java.time.LocalDateTime; -//import java.time.format.DateTimeFormatter; -//import java.util.ArrayList; -//import java.util.List; -//import java.util.Random; -//import java.util.concurrent.TimeUnit; -// -///** -// * @author Mr.huang -// * @decription -// * @date 2023/8/22 13:49 -// */ -//@Component -//public class TestSchedule { -// -// private final Logger logger = LoggerFactory.getLogger(this.getClass()); -// -// @Autowired -// private DataReceiveService dataReceiveService; -// -// private static final DateTimeFormatter execformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); -// -// -// @Scheduled(cron = "1 * * * * ?") -// @Async(value = "SocketTaskExecutor") -// public void testDeviceMonitor() { -// logger.info("【硬件设备一分钟一次推送测试】:" + LocalDateTime.now().format(execformatter)); -// DeviceMonitorReqDTO deviceMonitorReqDTO = new DeviceMonitorReqDTO(); -// deviceMonitorReqDTO.setTime(LocalDateTime.now()); -// deviceMonitorReqDTO.setConState(0); -// deviceMonitorReqDTO.setFluxState(0); -// List<Integer> list = new ArrayList<>(); -// list.add(0); -// deviceMonitorReqDTO.setHardwareState(list); -// dataReceiveService.deviceMonitor(deviceMonitorReqDTO); -// } -// -// -// @Scheduled(cron = "0/30 * * * * ?") -// @Async(value = "SocketTaskExecutor") -// public void testGasConcentration() { -// logger.info("【气体实时浓度推送测试】:"+LocalDateTime.now().format(execformatter)); -// Random random = new Random(); -// double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 -// DecimalFormat decimalFormat = new DecimalFormat("0.0"); -// String formattedDouble = decimalFormat.format(randomDouble); -// double result = Double.parseDouble(formattedDouble); -// UploadGasConcentrationReqDTO dto = new UploadGasConcentrationReqDTO(); -// dto.setEquipmentId("No-123456"); -// dto.setTime(LocalDateTime.now()); -// dto.setType(1); -// dto.setLng("东经43"); -// dto.setLat("北纬53"); -// dto.setAngle("60"); -// dto.setTemp(26.9); -// dto.setHumidity(63.3); -// dto.setWindSpeed(12.3); -// dto.setWindDirection(56); -// dto.setPressure(200.0); -// dto.setGasName01(1); -// dto.setGasValue01(result); -// dto.setGasName02(2); -// dto.setGasValue02(result); -// dto.setGasName03(3); -// dto.setGasValue03(result); -// dto.setGasName04(4); -// dto.setGasValue04(result); -// dto.setGasName05(5); -// dto.setGasValue05(result); -// dto.setGasName06(6); -// dto.setGasValue06(result); -// dto.setGasName07(7); -// dto.setGasValue07(result); -// dto.setGasName08(8); -// dto.setGasValue08(result); -// dto.setGasName09(9); -// dto.setGasValue09(result); -// dto.setGasName10(10); -// dto.setGasValue10(result); -// dto.setGasName11(11); -// dto.setGasValue11(result); -// dto.setGasName12(12); -// dto.setGasValue12(result); -// dto.setGasName13(13); -// dto.setGasValue13(result); -// dto.setGasName14(14); -// dto.setGasValue14(result); -// dto.setGasName15(15); -// dto.setGasValue15(result); -// dto.setGasName16(16); -// dto.setGasValue16(result); -// dto.setGasName17(17); -// dto.setGasValue17(result); -// dto.setGasName18(18); -// dto.setGasValue18(result); -// dto.setGasName19(19); -// dto.setGasValue19(result); -// dto.setGasName20(20); -// dto.setGasValue20(result); -// dto.setGasName21(21); -// dto.setGasValue21(result); -// dto.setGasName22(22); -// dto.setGasValue22(result); -// dto.setGasName23(23); -// dto.setGasValue23(result); -// dto.setGasName24(24); -// dto.setGasValue24(result); -// dto.setGasName25(25); -// dto.setGasValue25(result); -// dto.setGasName26(26); -// dto.setGasValue26(result); -// dto.setGasName27(27); -// dto.setGasValue27(result); -// dto.setGasName28(28); -// dto.setGasValue28(result); -// dto.setGasName29(29); -// dto.setGasValue29(result); -// dto.setGasName30(30); -// dto.setGasValue30(result); -// dataReceiveService.uploadGasConcentration(dto); -// } -// -// @Scheduled(cron = "0 0/15 * * * ?") -// @Async(value = "SocketTaskExecutor") -// public void testGasFlux() { -// logger.info("【气体通量推送测试】:"+LocalDateTime.now().format(execformatter)); -// for (int i = 1; i <= 8 ; i++) { -// Random random = new Random(); -// double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 -// DecimalFormat decimalFormat = new DecimalFormat("0.0"); -// String formattedDouble = decimalFormat.format(randomDouble); -// double result = Double.parseDouble(formattedDouble); -// UploadGasFluxReqDTO dto = new UploadGasFluxReqDTO(); -// dto.setEquipmentId("No-123456"); -// dto.setTime(LocalDateTime.now()); -// dto.setAreaId(i); -// dto.setType(1); -// dto.setWindSpeed(12.3); -// dto.setWindDirection(56); -// dto.setGasName01(1); -// dto.setGasValue01(result); -// dto.setGasName02(2); -// dto.setGasValue02(result); -// dto.setGasName03(3); -// dto.setGasValue03(result); -// dto.setGasName04(4); -// dto.setGasValue04(result); -// dto.setGasName05(5); -// dto.setGasValue05(result); -// dto.setGasName06(6); -// dto.setGasValue06(result); -// dto.setGasName07(7); -// dto.setGasValue07(result); -// dto.setGasName08(8); -// dto.setGasValue08(result); -// dto.setGasName09(9); -// dto.setGasValue09(result); -// dto.setGasName10(10); -// dto.setGasValue10(result); -// dto.setGasName11(11); -// dto.setGasValue11(result); -// dto.setGasName12(12); -// dto.setGasValue12(result); -// dto.setGasName13(13); -// dto.setGasValue13(result); -// dto.setGasName14(14); -// dto.setGasValue14(result); -// dto.setGasName15(15); -// dto.setGasValue15(result); -// dto.setGasName16(16); -// dto.setGasValue16(result); -// dto.setGasName17(17); -// dto.setGasValue17(result); -// dto.setGasName18(18); -// dto.setGasValue18(result); -// dto.setGasName19(19); -// dto.setGasValue19(result); -// dto.setGasName20(20); -// dto.setGasValue20(result); -// dataReceiveService.uploadGasFlux(dto); -// } -// -// } -//} \ No newline at end of file +package com.gkhy.fourierSpecialGasMonitor.schedule; + +import com.gkhy.fourierSpecialGasMonitor.controller.DataReceiveController; +import com.gkhy.fourierSpecialGasMonitor.entity.req.DeviceMonitorReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO; +import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.text.DecimalFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.concurrent.TimeUnit; + +/** + * @author Mr.huang + * @decription + * @date 2023/8/22 13:49 + */ +@Component +public class TestSchedule { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private DataReceiveService dataReceiveService; + + private static final DateTimeFormatter execformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + + //@Scheduled(cron = "1 * * * * ?") + //@Async(value = "SocketTaskExecutor") + //public void testDeviceMonitor() { + // logger.info("【硬件设备一分钟一次推送测试】:" + LocalDateTime.now().format(execformatter)); + // DeviceMonitorReqDTO deviceMonitorReqDTO = new DeviceMonitorReqDTO(); + // deviceMonitorReqDTO.setTime(LocalDateTime.now()); + // deviceMonitorReqDTO.setConState(0); + // deviceMonitorReqDTO.setFluxState(0); + // List<Integer> list = new ArrayList<>(); + // list.add(0); + // deviceMonitorReqDTO.setHardwareState(list); + // dataReceiveService.deviceMonitor(deviceMonitorReqDTO); + //} + + + //@Scheduled(cron = "0/30 * * * * ?") + //@Async(value = "SocketTaskExecutor") + //public void testGasConcentration() { + // logger.info("【气体实时浓度推送测试】:"+LocalDateTime.now().format(execformatter)); + // Random random = new Random(); + // double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 + // DecimalFormat decimalFormat = new DecimalFormat("0.0"); + // String formattedDouble = decimalFormat.format(randomDouble); + // double result = Double.parseDouble(formattedDouble); + // UploadGasConcentrationReqDTO dto = new UploadGasConcentrationReqDTO(); + // dto.setEquipmentId("No-123456"); + // dto.setTime(LocalDateTime.now()); + // dto.setType(1); + // dto.setLng("东经43"); + // dto.setLat("北纬53"); + // dto.setAngle("60"); + // dto.setTemp(26.9); + // dto.setHumidity(63.3); + // dto.setWindSpeed(12.3); + // dto.setWindDirection(56); + // dto.setPressure(200.0); + // dto.setGasName01(1); + // dto.setGasValue01(result); + // dto.setGasName02(2); + // dto.setGasValue02(result); + // dto.setGasName03(3); + // dto.setGasValue03(result); + // dto.setGasName04(4); + // dto.setGasValue04(result); + // dto.setGasName05(5); + // dto.setGasValue05(result); + // dto.setGasName06(6); + // dto.setGasValue06(result); + // dto.setGasName07(7); + // dto.setGasValue07(result); + // dto.setGasName08(8); + // dto.setGasValue08(result); + // dto.setGasName09(9); + // dto.setGasValue09(result); + // dto.setGasName10(10); + // dto.setGasValue10(result); + // dto.setGasName11(11); + // dto.setGasValue11(result); + // dto.setGasName12(12); + // dto.setGasValue12(result); + // dto.setGasName13(13); + // dto.setGasValue13(result); + // dto.setGasName14(14); + // dto.setGasValue14(result); + // dto.setGasName15(15); + // dto.setGasValue15(result); + // dto.setGasName16(16); + // dto.setGasValue16(result); + // dto.setGasName17(17); + // dto.setGasValue17(result); + // dto.setGasName18(18); + // dto.setGasValue18(result); + // dto.setGasName19(19); + // dto.setGasValue19(result); + // dto.setGasName20(20); + // dto.setGasValue20(result); + // dto.setGasName21(21); + // dto.setGasValue21(result); + // dto.setGasName22(22); + // dto.setGasValue22(result); + // dto.setGasName23(23); + // dto.setGasValue23(result); + // dto.setGasName24(24); + // dto.setGasValue24(result); + // dto.setGasName25(25); + // dto.setGasValue25(result); + // dto.setGasName26(26); + // dto.setGasValue26(result); + // dto.setGasName27(27); + // dto.setGasValue27(result); + // dto.setGasName28(28); + // dto.setGasValue28(result); + // dto.setGasName29(29); + // dto.setGasValue29(result); + // dto.setGasName30(30); + // dto.setGasValue30(result); + // dataReceiveService.uploadGasConcentration(dto); + //} + + @Autowired + private DataReceiveController dataReceiveController; + + @Scheduled(cron = "0/30 * * * * ?") + //@Scheduled(cron = "0 0/15 * * * ?") + @Async(value = "SocketTaskExecutor") + public void testGasFlux() { + logger.info("【气体通量推送测试】:"+LocalDateTime.now().format(execformatter)); + for (int i = 1; i <= 6 ; i++) { + Random random = new Random(); + double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 + DecimalFormat decimalFormat = new DecimalFormat("0.0"); + String formattedDouble = decimalFormat.format(randomDouble); + double result = Double.parseDouble(formattedDouble); + UploadGasFluxReqDTO dto = new UploadGasFluxReqDTO(); + dto.setEquipmentId("No-123456"); + dto.setTime(LocalDateTime.now()); + dto.setAreaId(i); + dto.setType(1); + dto.setWindSpeed(12.3); + dto.setWindDirection(56); + dto.setGasName01(1); + dto.setGasValue01(result); + dto.setGasName02(2); + dto.setGasValue02(result); + dto.setGasName03(3); + dto.setGasValue03(result); + dto.setGasName04(4); + dto.setGasValue04(result); + dto.setGasName05(5); + dto.setGasValue05(result); + dto.setGasName06(6); + dto.setGasValue06(result); + dto.setGasName07(7); + dto.setGasValue07(result); + dto.setGasName08(8); + dto.setGasValue08(result); + dto.setGasName09(9); + dto.setGasValue09(result); + dto.setGasName10(10); + dto.setGasValue10(result); + dto.setGasName11(11); + dto.setGasValue11(result); + dto.setGasName12(12); + dto.setGasValue12(result); + dto.setGasName13(13); + dto.setGasValue13(result); + dto.setGasName14(14); + dto.setGasValue14(result); + dto.setGasName15(15); + dto.setGasValue15(result); + dto.setGasName16(16); + dto.setGasValue16(result); + dto.setGasName17(17); + dto.setGasValue17(result); + dto.setGasName18(18); + dto.setGasValue18(result); + dto.setGasName19(19); + dto.setGasValue19(result); + dto.setGasName20(20); + dto.setGasValue20(result); + dataReceiveController.uploadGasFlux(dto); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasWarnLogService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasWarnLogService.java index b2361c1..11226a5 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasWarnLogService.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasWarnLogService.java @@ -7,6 +7,7 @@ import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogCountByTimeReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogInfoReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.HandleGasWarnLogReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.WindRoseByTimeReqDTO; import java.util.List; @@ -28,4 +29,6 @@ Result gasWarnLogInfoByTime(GasWarnLogInfoReqDTO gasWarnLogInfoReqDTO); + Result gasWindRoseByTime(WindRoseByTimeReqDTO reqDTO); + } \ No newline at end of file diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java index 2cc0b35..6890cd6 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java @@ -157,7 +157,7 @@ @Override public ForeignResult uploadGasFlux(UploadGasFluxReqDTO reqDto) { - gasFluxParameterVerification(reqDto); + //gasFluxParameterVerification(reqDto); GasFlux gasFlux = new GasFlux(); BeanUtils.copyProperties(reqDto,gasFlux); gasFlux.setDataReceivingTime(LocalDateTime.now()); @@ -240,7 +240,7 @@ @Override @Transactional public ForeignResult uploadGasConcentration(UploadGasConcentrationReqDTO reqDto) { - gasConcentrationParameterVerification(reqDto); + //gasConcentrationParameterVerification(reqDto); GasConcentration gasConcentration = new GasConcentration(); BeanUtils.copyProperties(reqDto,gasConcentration); gasConcentration.setDataReceivingTime(LocalDateTime.now()); @@ -283,20 +283,22 @@ } catch (IllegalAccessException e) { logger.info("【警告】反射获取气体浓度失败"); } - if (value > threshold.get(i)) { - Integer integer = gasExcCountMap.get(i); - Integer count= integer + 1; - gasExcCountMap.put(i,count); - if (yellowWarningThreshold.equals(count)) { - warnLogGenerateAndExecPush(WarningThresholdEnum.YELLOW.getCode(), gasCategory.get(i),value); - } - if (redWarningThreshold.equals(count)) { - warnLogGenerateAndExecPush(WarningThresholdEnum.RED.getCode(), gasCategory.get(i),value); - } - } else { - Integer integer = gasExcCountMap.get(i); - if (integer != null) { - gasExcCountMap.put(i,0); + if (value != null) { + if (value > threshold.get(i)) { + Integer integer = gasExcCountMap.get(i); + Integer count = integer + 1; + gasExcCountMap.put(i, count); + if (yellowWarningThreshold.equals(count)) { + warnLogGenerateAndExecPush(WarningThresholdEnum.YELLOW.getCode(), gasCategory.get(i), value); + } + if (redWarningThreshold.equals(count)) { + warnLogGenerateAndExecPush(WarningThresholdEnum.RED.getCode(), gasCategory.get(i), value); + } + } else { + Integer integer = gasExcCountMap.get(i); + if (integer != null) { + gasExcCountMap.put(i, 0); + } } } } @@ -415,66 +417,66 @@ throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"实时风向数据为空"); if (reqDto.getPressure() == null) throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"实时气压数据为空"); - if (reqDto.getGasName01() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类01编号异常"); - if (reqDto.getGasName02() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类02编号异常"); - if (reqDto.getGasName03() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类03编号异常"); - if (reqDto.getGasName04() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类04编号异常"); - if (reqDto.getGasName05() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类05编号异常"); - if (reqDto.getGasName06() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类06编号异常"); - if (reqDto.getGasName07() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类07编号异常"); - if (reqDto.getGasName08() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类08编号异常"); - if (reqDto.getGasName09() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类09编号异常"); - if (reqDto.getGasName10() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类10编号异常"); - if (reqDto.getGasName11() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类11编号异常"); - if (reqDto.getGasName12() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类12编号异常"); - if (reqDto.getGasName13() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类13编号异常"); - if (reqDto.getGasName14() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类14编号异常"); - if (reqDto.getGasName15() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类15编号异常"); - if (reqDto.getGasName16() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类16编号异常"); - if (reqDto.getGasName17() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类17编号异常"); - if (reqDto.getGasName18() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类18编号异常"); - if (reqDto.getGasName19() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类19编号异常"); - if (reqDto.getGasName20() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类20编号异常"); - if (reqDto.getGasName21() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类21编号异常"); - if (reqDto.getGasName22() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类22编号异常"); - if (reqDto.getGasName23() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类23编号异常"); - if (reqDto.getGasName24() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类24编号异常"); - if (reqDto.getGasName25() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类25编号异常"); - if (reqDto.getGasName26() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类26编号异常"); - if (reqDto.getGasName27() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类27编号异常"); - if (reqDto.getGasName28() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类28编号异常"); - if (reqDto.getGasName29() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类29编号异常"); - if (reqDto.getGasName30() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类30编号异常"); + //if (reqDto.getGasName01() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类01编号异常"); + //if (reqDto.getGasName02() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类02编号异常"); + //if (reqDto.getGasName03() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类03编号异常"); + //if (reqDto.getGasName04() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类04编号异常"); + //if (reqDto.getGasName05() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类05编号异常"); + //if (reqDto.getGasName06() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类06编号异常"); + //if (reqDto.getGasName07() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类07编号异常"); + //if (reqDto.getGasName08() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类08编号异常"); + //if (reqDto.getGasName09() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类09编号异常"); + //if (reqDto.getGasName10() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类10编号异常"); + //if (reqDto.getGasName11() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类11编号异常"); + //if (reqDto.getGasName12() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类12编号异常"); + //if (reqDto.getGasName13() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类13编号异常"); + //if (reqDto.getGasName14() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类14编号异常"); + //if (reqDto.getGasName15() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类15编号异常"); + //if (reqDto.getGasName16() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类16编号异常"); + //if (reqDto.getGasName17() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类17编号异常"); + //if (reqDto.getGasName18() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类18编号异常"); + //if (reqDto.getGasName19() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类19编号异常"); + //if (reqDto.getGasName20() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类20编号异常"); + //if (reqDto.getGasName21() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类21编号异常"); + //if (reqDto.getGasName22() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类22编号异常"); + //if (reqDto.getGasName23() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类23编号异常"); + //if (reqDto.getGasName24() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类24编号异常"); + //if (reqDto.getGasName25() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类25编号异常"); + //if (reqDto.getGasName26() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类26编号异常"); + //if (reqDto.getGasName27() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类27编号异常"); + //if (reqDto.getGasName28() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类28编号异常"); + //if (reqDto.getGasName29() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类29编号异常"); + //if (reqDto.getGasName30() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类30编号异常"); } private void gasFluxParameterVerification(UploadGasFluxReqDTO reqDto){ @@ -492,46 +494,46 @@ throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"实时风速数据为空"); if (reqDto.getWindDirection() <= 0) throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"实时风向数据为空"); - if (reqDto.getGasName01() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类01编号异常"); - if (reqDto.getGasName02() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类02编号异常"); - if (reqDto.getGasName03() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类03编号异常"); - if (reqDto.getGasName04() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类04编号异常"); - if (reqDto.getGasName05() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类05编号异常"); - if (reqDto.getGasName06() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类06编号异常"); - if (reqDto.getGasName07() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类07编号异常"); - if (reqDto.getGasName08() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类08编号异常"); - if (reqDto.getGasName09() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类09编号异常"); - if (reqDto.getGasName10() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类10编号异常"); - if (reqDto.getGasName11() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类11编号异常"); - if (reqDto.getGasName12() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类12编号异常"); - if (reqDto.getGasName13() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类13编号异常"); - if (reqDto.getGasName14() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类14编号异常"); - if (reqDto.getGasName15() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类15编号异常"); - if (reqDto.getGasName16() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类16编号异常"); - if (reqDto.getGasName17() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类17编号异常"); - if (reqDto.getGasName18() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类18编号异常"); - if (reqDto.getGasName19() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类19编号异常"); - if (reqDto.getGasName20() <= 0) - throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类20编号异常"); + //if (reqDto.getGasName01() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类01编号异常"); + //if (reqDto.getGasName02() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类02编号异常"); + //if (reqDto.getGasName03() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类03编号异常"); + //if (reqDto.getGasName04() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类04编号异常"); + //if (reqDto.getGasName05() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类05编号异常"); + //if (reqDto.getGasName06() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类06编号异常"); + //if (reqDto.getGasName07() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类07编号异常"); + //if (reqDto.getGasName08() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类08编号异常"); + //if (reqDto.getGasName09() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类09编号异常"); + //if (reqDto.getGasName10() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类10编号异常"); + //if (reqDto.getGasName11() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类11编号异常"); + //if (reqDto.getGasName12() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类12编号异常"); + //if (reqDto.getGasName13() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类13编号异常"); + //if (reqDto.getGasName14() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类14编号异常"); + //if (reqDto.getGasName15() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类15编号异常"); + //if (reqDto.getGasName16() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类16编号异常"); + //if (reqDto.getGasName17() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类17编号异常"); + //if (reqDto.getGasName18() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类18编号异常"); + //if (reqDto.getGasName19() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类19编号异常"); + //if (reqDto.getGasName20() <= 0) + // throw new DataReceiveException(this.getClass(), ForeignResultCode.PARAM_ERROR_NULL.getCode(),"气体种类20编号异常"); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java index 0f93767..ace5444 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java @@ -8,18 +8,20 @@ import com.gkhy.fourierSpecialGasMonitor.domain.account.entity.User; import com.gkhy.fourierSpecialGasMonitor.domain.account.enums.UserStatusEnum; import com.gkhy.fourierSpecialGasMonitor.domain.account.repository.jpa.UserRepository; +import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration; import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnLog; import com.gkhy.fourierSpecialGasMonitor.entity.query.FindGasWarnLogPageQuery; import com.gkhy.fourierSpecialGasMonitor.entity.query.GasWarnTimesCountTimeSlotQuery; +import com.gkhy.fourierSpecialGasMonitor.entity.query.WindRoseTimeSlotQuery; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogCountByTimeReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogInfoReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.HandleGasWarnLogReqDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindGasWarnLogPageRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindGasWarnLogSmsUserPageRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.GasWarnLogCountByTimeRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.GasWarnLogInfoByTimeRespDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.WindRoseByTimeReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.resp.*; import com.gkhy.fourierSpecialGasMonitor.enums.GasWarnTimesCountEnum; import com.gkhy.fourierSpecialGasMonitor.enums.WarnHandleStatusEnum; +import com.gkhy.fourierSpecialGasMonitor.enums.WindRoseEnum; +import com.gkhy.fourierSpecialGasMonitor.repository.GasConcentrationRepository; import com.gkhy.fourierSpecialGasMonitor.repository.GasWarnLogRepository; import com.gkhy.fourierSpecialGasMonitor.service.GasWarnLogService; import com.gkhy.fourierSpecialGasMonitor.utils.ThreadLocalUtil; @@ -34,6 +36,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; @@ -53,6 +56,9 @@ @Autowired private GasWarnLogRepository gasWarnLogRepository; + + @Resource + private GasConcentrationRepository gasConcentrationRepository; @Autowired private UserRepository userRepository; @@ -191,6 +197,25 @@ } @Override + public Result gasWindRoseByTime(WindRoseByTimeReqDTO reqDTO) { + if (reqDTO == null && reqDTO .getCountTime() == null) + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL,"参数不能为空"); + Integer countTime = reqDTO.getCountTime(); + WindRoseTimeSlotQuery query = WindRoseEnum.getQueryObject(countTime).getTimeSlotByStrategy(); + Result result = Result.success(); + List<GasConcentration> gasConcentrations = gasConcentrationRepository.findAllByDataReceivingTimeBetweenOrderByDataReceivingTimeDesc(query.getStartTime(), query.getEndTime()); + if (CollectionUtils.isEmpty(gasConcentrations)) + return result; + List<WindRoseByTimeRespDTO> collect = gasConcentrations.stream().map(gasConcentration -> { + WindRoseByTimeRespDTO dto = new WindRoseByTimeRespDTO(); + BeanUtils.copyProperties(gasConcentration, dto); + return dto; + }).collect(Collectors.toList()); + result.setData(collect); + return result; + } + + @Override public Result gasWarnLogInfoByTime(GasWarnLogInfoReqDTO gasWarnLogInfoReqDTO) { LocalDateTime now = LocalDateTime.now(); LocalDateTime startTime = now.with(LocalTime.MIN); diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationExcWebsocketServer.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationExcWebsocketServer.java index 1ce6205..c3bf5ff 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationExcWebsocketServer.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationExcWebsocketServer.java @@ -118,7 +118,7 @@ */ @OnError public void onError(Session session, Throwable error) { - log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); + //log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); //error.printStackTrace(); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationWebsocketServer.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationWebsocketServer.java index b72042f..290b355 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationWebsocketServer.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasConcentrationWebsocketServer.java @@ -116,7 +116,7 @@ */ @OnError public void onError(Session session, Throwable error) { - log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); + //log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); //error.printStackTrace(); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasDeviceExcWebsocketServer.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasDeviceExcWebsocketServer.java index 1aa3e84..6f44ceb 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasDeviceExcWebsocketServer.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasDeviceExcWebsocketServer.java @@ -116,7 +116,7 @@ */ @OnError public void onError(Session session, Throwable error) { - log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); + //log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); //error.printStackTrace(); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasFluxWebsocketServer.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasFluxWebsocketServer.java index e649fd1..e6ca427 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasFluxWebsocketServer.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/GasFluxWebsocketServer.java @@ -116,7 +116,7 @@ */ @OnError public void onError(Session session, Throwable error) { - log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); + //log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); //error.printStackTrace(); } diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/HeartbeatExcWebsocketServer.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/HeartbeatExcWebsocketServer.java index 9210a20..dc9e389 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/HeartbeatExcWebsocketServer.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/websocket/HeartbeatExcWebsocketServer.java @@ -116,7 +116,7 @@ */ @OnError public void onError(Session session, Throwable error) { - log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); + //log.error("用户错误:" + this.userId + ",原因:" + error.getMessage()); //error.printStackTrace(); } -- Gitblit v1.9.2