zhongrj
2023-06-30 b1d7e4ca2e5f50ab40bb2b223861baf1e5231af7
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -7,18 +7,26 @@
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsRequest;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.excel.SendRainSmsExcel;
import cn.gistack.alerts.sms.listener.ExcelListener;
import cn.gistack.alerts.sms.service.SmsService;
import cn.gistack.alerts.sms.util.SmsUtils;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.excel.EasyExcel;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static cn.gistack.common.cache.CacheNames.PHONE_KEY;
@@ -72,7 +80,7 @@
   /**
    * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
    * request 必须包含手机号,模板id,拼接好的内容
    * request
    * @param smsRequest
    * @return
    */
@@ -254,7 +262,7 @@
   /**
    * 发送 具名 变量模板短信
    * 发送 具名 变量模板短信(告警定制)
    * @param smsRequest 发送对象
    * @return
    */
@@ -262,4 +270,46 @@
   public R sendSignMsg(@RequestBody SmsRequestTemplate smsRequest){
      return R.data(smsService.sendSignMsg(smsRequest));
   }
   /**
    * 发送降雨短信
    * @param params 发送对象
    * @return
    */
   @PostMapping("/sendSignRainMsg")
   public R sendSignRainMsg(@RequestBody Map<String,Object> params){
      return R.data(smsService.sendSignRainMsg(params));
   }
   /**
    * 通过手机号获取外呼未接通已发短信通知的人员水库信息
    * @param callId 呼叫id
    * @return
    */
   @GetMapping("/getCallNotConnectSmsNoticeInfo")
   public R getCallNotConnectSmsNoticeInfo(String callId){
      return R.data(smsService.getCallNotConnectSmsNoticeInfo(callId));
   }
   /**
    * 导入表格发送降雨短信
    * @param file excel文件
    * @param startTime 短信内容填报起始时间
    * @param endTime 短信内容填报截止时间
    * @return
    */
   @PostMapping("/import-send-rain-sms")
   public R importSendRainSms(MultipartFile file,String startTime,String endTime){
      ExcelListener<SendRainSmsExcel> listener = new ExcelListener<>();
      //headRowNumber(1)从第2行开始读取,使用getDatas()方法取出数据
      try {
         EasyExcel.read(file.getInputStream(), SendRainSmsExcel.class, listener).headRowNumber(1).sheet(0).doRead();
      } catch (IOException e) {
         e.printStackTrace();
      }
      List<SendRainSmsExcel> list = listener.getDatas();
      // 导入并返回
      return R.data(smsService.importSendRainSms(list,startTime,endTime));
   }
}