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 |   84 +++++++++++++++++++++++++-----------------
 1 files changed, 50 insertions(+), 34 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 4537d86..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,14 +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;
@@ -358,6 +360,11 @@
 	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) {
@@ -370,38 +377,46 @@
 			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);
+			}
+		}
 
-		//发送的手机号
-		List<Map> phonesList = new ArrayList<>();
-		Map phoneMap = new HashMap();
-		// phoneMap.put("phone", phone);
-		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());
-		//短信发送记录
-		// saveSmsRecord(phone, serviceOne, placeSelfCheckEntity.getPlaceName(), content);
-		Boolean aBoolean = sendSmsGet(serviceOne, params);
 		return aBoolean;
 
 	}
@@ -444,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);
 		// 创建一个新的短信记录实体
@@ -459,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