From b4a52fbe7cabe2f49a8a57ec0d1a6ae2ac3b973c Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 26 Jul 2023 09:43:50 +0800
Subject: [PATCH] 水位低于死水位告警告警修改
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 167 insertions(+), 3 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
index 644da6f..de786fc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -25,21 +25,185 @@
@Autowired
private SmsService smsService;
+
/**
- * 异步发送告警信息
+ * 1.水位信息接收不到
+ * @param alarmRule
+ * @param templateId
+ * @param uuid
+ * @param adCode
+ * @param isSendStation
+ */
+ @Async
+ public void waterInfoNotHandle(AlarmRule alarmRule, String templateId, String uuid, String adCode,Boolean isSendStation) {
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.no_z_last_api_all);
+ // 只发短信,将发短信信息组装好
+ SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterInfoNotList,false,adCode,uuid);
+ // 遍历
+ for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+ // 保存告警记录信息
+ AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid);
+ if (null != alarmRecord) {
+ list.add(alarmRecord.getId().toString());
+ }
+ }
+ // 调用短信服务
+ smsService.sendMergeSignMsg(smsRequestTemplate);
+ }
+
+
+ /**
+ * 策略2: 水位数据异常
+ * @param alarmRule
+ * @param templateId
+ * @param uuid
+ * @param adCode
+ * @param isSendStation
+ */
+ @Async
+ public void waterDataExcHandle(AlarmRule alarmRule, String templateId, String uuid, String adCode, boolean isSendStation) {
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_not_normal_api);
+ // 只发短信,将发短信信息组装好
+ SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterDataExcList,false,adCode,uuid);
+ // 遍历
+ for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+ // 保存告警记录信息
+ AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid);
+ if (null != alarmRecord) {
+ list.add(alarmRecord.getId().toString());
+ }
+ }
+ // 调用短信服务
+ smsService.sendMergeSignMsg(smsRequestTemplate);
+ }
+
+ /**
+ * 3.水位超低于死水位
+ * @param templateId
+ * @param uuid
+ * @param alarmRule
+ * @param adCode
+ * @param isSendStation
+ */
+ @Async
+ public Map<String, Object> waterLessDeadHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode, boolean isSendStation) {
+ Map<String, Object> map = new HashMap<>();
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_api);
+ // 只发送站内信
+ SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true,adCode,uuid);
+ // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话
+ if (smsRequestTemplate.getPersonVOList().size()>0) {
+ // 遍历,拼接县水利部人员电话
+ for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+ // 后面依次拼接市县水利部门人员姓名电话
+ // 拼接市县水利部人员姓名及联系方式
+ noticeHandle.addCityCountyBusinessPersonInfo(list);
+ // 保存告警记录信息
+ AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid);
+ if (null != alarmRecord) {
+ list.add(alarmRecord.getId().toString());
+ }
+ }
+ // 调用短信服务
+ map = smsService.sendSignMsg(smsRequestTemplate);
+ // 返回
+ return map;
+ }
+ return map;
+ }
+
+
+ /**
+ * 5.水位接近汛限告警
+ * @param templateId
+ * @param uuid
+ * @param alarmRule
+ * @param adCode
+ */
+ @Async
+ public void waterComeOverHandle(String templateId, String uuid, AlarmRule alarmRule, String adCode) {
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_api);
+ // 只发送站内信
+ SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true,null,uuid);
+ // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话
+ if (smsRequestTemplate.getPersonVOList().size()>0) {
+ // 遍历,拼接县水利部人员电话
+ for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+ // 后面依次拼接 巡查责任人姓名,技术责任人姓名,市县水利部门人员姓名电话(暂时不要)
+ noticeHandle.addPatrolTechnologyInfo(list);
+ // 市县水利部门人员姓名电话(暂时不要)
+// list.add("测试:13112341234");
+ // 保存告警记录信息
+// AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid);
+// if (null != alarmRecord) {
+// list.add(alarmRecord.getId().toString());
+ list.add("999");
+// }
+ }
+ }
+ // 保存站内信记录信息
+ noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
+ }
+
+
+ /**
+ * 6.水位初次超汛限告警 处理
+ * @param templateId
+ * @param uuid
+ * @param alarmRule
+ * @param adCode
+ * @param isSendStation 是否发送站内信
+ * @return
+ */
+ @Async
+ public Map<String, Object> waterFirstOverHandle(String templateId, String uuid, AlarmRule alarmRule,String adCode,Boolean isSendStation) {
+ Map<String, Object> map = new HashMap<>();
+ // 调用中台服务接口查询数据
+ JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_z_res_api);
+ // 只发短信,将发短信信息组装好
+ SmsRequestTemplate smsRequestTemplate
+ = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterFirstOverList,true,adCode,uuid);
+ smsRequestTemplate.setIsSendStation(isSendStation);
+
+ // 拼接后面内容
+ if (smsRequestTemplate.getPersonVOList().size()>0) {
+ for (List<String> list : smsRequestTemplate.getTemplateContent()) {
+ // 依次拼接巡查责任人,技术责任人姓名
+ noticeHandle.addPatrolTechnologyInfo(list);
+ // 拼接市县水利部人员姓名及联系方式
+ noticeHandle.addCityCountyBusinessPersonInfo(list);
+ // 保存告警记录信息
+ AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list,alarmRule,uuid);
+ if (null != alarmRecord) {
+ list.add(alarmRecord.getId().toString());
+ }
+ }
+ // 调用短信服务
+ map = smsService.sendSignMsg(smsRequestTemplate);
+ return map;
+ }
+ return map;
+ }
+
+ /**
+ * 10.水位超设计洪水位告警处理
* @param templateId
* @param uuid
* @param alarmRule
* @return
*/
@Async
- public Map<String, Object> handleAlarmInfo(String templateId, String uuid, AlarmRule alarmRule) {
+ public Map<String, Object> waterMoreDesignHandle(String templateId, String uuid, AlarmRule alarmRule) {
Map<String, Object> map = new HashMap<>();
// 调用中台服务接口查询数据
JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_des_rz_warn_api);
// 只发短信,将发短信信息组装好
SmsRequestTemplate smsRequestTemplate
- = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.waterMoreDesignList, true, null);
+ = noticeHandle.getSendSmsTemplate(ztData, templateId, alarmRule, ZtApiDataColumnConstant.waterMoreDesignList, true, null,uuid);
// 拼接后面内容
if (smsRequestTemplate.getPersonVOList().size() > 0) {
for (List<String> list : smsRequestTemplate.getTemplateContent()) {
--
Gitblit v1.9.3