From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java | 76 ++++++++++++++++++++++++++++++++++++-
1 files changed, 73 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java b/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
index 7e2ba8a..ea44fe0 100644
--- a/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
+++ b/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.sms.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -32,12 +33,15 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.resource.entity.Sms;
import org.springblade.modules.resource.service.ISmsService;
+import org.springblade.modules.sms.entity.SmsRecordEntity;
import org.springblade.modules.sms.entity.SmsTemplateEntity;
import org.springblade.modules.sms.mapper.SmsTemplateMapper;
+import org.springblade.modules.sms.service.ISmsRecordService;
import org.springblade.modules.sms.service.ISmsSendService;
import org.springblade.modules.sms.service.ISmsTemplateService;
-import org.springblade.modules.sms.entity.SmsRecordEntity;
-import org.springblade.modules.sms.service.ISmsRecordService;
+import org.springblade.modules.smsTask.entity.SmsTaskEntity;
+import org.springblade.modules.smsTask.service.ISmsTaskService;
+import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
@@ -352,6 +356,71 @@
return "";
}
+ @Override
+ public Boolean batchSendNotice(Long smsTaskId) {
+ ISmsTaskService taskService = SpringUtils.getBean(ISmsTaskService.class);
+ SmsTaskEntity smsTaskEntity = taskService.getById(smsTaskId);
+ List<User> phoneList = taskService.selectSmsTaskListByPhone(smsTaskEntity);
+ if (CollectionUtil.isEmpty(phoneList)) {
+ logger.error("未查询到电话号码!");
+ return false;
+ }
+
+ Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getStatus, 2));
+ if (serviceOne == null) {
+ logger.error("未找到状态为2的Sms服务");
+ return false;
+ }
+ SmsTemplateEntity smsTemplateEntity = iSmsTemplateService.getOne(Wrappers.<SmsTemplateEntity>lambdaQuery()
+ .eq(SmsTemplateEntity::getId, smsTaskEntity.getSmsTemplate()));
+ if (smsTemplateEntity == null) {
+ logger.error("未找到对应的短信模板");
+ return false;
+ }
+ ISmsRecordService smsRecordService = SpringUtils.getBean(ISmsRecordService.class);
+ Boolean aBoolean = false;
+ for (User user : phoneList) {
+ // 发送的手机号
+ List<Map> phonesList = new ArrayList<>();
+ Map phoneMap = new HashMap();
+ phoneMap.put("phone", user.getPhone());
+ List<String> varList = new ArrayList<>();
+ // 设置参数
+ phoneMap.put("varList", varList);
+ phonesList.add(phoneMap);
+ // 短信内容
+ String content = smsTemplateEntity.getContent();
+ // 发送时间
+ LocalDateTime nowDateTime = LocalDateTime.now();
+ String send_time = nowDateTime.format(SECOND_FORMATTER);
+ Map params = new HashMap();
+ params.put("phones", phonesList);
+ // 短信主题
+ params.put("subject", "对外接口不同内容发送-动态模板");
+ params.put("content", content);
+ // 短信模板
+ params.put("template_id", null);
+ // 发送时间
+ params.put("send_time", send_time);
+ // 优先级,高级=5,中级=3,低级=1
+ params.put("priority", "1");
+ // 不同内容发送类型,1=动态模板发送,2=文件内容发送
+ params.put("type", "1");
+ // 创建人主键
+ params.put("sop_create_by", serviceOne.getSmsCode());
+ // 短信发送记录
+ SmsRecordEntity smsRecordEntity = saveSmsRecord(user.getPhone(), serviceOne, user.getName(), content);
+ aBoolean = false; //sendSmsGet(serviceOne, params);
+ if (aBoolean){
+ smsRecordEntity.setStatus(2);
+ smsRecordService.updateById(smsRecordEntity);
+ }
+ }
+
+ return aBoolean;
+
+ }
+
/**
* 发送短信并获取发送结果。
*
@@ -390,7 +459,7 @@
* @param code 短信中的验证码
* @param content 短信内容,其中可能包含占位符"#P_1#"用于被验证码替换
*/
- private static void saveSmsRecord(String phone, Sms serviceOne, String code, String content) {
+ private static SmsRecordEntity saveSmsRecord(String phone, Sms serviceOne, String code, String content) {
// 通过Spring工具类获取短信记录服务的实例
ISmsRecordService smsRecordService = SpringUtils.getBean(ISmsRecordService.class);
// 创建一个新的短信记录实体
@@ -405,6 +474,7 @@
smsRecordEntity.setCreateUser(AuthUtil.getUserId());
// 保存短信记录实体
smsRecordService.save(smsRecordEntity);
+ return smsRecordEntity;
}
public String sendSms(Object bizContent, String method, Sms serviceOne) throws Exception {
--
Gitblit v1.9.3