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);
|
|
}
|
}
|
|
}
|
}
|