| | |
| | | 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; |
| | |
| | | // 记录发送记录操作 |
| | | SmsResult smsResult = smsService.saveSendResult(request, 1); |
| | | if (null != smsResult){ |
| | | smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | // 返回发送信息 |
| | | return R.data(resultComResult); |
| | |
| | | |
| | | /** |
| | | * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板) |
| | | * request 必须包含手机号,模板id,拼接好的内容 |
| | | * request |
| | | * @param smsRequest |
| | | * @return |
| | | */ |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | }else { |
| | | // 手机号有误记录 |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null); |
| | | smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null); |
| | | } |
| | | } |
| | | return R.status(true); |
| | |
| | | // 记录发送记录操作 |
| | | SmsResult smsResult = smsService.saveSendResult(request, 1); |
| | | if (null != smsResult){ |
| | | smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | // 保存验证码到 redis |
| | | saveCodeForRedis(request.getUserNumber(), randNumber); |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | }else { |
| | | // 手机号有误记录 |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null); |
| | | smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null); |
| | | } |
| | | } |
| | | return R.status(true); |
| | |
| | | |
| | | |
| | | /** |
| | | * 发送 具名 变量模板短信 |
| | | * 发送 具名 变量模板短信(告警定制) |
| | | * @param smsRequest 发送对象 |
| | | * @return |
| | | */ |
| | |
| | | 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)); |
| | | } |
| | | } |