From 2e4a5ceda924d410d08632ec3bd8c6d42cf5bc08 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:22:09 +0800
Subject: [PATCH] 白蚁预警发短信7-19 12
---
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SendSmsXxlJob.java | 27 +++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java | 7 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/entity/WarnMsg.java | 22 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/mapper/SkPanoramaMapper.xml | 18 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java | 74 ++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/controller/SkBaiYiController.java | 106 +++++++++++++++++++++
6 files changed, 252 insertions(+), 2 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/controller/SkBaiYiController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/controller/SkBaiYiController.java
new file mode 100644
index 0000000..29aba6d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/controller/SkBaiYiController.java
@@ -0,0 +1,106 @@
+package cn.gistack.sm.skBaiYiTest.controller;
+
+import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
+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 io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+@Slf4j
+@Api(tags="白蚁预警")
+@RestController
+@RequestMapping("/SkBaiYi")
+@AllArgsConstructor
+public class SkBaiYiController {
+
+
+ private ISkBaiYiService skBaiYiService;
+
+ @GetMapping("/baiyitest")
+ public void baiyitest() {
+// List<BaiYiTestEntity> list = skBaiYiService.selectList();
+// if (list!= null && list.size()>0) {
+// for (BaiYiTestEntity item:list ) {
+// System.err.println(item.toString());
+// }
+// }
+ sendBaiYiWarn();
+ }
+
+ /**
+ * 白蚁预警发短信
+ */
+ public void 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);
+ }
+ }
+ }
+ // 获取到了数据开始发短信
+ if (msgEntityList!= null && msgEntityList.size()>0) {
+ for (WarnMsg item : msgEntityList) {
+ String skName = item.getSkName();
+ String personInCharge = item.getPersonInCharge();
+ String phone = item.getPhone();
+ String bayistate = item.getBayistate();
+
+
+ SMSSendRequest request = new SMSSendRequest();
+ request.setUserNumber(phone);
+ request.setTemplateId("2431012268292");//短信模版编号
+ request.setMessageContent("紧急通知:"+skName+" 中 "+bayistate+" 以上白蚁监测点发生白蚁预警,请立安排人前去检查是否真实存在白蚁。");
+ SmsUtils.sendMsg(request);
+
+ }
+ }
+
+ }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/entity/WarnMsg.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/entity/WarnMsg.java
new file mode 100644
index 0000000..1d5d545
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/entity/WarnMsg.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.skBaiYiTest.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WarnMsg {
+
+ @ApiModelProperty(value = "水库名称")
+ private String skName;
+
+ @ApiModelProperty(value = "责任人名称")
+ private String personInCharge;
+
+ @ApiModelProperty(value = "负责人联系方式")
+ private String phone;
+
+ @ApiModelProperty(value = "白蚁测点(多个)")
+ private String bayistate;
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
index 2d2374b..0973b6f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
@@ -122,6 +122,13 @@
return R.data(pages);
}
+// @GetMapping("/page")
+// @ApiOperation(value = "分页", notes = "传入skPanorama")
+// public R<IPage<SkPanoramaVO>> page2(SkPanoramaVO skPanorama, Query query) {
+// IPage<SkPanoramaVO> pages = skPanoramaService.selectSkPanoramaPage(Condition.getPage(query), skPanorama);
+// return R.data(pages);
+// }
+
/**
* 水库全景图 新增
*/
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/mapper/SkPanoramaMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/mapper/SkPanoramaMapper.xml
index ffd438f..cd6ee50 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/mapper/SkPanoramaMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/mapper/SkPanoramaMapper.xml
@@ -25,9 +25,23 @@
<select id="selectSkPanoramaPage" resultMap="skPanoramaResultMap">
select
- *
+ t1."guid",
+ t1."res_reg_code",
+ t1."res_type",
+ t1."res_func",
+ t1."res_category",
+ t1."eng_scal"
from
- sk_panorama
+ SJZT_MD."att_res_base" t1
+ left join (
+ select
+ res_guid,
+ count(res_guid) AS "num"
+ from
+ YWXT."SK_PANORAMA"
+ where is_deleted = 0
+ group by res_guid
+ )t2 on t1."guid" = t2."res_guid"
where
is_deleted = 0
</select>
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..ce482a1 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;
@@ -28,6 +31,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 +65,9 @@
@Autowired
private RestTemplate restTemplate;
+
+ @Autowired
+ private ISkBaiYiService skBaiYiService;
@Override
public void sendOperate(String tableName, String phones) {
@@ -227,4 +237,68 @@
}
}
+
+ /**
+ * 白蚁预警发短信
+ */
+ public void 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);
+ }
+ }
+ }
+ // 获取到了数据开始发短信
+ if (msgEntityList!= null && msgEntityList.size()>0) {
+ for (WarnMsg item : msgEntityList) {
+ String skName = item.getSkName();
+ String personInCharge = item.getPersonInCharge();
+ String phone = item.getPhone();
+ String bayistate = item.getBayistate();
+
+
+ SMSSendRequest request = new SMSSendRequest();
+ request.setUserNumber(phone);
+ request.setTemplateId("2431012268292");//短信模版编号
+ request.setMessageContent("紧急通知:"+skName+" 中 "+bayistate+" 以上白蚁监测点发生白蚁预警,请立安排人前去检查是否真实存在白蚁。");
+ SmsUtils.sendMsg(request);
+
+ }
+ }
+
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SendSmsXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SendSmsXxlJob.java
index a5806ba..f6ff89a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SendSmsXxlJob.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SendSmsXxlJob.java
@@ -8,8 +8,11 @@
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import org.jetbrains.annotations.NotNull;
+import org.springblade.core.mp.base.BaseEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import java.util.List;
/**
* 短信定时发送任务执行器
@@ -24,6 +27,7 @@
@Autowired
private IDataAbnormalWarnClient dataAbnormalWarnClient;
+
/**
* 外呼未接通-发送短信
@@ -64,6 +68,29 @@
return ReturnT.SUCCESS;
}
+ /**
+ * 试点白蚁报警,发送短信给水库人员监测监测点
+ * @param param
+ * @return
+ */
+ @XxlJob("sendWarmInfo")
+ public ReturnT<String> sendWarmInfo(String param) {
+ XxlJobLogger.log("开始执行任务...");
+ List<BaseEntity> baseEntities = skBaiYiService.selectList();
+
+// JSONObject jsonParam = JSON.parseObject(param);
+// java.lang.String tableName = jsonParam.getString("resultList");
+// java.lang.String phones = jsonParam.getString("phone");
+// dataAbnormalWarnClient.sendOperate(tableName, phones);
+
+ XxlJobLogger.log("结束执行任务...");
+ return ReturnT.SUCCESS;
+
+ }
+
+
+
+
@XxlJob("sendOperateCZ")
public ReturnT<String> sendOperateCZ(String param) {
XxlJobLogger.log("开始执行任务...");
--
Gitblit v1.9.3