|
@@ -1,6 +1,6 @@
|
|
|
package com.zd.chemical.util;
|
|
package com.zd.chemical.util;
|
|
|
|
|
|
|
|
-import cn.hutool.core.util.IdUtil;
|
|
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.esms.MOMsg;
|
|
import com.esms.MOMsg;
|
|
|
import com.esms.MessageData;
|
|
import com.esms.MessageData;
|
|
|
import com.esms.PostMsg;
|
|
import com.esms.PostMsg;
|
|
@@ -9,16 +9,16 @@ import com.esms.common.entity.GsmsResponse;
|
|
|
import com.esms.common.entity.MTPack;
|
|
import com.esms.common.entity.MTPack;
|
|
|
import com.zd.chemical.domain.SydSmsLog;
|
|
import com.zd.chemical.domain.SydSmsLog;
|
|
|
import com.zd.chemical.service.ISydSmsLogService;
|
|
import com.zd.chemical.service.ISydSmsLogService;
|
|
|
-import com.zd.common.core.constant.Constants;
|
|
|
|
|
import com.zd.common.core.domain.R;
|
|
import com.zd.common.core.domain.R;
|
|
|
import com.zd.common.core.utils.DateUtils;
|
|
import com.zd.common.core.utils.DateUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import javax.validation.constraints.NotNull;
|
|
import javax.validation.constraints.NotNull;
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.UUID;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Component
|
|
@Component
|
|
@@ -73,7 +73,7 @@ public class SmsSydUtil {
|
|
|
/**
|
|
/**
|
|
|
* 四医大平台发送短信
|
|
* 四医大平台发送短信
|
|
|
* @param content 发送内容
|
|
* @param content 发送内容
|
|
|
- * @param purpose 短信用途 1 告警,2 登录,3 开锁
|
|
|
|
|
|
|
+ * @param purpose 短信用途 1 化学品告警,2 登录,3 开锁,4 气瓶告警,5 预案告警
|
|
|
* @param phones 手机号
|
|
* @param phones 手机号
|
|
|
* @return 发送结果
|
|
* @return 发送结果
|
|
|
*/
|
|
*/
|
|
@@ -81,19 +81,31 @@ public class SmsSydUtil {
|
|
|
UUID uuid = UUID.randomUUID();
|
|
UUID uuid = UUID.randomUUID();
|
|
|
R r = singleTicketMsgId(content, uuid, phones);
|
|
R r = singleTicketMsgId(content, uuid, phones);
|
|
|
|
|
|
|
|
- SydSmsLog sydSmsLog = new SydSmsLog();
|
|
|
|
|
- sydSmsLog.setContent(content);
|
|
|
|
|
- sydSmsLog.setPhone(phones.toString());
|
|
|
|
|
- sydSmsLog.setPurpose(purpose);
|
|
|
|
|
- sydSmsLog.setStatus(Integer.parseInt(r.getData() + ""));
|
|
|
|
|
- sydSmsLog.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
- sydSmsLog.setUuid(uuid.toString());
|
|
|
|
|
- sydSmsLog.setLockApplyId(lockApplyId);
|
|
|
|
|
-
|
|
|
|
|
- sydSmsLogService.insertSydSmsLog(sydSmsLog);
|
|
|
|
|
|
|
+ for (String phone : phones) {
|
|
|
|
|
+ SydSmsLog sydSmsLog = new SydSmsLog();
|
|
|
|
|
+ sydSmsLog.setContent(content);
|
|
|
|
|
+ sydSmsLog.setPhone(phone);
|
|
|
|
|
+ sydSmsLog.setPurpose(purpose);
|
|
|
|
|
+ sydSmsLog.setStatus(Integer.parseInt(r.getData() + ""));
|
|
|
|
|
+ sydSmsLog.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
+ sydSmsLog.setUuid(uuid.toString());
|
|
|
|
|
+ sydSmsLog.setLockApplyId(lockApplyId);
|
|
|
|
|
+ sydSmsLog.setReply(0);
|
|
|
|
|
+
|
|
|
|
|
+ sydSmsLogService.insertSydSmsLog(sydSmsLog);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return r;
|
|
return r;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public void queryUplinkResult(){
|
|
|
|
|
+ try {
|
|
|
|
|
+ doGetMos();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("定时获取上行数据发生异常!");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 短信下发范例 每个话单,一个扩展码
|
|
* 短信下发范例 每个话单,一个扩展码
|
|
@@ -126,13 +138,43 @@ public class SmsSydUtil {
|
|
|
* 获取上行信息
|
|
* 获取上行信息
|
|
|
*
|
|
*
|
|
|
*/
|
|
*/
|
|
|
- private static void doGetMos() throws Exception {
|
|
|
|
|
- MOMsg[] mos;
|
|
|
|
|
- mos = UP_PM.getMOMsgs(account, 10);
|
|
|
|
|
|
|
+ private void doGetMos() throws Exception {
|
|
|
|
|
+ SydSmsLog sydSmsLog = new SydSmsLog();
|
|
|
|
|
+
|
|
|
|
|
+ sydSmsLog.setStatus(0);
|
|
|
|
|
+ sydSmsLog.setReply(0);
|
|
|
|
|
+ List<SydSmsLog> list = sydSmsLogService.selectSydSmsLogList(sydSmsLog);
|
|
|
|
|
+
|
|
|
|
|
+ if(list.size() == 0){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ MOMsg[] mos = UP_PM.getMOMsgs(account, 10);
|
|
|
|
|
+
|
|
|
if (mos != null) {
|
|
if (mos != null) {
|
|
|
- for (MOMsg mo : mos) {
|
|
|
|
|
- log.info("四医大短信上行查询结果:" + mo.toString());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ List<MOMsg> mosList = Stream.of(mos).collect(Collectors.toList());
|
|
|
|
|
+ log.info("四医大短信上行查询结果:" + JSONUtil.toJsonStr(mosList));
|
|
|
|
|
+
|
|
|
|
|
+ Date now = DateUtils.getNowDate();
|
|
|
|
|
+ for (SydSmsLog smsLog : list) {
|
|
|
|
|
+ for (int i = 0; i < mosList.size(); i++) {
|
|
|
|
|
+ if(smsLog.getPhone().equals(mosList.get(i).getPhone())){
|
|
|
|
|
+
|
|
|
|
|
+ smsLog.setReply(1);
|
|
|
|
|
+ smsLog.setUpdateTime(now);
|
|
|
|
|
+ smsLog.setReplyContent(mosList.get(i).getContent());
|
|
|
|
|
+ sydSmsLogService.updateSydSmsLog(smsLog);
|
|
|
|
|
+ mosList.remove(i);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(mosList.size() > 0){
|
|
|
|
|
+ log.info("四医大短信上行查询遗漏数据:" + JSONUtil.toJsonStr(mosList));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|