From 3963b29bafb2c8f780b87763341d11a834fb7a10 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 12 Jul 2023 18:57:34 +0800
Subject: [PATCH] 告警短信发送修改为批量发送,新增参数去除重复号码去重设置,水位数据缺失预警调整,短信发送合并水库名称

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
index 1749d56..11f15b9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -121,7 +121,7 @@
 			if (null!=adCode){
 				// city_cd,county_cd 过滤数据
 				String county_cd = jsonArray.getJSONObject(i).getString("county_cd");
-				if (county_cd.equals(adCode)) {
+				if (null!= county_cd && county_cd.equals(adCode)) {
 					jointData(jsonArray, columnsList, alarmRule, flag, personLists, lists, i);
 				}
 			}else {
@@ -131,6 +131,42 @@
 		// 设置信息
 		smsRequestTemplate.setPersonVOList(personLists);
 		smsRequestTemplate.setTemplateContent(lists);
+	}
+
+	/**
+	 * 列名数据转换-- 需合并水库名称
+	 * @param jsonArray
+	 * @param columnsList
+	 * @param smsRequestTemplate
+	 * @param flag
+	 * @param adCode
+	 * @return
+	 */
+	private void getMergeColumnData(JSONArray jsonArray,
+							   List<String> columnsList,
+							   SmsRequestTemplate smsRequestTemplate,
+							   AlarmRule alarmRule,
+							   Boolean flag,
+							   String adCode) {
+		Set<String> resCdSet = new HashSet<>();
+		for (int i = 0; i < jsonArray.size(); i++) {
+			String res_cd = jsonArray.getJSONObject(i).getString("res_cd");
+			resCdSet.add(res_cd);
+		}
+		// 查询对应的人员
+		getPersonListByResList(resCdSet,alarmRule);
+		// 设置信息
+//		smsRequestTemplate.setPersonVOList(personLists);
+//		smsRequestTemplate.setTemplateContent(lists);
+	}
+
+	/**
+	 * 查询对应的用户及水库信息
+	 * @param resCdSet
+	 * @param alarmRule
+	 */
+	private void getPersonListByResList(Set<String> resCdSet, AlarmRule alarmRule) {
+		// 查询对应的用户及水库信息
 	}
 
 	/**
@@ -298,9 +334,11 @@
 			list.addAll(personVOList);
 		}
 		//2. 根据水库编号及责任人类型查询相关责任人信息
-		List<PersonVO> personVOList1 = attResManagePersonClient.getPersonListByResGuid(res_cd,String.join(",",personList));
-		// 合并人员数据
-		list.addAll(personVOList1);
+		if (personList.size() > 0) {
+			List<PersonVO> personVOList1 = attResManagePersonClient.getPersonListByResGuid(res_cd, String.join(",", personList));
+			// 合并人员数据
+			list.addAll(personVOList1);
+		}
 		// 返回数据
 		return list;
 	}

--
Gitblit v1.9.3