From ec78dbddbf0159a0d5f285b87977a32ea765fda0 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 26 Jul 2024 15:13:27 +0800
Subject: [PATCH] 全景图和白蚁报警:7-26 15

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java
index 7b7bf13..1720a4b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java
@@ -6,6 +6,9 @@
 import cn.gistack.sm.sjztmd.service.*;
 import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
 import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
+import cn.gistack.sm.skBaiYiTest.entity.BaiYiTestEntity;
+import cn.gistack.sm.skBaiYiTest.entity.WarnMsg;
+import cn.gistack.sm.skBaiYiTest.service.ISkBaiYiService;
 import cn.gistack.sm.sms.util.SmsUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -14,6 +17,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
@@ -28,6 +32,10 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 /**
  * @PROJECT_NAME: skjcmanager
@@ -58,6 +66,9 @@
 
 	@Autowired
 	private RestTemplate restTemplate;
+
+	@Autowired
+	private ISkBaiYiService skBaiYiService;
 
 	@Override
 	public void sendOperate(String tableName, String phones) {
@@ -227,4 +238,80 @@
 		}
 	}
 
+
+	/**
+	 * 白蚁预警发短信
+	 */
+	public void sendBaiYiWarn() {
+		log.info("sendBaiYiWarn执行" );
+		List<BaiYiTestEntity> list = skBaiYiService.selectList();
+		Set<String> skNameSet = new HashSet<>();
+		ArrayList<WarnMsg> msgEntityList = new ArrayList<>();
+
+
+		if (list!= null && list.size()>0) {
+			log.info("白蚁预警水库数量:" +  list.size());
+			for (BaiYiTestEntity item : list ) {
+				skNameSet.add(item.getSkName());
+			}
+
+			if(skNameSet.size()>0){
+				for (String sknm : skNameSet) {
+					WarnMsg warnMsg = new WarnMsg();
+					warnMsg.setSkName(sknm);
+					String statListStr = ""; // 测点集
+					String personInCharge = ""; // 责任人名称
+					String phone = ""; // 责任人联系方式
+
+					for (BaiYiTestEntity item : list ) {
+						String skName = item.getSkName();
+						String termitePointNum = item.getTermitePointNum();
+						personInCharge = item.getPersonInCharge();
+						phone = item.getPhone();
+
+						if(sknm.equals(skName)){
+
+							statListStr = statListStr + termitePointNum + ","; // 同一个水库的报警白蚁测点拼接起来
+
+						}
+					}
+					warnMsg.setPhone(phone);
+					warnMsg.setPersonInCharge(personInCharge);
+					warnMsg.setBayistate(statListStr);
+					msgEntityList.add(warnMsg);
+				}
+			}
+		}
+		// 获取到了数据开始发短信
+		System.err.println("发送白蚁报警短信数量:"+msgEntityList.size());
+		if (msgEntityList!= null && msgEntityList.size()>0) {
+			System.err.println("白蚁报警信息:");
+			for (WarnMsg item : msgEntityList) {
+				System.err.println(item.toString());
+				String skName = item.getSkName();
+				String personInCharge = item.getPersonInCharge();
+				String phoneList = item.getPhone();
+				String bayistate = item.getBayistate();
+
+				String [] phoness = phoneList.split(",");
+				for (String phone: phoness) {
+
+					if(StringUtils.isNotBlank(phone)) {
+
+						SMSSendRequest request = new SMSSendRequest();
+						request.setUserNumber(phone);
+						request.setTemplateId("2431012282799");//短信模版编号
+						request.setMessageContent("紧急通知:"+skName+"中以下白蚁监测点发生白蚁预警,请立安排人前去检查是否真实存在白蚁:"+ bayistate);
+
+						log.info("短信信息实体:" +  request.toString());
+						SmsUtils.sendMsg(request);
+					}
+				}
+
+
+			}
+		}
+
+	}
+
 }

--
Gitblit v1.9.3