zhongrj
2023-06-30 1581ef5a1b4e24ecf21fd95ee6e4b9bd4085b2da
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -12,6 +12,7 @@
import cn.gistack.alerts.sms.service.SmsService;
import cn.gistack.alerts.sms.util.SmsUtils;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import cn.gistack.alerts.sms.vo.SmsResponseVO;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.excel.EasyExcel;
@@ -62,8 +63,11 @@
      if(validatePhone(request.getUserNumber())) {
         // 发送操作
         ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
         SmsResponseVO smsResponse = new SmsResponseVO();
         smsResponse.setCode(resultComResult.getCode().toString());
         smsResponse.setMsg(resultComResult.getMsg());
         // 记录发送记录操作
         SmsResult smsResult = smsService.saveSendResult(request, 1);
         SmsResult smsResult = smsService.saveSendResult(smsResponse,request, 1);
         if (null != smsResult){
            smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
         }
@@ -72,55 +76,6 @@
      }
      // 返回发送信息
      return R.fail(400,"该手机号不存在!");
   }
   /**
    * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
    * request
    * @param smsRequest
    * @return
    */
   @PostMapping("/sendFixedContentByNamedVariableModel")
   public R sendFixedContentByNamedVariableModel(@RequestBody SmsRequest smsRequest){
      // 处理数据(可能是多个手机号情况)
      List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
      // 保存发送结果
      // 记录保存
      SMSSendRequest request = new SMSSendRequest();
      request.setMessageContent(smsRequest.getContent());
      request.setTemplateId(smsRequest.getTemplateId());
      SmsResult smsResult = smsService.saveSendResult(request, list.size());
      // 遍历
      for (String phone : list) {
         DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
         dynSMSSendRequest.setTemplateId(smsRequest.getTemplateId());
         dynSMSSendRequest.setDynData(smsRequest.getParams());
         // 手机号校验
         if(validator(phone)) {
            // 发送邮件短信
            ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(dynSMSSendRequest);
            // 记录保存
            if (null != smsResult) {
               SMSSendRequest smsSendRequest = new SMSSendRequest();
               smsSendRequest.setUserNumber(phone);
               smsSendRequest.setMessageContent(smsRequest.getContent());
               smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
               // 记录发送记录操作
               smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
            }
         }else {
            // 手机号有误记录
            // 记录保存
            SMSSendRequest smsSendRequest = new SMSSendRequest();
            smsSendRequest.setUserNumber(phone);
            smsSendRequest.setMessageContent(smsRequest.getContent());
            smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
            // 记录发送记录操作
            smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null);
         }
      }
      return R.status(true);
   }
   /**
@@ -141,8 +96,11 @@
         request.setTemplateId(templateId);
         // 发送操作
         ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
         SmsResponseVO smsResponse = new SmsResponseVO();
         smsResponse.setCode(resultComResult.getCode().toString());
         smsResponse.setMsg(resultComResult.getMsg());
         // 记录发送记录操作
         SmsResult smsResult = smsService.saveSendResult(request, 1);
         SmsResult smsResult = smsService.saveSendResult(smsResponse,request, 1);
         if (null != smsResult){
            smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
         }
@@ -192,40 +150,8 @@
      // 处理数据(可能是多个手机号情况)
      List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
      // 保存发送结果
      // 记录保存
      SMSSendRequest request = new SMSSendRequest();
      request.setMessageContent(smsRequest.getContent());
      request.setTemplateId("2431012165299");
      SmsResult smsResult = smsService.saveSendResult(request, list.size());
      // 遍历
      for (String phone : list) {
         DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
         dynSMSSendRequest.setTemplateId("2431012165299");
         dynSMSSendRequest.setDynData(new String[][]{{"手机号码", "标题"}, {phone, smsRequest.getContent()}});
         // 手机号校验
         if(validator(phone)) {
            // 发送邮件短信
            ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(dynSMSSendRequest);
            // 记录保存
            if (null != smsResult) {
               SMSSendRequest smsSendRequest = new SMSSendRequest();
               smsSendRequest.setUserNumber(phone);
               smsSendRequest.setMessageContent(smsRequest.getContent());
               smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
               // 记录发送记录操作
               smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
            }
         }else {
            // 手机号有误记录
            // 记录保存
            SMSSendRequest smsSendRequest = new SMSSendRequest();
            smsSendRequest.setUserNumber(phone);
            smsSendRequest.setMessageContent(smsRequest.getContent());
            smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
            // 记录发送记录操作
            smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null);
         }
      }
      smsService.sendEmailMsg(list,smsRequest);
      // 返回
      return R.status(true);
   }