From 5f6fd45d151cdd0ff9d6d5f44d0fb055bdc6f997 Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期三, 22 五月 2024 09:16:02 +0800 Subject: [PATCH] 配置文件调整,添加短信报警人 --- src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) 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 1d21ddf..4eb1eb3 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java @@ -5,6 +5,7 @@ import com.gkhy.fourierSpecialGasMonitor.commons.domain.Result; import com.gkhy.fourierSpecialGasMonitor.commons.enums.ForeignResultCode; import com.gkhy.fourierSpecialGasMonitor.commons.enums.ResultCode; +import com.gkhy.fourierSpecialGasMonitor.commons.enums.SystemCacheKeyEnum; import com.gkhy.fourierSpecialGasMonitor.commons.exception.DataReceiveException; import com.gkhy.fourierSpecialGasMonitor.decorator.WarningThresholdUpdateEvent; import com.gkhy.fourierSpecialGasMonitor.entity.*; @@ -118,8 +119,7 @@ private static final DateTimeFormatter warnLogFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); - @Value("${sms.send.deviceExcReceiver}") - private static final String[] DEVICE_EXC_RECEIVER = {"17625323889","18019908965"}; + private static final String[] DEVICE_EXC_RECEIVER = {"17625323889","18019908965","18899396560"}; @PostConstruct public void init() { @@ -171,6 +171,9 @@ return ForeignResult.success(); } + /** + * 设备预警 + * */ @Override public ForeignResult deviceMonitor(DeviceMonitorReqDTO reqDTO) { if (reqDTO == null) @@ -198,7 +201,7 @@ descs.add(GasFluxStateEnum.INVERSION_FAILED_10_MINUTES_NO_DATA.getDesc()); } String message = JSON.toJSONString(reqDTO); - //todo 暂时改为实时推送给前端 + //暂时改为实时推送给前端 try { GasDeviceExcWebsocketServer.sendInfo(message,null); } catch (IOException e) { @@ -210,12 +213,11 @@ if (lastLog == null || now.compareTo(lastLog.getTime().plusHours(1)) >= 0) { Map<String, String> mesMap = new HashMap<>(); mesMap.put("message","数据异常,无法进行监测"); - mesMap.put(" level","设备离线"); - //// TODO: 2024/2/22 + mesMap.put(" level","设备离线"); // todo List<String> deviceExcReceiver = Arrays.asList(DEVICE_EXC_RECEIVER); if (!CollectionUtils.isEmpty(deviceExcReceiver)) { List<String> distinctPhone = deviceExcReceiver.stream().distinct().collect(Collectors.toList()); - logger.info("【气体浓度异常短信发送】-----发送内容:" + "数据异常,无法进行监测 气体浓度连续超标,系统判断为设备离线,请相关负责人及时检查处置。" + logger.info("【气体浓度异常短信发送】-----发送内容:" + "克拉玛依富城数据异常,无法进行监测 气体浓度连续超标,系统判断为设备离线,请相关负责人及时检查处置。" + " 发送时间: " + LocalDateTime.now()+ " 接收人手机号:" + distinctPhone); if (!org.springframework.util.StringUtils.isEmpty(smsSendEnabledStatus) && "true".equals(smsSendEnabledStatus)) { sendMessageUtil.sendMessageCheck(deviceExcReceiver.toArray(new String[deviceExcReceiver.size()]), mesMap); @@ -237,6 +239,7 @@ } return ForeignResult.success(); } + private void gasFluxDataCacheAndPush(){ LocalDateTime time = LocalDateTime.now(); @@ -271,7 +274,7 @@ private void execDataCountAndPush(UploadGasConcentrationReqDTO reqDto){ - RBucket<List<GasCategory>> bucket = redissonClient.getBucket("gas_category_cache_info"); + RBucket<List<GasCategory>> bucket = redissonClient.getBucket(SystemCacheKeyEnum.KEY_GAS_CATEGORY.getKey()); List<GasCategory> gasCategoryCache = bucket.get(); if (CollectionUtils.isEmpty(gasCategoryCache)){ gasCategoryCache = gasCategoryService.list(); @@ -326,6 +329,9 @@ } } + /** + * 气体数据--预警信息推送 + * */ private void warnLogGenerateAndExecPush(Integer warnThresholdEnumCode,GasCategory gasCategory,Double value){ if (gasCategory == null) throw new DataReceiveException(this.getClass(), ForeignResultCode.SYSTEM_ERROR_DATABASE_FAIL.getCode(),"该气体不存在于对照表"); @@ -371,7 +377,6 @@ Map<String, String> mesMap = new HashMap<>(); mesMap.put("message",warnTime+" "+gasCategory.getName()); mesMap.put(" level",warnThresholdName); - //todo if (!CollectionUtils.isEmpty(phone)) { List<String> distinctPhone = phone.stream().distinct().collect(Collectors.toList()); logger.info("【气体浓度异常短信发送】-----发送内容:" + content + " 发送时间: " + now + " 接收人手机号:" + distinctPhone); -- Gitblit v1.9.2