zhongrj
2023-05-30 d1a57df817c236bc751b01a4b5c595007dc6ca77
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsServiceImpl.java
@@ -14,7 +14,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 短信发送服务实现层
@@ -64,30 +66,65 @@
    * @return
    */
   @Override
   public Object sendSignMsg(String title, String content, SMSSendRequest request) {
      String[] titleArr = title.split(",");
      String[] rows = content.split(";");
      String[][] dyns = new String[rows.length + 1][titleArr.length];
      dyns[0] = titleArr;
      int rowNum = 1;
      for (String row : rows) {
         String[] cols = row.split(",");
         dyns[rowNum++] = cols;
   public Object sendSignMsg(String title, String content, SMSSendRequest request,Integer type) {
      if (type==1){
         String[] rows = content.split(";");
         // 先保存结果记录
         SmsResult smsResult = saveSendResult(request, rows.length);
         List<SmsRecord> list = new ArrayList<>();
         // 遍历发送短信
         for (String row : rows) {
            String[][] dyns = new String[][]{{title}, {row}};
            //请求参数
            DynSMSSendRequest sendRequest = new DynSMSSendRequest();
            sendRequest.setTemplateId(request.getTemplateId());
            sendRequest.setDynData(dyns);
            // 发送
            ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest);
            SmsRecord smsRecord = new SmsRecord();
            if (null != smsResult){
               // 保存记录
               smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
            }
            list.add(smsRecord);
         }
         Map<String, Object> map = new HashMap<>(2);
         map.put("smsRecord",list);
         map.put("smsResult",smsResult);
         // 返回
         return map;
      }
      //请求参数
      DynSMSSendRequest sendRequest = new DynSMSSendRequest();
      sendRequest.setTemplateId(request.getTemplateId());
      sendRequest.setDynData(dyns);
      // 发送
      ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest);
      // 先保存结果记录
      SmsResult smsResult = saveSendResult(request, rows.length);
      if (null != smsResult){
         // 保存记录
         saveSmsRecord(request,resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId());
      if (type==2){
         String[] titleArr = title.split(",");
         String[] rows = content.split(";");
         String[][] dyns = new String[rows.length + 1][titleArr.length];
         dyns[0] = titleArr;
         int rowNum = 1;
         for (String row : rows) {
            String[] cols = row.split(",");
            dyns[rowNum++] = cols;
         }
         //请求参数
         DynSMSSendRequest sendRequest = new DynSMSSendRequest();
         sendRequest.setTemplateId(request.getTemplateId());
         sendRequest.setDynData(dyns);
         // 发送
         ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(sendRequest);
         // 先保存结果记录
         SmsResult smsResult = saveSendResult(request, rows.length);
         SmsRecord smsRecord = new SmsRecord();
         if (null != smsResult){
            // 保存记录
            smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
         }
         Map<String, Object> map = new HashMap<>(2);
         map.put("smsRecord",smsRecord);
         map.put("smsResult",smsResult);
         // 返回
         return map;
      }
      // 返回
      return resultComResult;
      return null;
   }
   /**
@@ -97,7 +134,7 @@
    * @param msg 响应消息
    * @param resultId
    */
   private void saveSmsRecord(SMSSendRequest request,Integer code,String msg, Long resultId) {
   private SmsRecord saveSmsRecord(SMSSendRequest request,Integer code,String msg, Long resultId) {
      // 在保存明细
      SmsRecord smsRecord = new SmsRecord();
      smsRecord.setTel(request.getUserNumber());
@@ -108,6 +145,8 @@
      smsRecord.setResponseMsg(msg);
      //插入记录
      smsRecordService.save(smsRecord);
      // 返回
      return smsRecord;
   }
   /**