ke
2024-07-22 83d903c65cce4bd56c7362bf6bf8a628ee88ebc4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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);
                }
            }
        }
        // 获取到了数据开始发短信
        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 phone = item.getPhone();
                String bayistate = item.getBayistate();
 
 
                SMSSendRequest request = new SMSSendRequest();
                request.setUserNumber(phone);
                request.setTemplateId("2431012268292");//短信模版编号
                request.setMessageContent("紧急通知:"+skName+" 中 "+bayistate+" 以上白蚁监测点发生白蚁预警,请立安排人前去检查是否真实存在白蚁。");
                SmsUtils.sendMsg(request);
 
            }
        }
 
    }
}