skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/controller/SkBaiYiController.java
New file @@ -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); } } } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skBaiYiTest/entity/WarnMsg.java
New file @@ -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; } 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); // } /** * 水库全景图 新增 */ 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> 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); } } } } 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("开始执行任务...");