短信优化
This commit is contained in:
parent
a575b43694
commit
c6365050e3
|
|
@ -24,7 +24,9 @@ import javax.annotation.Resource;
|
|||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.bonus.common.biz.constant.MaterialConstants.SEND_FAILURE;
|
||||
import static com.bonus.common.biz.constant.MaterialConstants.SEND_SUCCESS;
|
||||
|
|
@ -129,7 +131,23 @@ public class ScheduledCheckWarning {
|
|||
}
|
||||
System.out.println("短信发送成功: " + mobileList);
|
||||
if (CollectionUtils.isNotEmpty(mobileList)){
|
||||
JSONObject sendResult = SmsTool.sendSms(mobileList, BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
||||
// 根据手机号及内容对sendResults进行去重处理
|
||||
List<SmsParam> uniqueResults = new ArrayList<>();
|
||||
// 存储已出现的「手机号+内容」key
|
||||
Set<String> uniqueKeySet = new HashSet<>();
|
||||
for (SmsParam sr : mobileList) {
|
||||
// 跳过空值(根据业务补充校验)
|
||||
if (sr == null || sr.getMobile() == null || sr.getContent() == null) {
|
||||
continue;
|
||||
}
|
||||
String key = sr.getMobile() + "|" + sr.getContent();
|
||||
// 若key未出现过,加入结果列表并记录key
|
||||
if (!uniqueKeySet.contains(key)) {
|
||||
uniqueKeySet.add(key);
|
||||
uniqueResults.add(sr);
|
||||
}
|
||||
}
|
||||
JSONObject sendResult = SmsTool.sendSms(uniqueResults, BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
||||
if (sendResult != null && !sendResult.isEmpty()) {
|
||||
log.info("短信发送成功: {}", sendResult);
|
||||
System.out.println("短信发送成功: " + sendResult);
|
||||
|
|
@ -139,10 +157,26 @@ public class ScheduledCheckWarning {
|
|||
}
|
||||
// 根据sendResult赋值短信发送成功与否状态
|
||||
String status = (sendResult != null && !sendResult.isEmpty()) ? SEND_SUCCESS : SEND_FAILURE;
|
||||
sendResults.forEach(item -> item.setSendStatus(status));
|
||||
// 根据手机号及内容对sendResults进行去重处理
|
||||
List<SmsSendResult> results = new ArrayList<>();
|
||||
// 存储已出现的「手机号+内容」key
|
||||
Set<String> keySet = new HashSet<>();
|
||||
for (SmsSendResult sr : sendResults) {
|
||||
// 跳过空值(根据业务补充校验)
|
||||
if (sr == null || sr.getReceiverPhone() == null || sr.getContent() == null) {
|
||||
continue;
|
||||
}
|
||||
String key = sr.getReceiverPhone() + "|" + sr.getContent();
|
||||
// 若key未出现过,加入结果列表并记录key
|
||||
if (!keySet.contains(key)) {
|
||||
keySet.add(key);
|
||||
results.add(sr);
|
||||
}
|
||||
}
|
||||
results.forEach(item -> item.setSendStatus(status));
|
||||
|
||||
//将集合结果插入数据库中
|
||||
mapper.insertSmsSendResult(sendResults);
|
||||
mapper.insertSmsSendResult(results);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -172,6 +206,14 @@ public class ScheduledCheckWarning {
|
|||
sendResults.add(new SmsSendResult("工器具临近检验有效期15天短信通知", item.getUserId(), item.getClzPhone(),
|
||||
content2, DateUtils.getNowDate()));
|
||||
}
|
||||
// 获取段君强手机号
|
||||
useMaintenanceWarningBean.setUserName("duanjq4515");
|
||||
UseMaintenanceWarningBean info = mapper.getUserPhoneById(useMaintenanceWarningBean);
|
||||
if(info.getClzPhone() != null){
|
||||
mobileList2.add(new SmsParam(info.getClzPhone(), content2));
|
||||
sendResults.add(new SmsSendResult("工器具临近检验有效期15天短信通知", info.getUserId(), info.getClzPhone(),
|
||||
content2, DateUtils.getNowDate()));
|
||||
}
|
||||
}
|
||||
// 送二
|
||||
if (bean2.getDeptId() != null && bean2.getDeptId() == 102L) {
|
||||
|
|
@ -187,7 +229,23 @@ public class ScheduledCheckWarning {
|
|||
}
|
||||
System.out.println("短信发送成功: " + mobileList2);
|
||||
if (CollectionUtils.isNotEmpty(mobileList2)){
|
||||
JSONObject sendResult = SmsTool.sendSms(mobileList2, BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
||||
// 根据手机号及内容对sendResults进行去重处理
|
||||
List<SmsParam> uniqueResults = new ArrayList<>();
|
||||
// 存储已出现的「手机号+内容」key
|
||||
Set<String> uniqueKeySet = new HashSet<>();
|
||||
for (SmsParam sr : mobileList2) {
|
||||
// 跳过空值(根据业务补充校验)
|
||||
if (sr == null || sr.getMobile() == null || sr.getContent() == null) {
|
||||
continue;
|
||||
}
|
||||
String key = sr.getMobile() + "|" + sr.getContent();
|
||||
// 若key未出现过,加入结果列表并记录key
|
||||
if (!uniqueKeySet.contains(key)) {
|
||||
uniqueKeySet.add(key);
|
||||
uniqueResults.add(sr);
|
||||
}
|
||||
}
|
||||
JSONObject sendResult = SmsTool.sendSms(uniqueResults, BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
||||
if (sendResult != null && !sendResult.isEmpty()) {
|
||||
log.info("短信发送成功: {}", sendResult);
|
||||
System.out.println("短信发送成功: " + sendResult);
|
||||
|
|
@ -197,10 +255,26 @@ public class ScheduledCheckWarning {
|
|||
}
|
||||
// 根据sendResult赋值短信发送成功与否状态
|
||||
String status = (sendResult != null && !sendResult.isEmpty()) ? SEND_SUCCESS : SEND_FAILURE;
|
||||
sendResults.forEach(item -> item.setSendStatus(status));
|
||||
// 根据手机号及内容对sendResults进行去重处理
|
||||
List<SmsSendResult> results = new ArrayList<>();
|
||||
// 存储已出现的「手机号+内容」key
|
||||
Set<String> keySet = new HashSet<>();
|
||||
for (SmsSendResult sr : sendResults) {
|
||||
// 跳过空值(根据业务补充校验)
|
||||
if (sr == null || sr.getReceiverPhone() == null || sr.getContent() == null) {
|
||||
continue;
|
||||
}
|
||||
String key = sr.getReceiverPhone() + "|" + sr.getContent();
|
||||
// 若key未出现过,加入结果列表并记录key
|
||||
if (!keySet.contains(key)) {
|
||||
keySet.add(key);
|
||||
results.add(sr);
|
||||
}
|
||||
}
|
||||
results.forEach(item -> item.setSendStatus(status));
|
||||
|
||||
//将集合结果插入数据库中
|
||||
mapper.insertSmsSendResult(sendResults);
|
||||
mapper.insertSmsSendResult(results);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@ import javax.annotation.Resource;
|
|||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.bonus.common.biz.constant.MaterialConstants.SEND_FAILURE;
|
||||
|
|
@ -289,10 +291,26 @@ public class WashHouseScheduledTasks {
|
|||
}
|
||||
// 根据sendResult赋值短信发送成功与否状态
|
||||
String status = (sendResult != null && !sendResult.isEmpty()) ? SEND_SUCCESS : SEND_FAILURE;
|
||||
sendResults.forEach(item -> item.setSendStatus(status));
|
||||
// 根据手机号及内容对sendResults进行去重处理
|
||||
List<SmsSendResult> uniqueResults = new ArrayList<>();
|
||||
// 存储已出现的「手机号+内容」key
|
||||
Set<String> uniqueKeySet = new HashSet<>();
|
||||
for (SmsSendResult sr : sendResults) {
|
||||
// 跳过空值(根据业务补充校验)
|
||||
if (sr == null || sr.getReceiverPhone() == null || sr.getContent() == null) {
|
||||
continue;
|
||||
}
|
||||
String key = sr.getReceiverPhone() + "|" + sr.getContent();
|
||||
// 若key未出现过,加入结果列表并记录key
|
||||
if (!uniqueKeySet.contains(key)) {
|
||||
uniqueKeySet.add(key);
|
||||
uniqueResults.add(sr);
|
||||
}
|
||||
}
|
||||
uniqueResults.forEach(item -> item.setSendStatus(status));
|
||||
|
||||
//将集合结果插入数据库中
|
||||
mapper.insertSmsSendResult(sendResults);
|
||||
mapper.insertSmsSendResult(uniqueResults);
|
||||
} else {
|
||||
log.info("没有待入库的单子");
|
||||
System.out.println("没有待入库的单子");
|
||||
|
|
|
|||
Loading…
Reference in New Issue