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 |   80 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 73 insertions(+), 7 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 ea0910a..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
@@ -34,6 +34,7 @@
 	 * @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);
@@ -53,6 +54,69 @@
 
 
 	/**
+	 * 策略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
@@ -66,18 +130,20 @@
 		// 只发送站内信
 		SmsRequestTemplate smsRequestTemplate = noticeHandle.getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true,null,uuid);
 		// 拼接内容后面的联系方式,当前模板县水利部人员姓名电话
-		// 遍历,拼接县水利部人员电话
-		for (List<String> list : smsRequestTemplate.getTemplateContent()) {
-			// 后面依次拼接 巡查责任人姓名,技术责任人姓名,市县水利部门人员姓名电话(暂时不要)
-			noticeHandle.addPatrolTechnologyInfo(list);
-			// 市县水利部门人员姓名电话(暂时不要)
+		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");
+				list.add("999");
 //			}
+			}
 		}
 		// 保存站内信记录信息
 		noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);

--
Gitblit v1.9.3