linwe
2024-08-12 c99a50faea926e3c5de693cdaabb89c457189eed
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 {