From ebf10ccf6217dfeebad750b4f4bb9ef4d9af68b0 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 02 Jun 2023 16:14:52 +0800
Subject: [PATCH] 新增告警模块,告警相关(告警信息,短信相关)代码从 sm 模块抽离
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java | 226 +++-----------------------------------------------------
1 files changed, 14 insertions(+), 212 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
index 9159806..b414803 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -1,15 +1,10 @@
package cn.gistack.sm.sms.controller;
-import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
+import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
+import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
-import cn.gistack.sm.sms.entity.SmsRecord;
-import cn.gistack.sm.sms.entity.SmsRequest;
-import cn.gistack.sm.sms.entity.SmsResult;
-import cn.gistack.sm.sms.service.ISmsRecordService;
-import cn.gistack.sm.sms.service.ISmsResultService;
-import cn.gistack.sm.sms.service.SmsService;
+import cn.gistack.alerts.sms.feign.ISmsRecordClient;
import cn.gistack.sm.sms.util.SmsUtils;
-import cn.gistack.sm.sms.vo.SmsRequestTemplate;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.fastjson.JSON;
@@ -19,8 +14,6 @@
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
-
-import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -37,94 +30,11 @@
@AllArgsConstructor
public class SmsController {
- private final ISmsRecordService smsRecordService;
-
- private final ISmsResultService smsResultService;
-
- private final SmsService smsService;
-
private final BladeRedis bladeRedis;
private final IUserClient userClient;
- @GetMapping("/test")
- public void setRedis(){
- saveCodeForRedis("super_admin","123456");
- }
-
- /**
- * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
- * request 必须包含手机号,模板id,拼接好的内容
- * @param request
- * @return
- */
- @PostMapping("/sendFixedContentByXXModel")
- public R sendFixedContentByXXModel(@RequestBody SMSSendRequest request){
- // 手机号码校验
- if(validatePhone(request.getUserNumber())) {
- // 发送操作
- String sendMsg = JSON.toJSONString(SmsUtils.sendMsg(request));
- JSONObject jsonObject = JSON.parseObject(sendMsg);
- // 记录发送记录操作
- SmsResult smsResult = saveSendResult(request, 1);
- if (null != smsResult){
- saveSendRecord(request, sendMsg,smsResult.getId());
- }
- // 返回发送信息
- return R.data(jsonObject);
- }
- // 返回发送信息
- return R.fail(400,"该手机号不存在!");
- }
-
-
- /**
- * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
- * request 必须包含手机号,模板id,拼接好的内容
- * @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 = saveSendResult(request, list.size());
- // 遍历
- for (String phone : list) {
- DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
- dynSMSSendRequest.setTemplateId(smsRequest.getTemplateId());
- dynSMSSendRequest.setDynData(smsRequest.getParams());
- // 手机号校验
- if(validator(phone)) {
- // 发送邮件短信
- String dynSendMsg = JSON.toJSONString(SmsUtils.dynSendMethod(dynSMSSendRequest));
- // 记录保存
- if (null != smsResult) {
- SMSSendRequest smsSendRequest = new SMSSendRequest();
- smsSendRequest.setUserNumber(phone);
- smsSendRequest.setMessageContent(smsRequest.getContent());
- smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
- // 记录发送记录操作
- saveSendRecord(smsSendRequest, dynSendMsg,smsResult.getId());
- }
- }else {
- // 手机号有误记录
- // 记录保存
- SMSSendRequest smsSendRequest = new SMSSendRequest();
- smsSendRequest.setUserNumber(phone);
- smsSendRequest.setMessageContent(smsRequest.getContent());
- smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
- // 记录发送记录操作
- saveSendRecord(smsSendRequest, "手机号错误未发送...",null);
- }
- }
- return R.status(true);
- }
+ private final ISmsRecordClient smsRecordClient;
/**
* 发送登录验证码
@@ -143,15 +53,19 @@
request.setMessageContent(content);
request.setTemplateId(templateId);
// 发送操作
- String sendMsg =JSON.toJSONString(SmsUtils.sendMsg(request));
+ ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
+ String sendMsg =JSON.toJSONString(resultComResult);
JSONObject jsonObject = JSON.parseObject(sendMsg);
- // 记录发送记录操作
- SmsResult smsResult = saveSendResult(request, 1);
- if (null != smsResult){
- saveSendRecord(request, sendMsg,smsResult.getId());
- }
// 保存验证码到 redis
saveCodeForRedis(request.getUserNumber(), randNumber);
+ // 记录发送记录操作
+ smsRecordClient.saveSmsRecord(
+ request.getUserNumber(),
+ request.getMessageContent(),
+ request.getTemplateId(),
+ resultComResult.getCode(),
+ resultComResult.getMsg(),
+ 1);
// 返回发送信息
return R.data(jsonObject);
}
@@ -202,117 +116,5 @@
*/
private void saveCodeForRedis(String userNumber, String randNumber) {
bladeRedis.setEx(PHONE_KEY + userNumber,randNumber,5*60L);
- }
-
- /**
- * 发送记录保存
- * @param request 发送信息
- * @param sendMsg 响应数据
- * @param resultId 发送结果id
- */
- private void saveSendRecord(SMSSendRequest request, String sendMsg,Long resultId) {
- // 在保存明细
- SmsRecord smsRecord = new SmsRecord();
- smsRecord.setTel(request.getUserNumber());
- smsRecord.setContent(request.getMessageContent());
- smsRecord.setTemplateId(request.getTemplateId());
- smsRecord.setResContent(sendMsg);
- smsRecord.setResultId(resultId);
- // 解析 sendMsg
- JSONObject jsonObject = JSON.parseObject(sendMsg);
- smsRecord.setResponseStatus(jsonObject.getString("code"));
- smsRecord.setResponseMsg(jsonObject.getString("msg"));
- //插入记录
- smsRecordService.save(smsRecord);
- }
-
- /**
- * 发送记录保存
- * @param request 发送信息
- * @param number 号码个数
- */
- private SmsResult saveSendResult(SMSSendRequest request,Integer number) {
- // 先保存结果表
- SmsResult smsResult = new SmsResult();
- smsResult.setTemplateId(request.getTemplateId());
- smsResult.setContent(request.getMessageContent());
- smsResult.setNumber(number);
- //插入记录
- boolean save = smsResultService.save(smsResult);
- if (save){
- return smsResult;
- }
- // 返回
- return null;
- }
-
-
-
- /**
- * 发送邮件提醒
- * @param smsRequest
- * @return
- */
- @PostMapping("/sendEmailMsg")
- public R sendEmailMsg(@RequestBody SmsRequest smsRequest){
- // 处理数据(可能是多个手机号情况)
- List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
- // 保存发送结果
- // 记录保存
- SMSSendRequest request = new SMSSendRequest();
- request.setMessageContent(smsRequest.getContent());
- request.setTemplateId("2431012165299");
- SmsResult smsResult = 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)) {
- // 发送邮件短信
- String dynSendMsg = JSON.toJSONString(SmsUtils.dynSendMethod(dynSMSSendRequest));
- // 记录保存
- if (null != smsResult) {
- SMSSendRequest smsSendRequest = new SMSSendRequest();
- smsSendRequest.setUserNumber(phone);
- smsSendRequest.setMessageContent(smsRequest.getContent());
- smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
- // 记录发送记录操作
- saveSendRecord(smsSendRequest, dynSendMsg,smsResult.getId());
- }
- }else {
- // 手机号有误记录
- // 记录保存
- SMSSendRequest smsSendRequest = new SMSSendRequest();
- smsSendRequest.setUserNumber(phone);
- smsSendRequest.setMessageContent(smsRequest.getContent());
- smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
- // 记录发送记录操作
- saveSendRecord(smsSendRequest, "手机号错误未发送...",null);
- }
- }
- return R.status(true);
- }
-
- /**
- * 发送 xx 变量模板短信
- * @param smsRequest 发送对象
- * @return
- */
- @PostMapping("/sendXXMsg")
- public R sendXXMsg(@RequestBody SmsRequestTemplate smsRequest){
- return R.data(smsService.sendXXMsg(smsRequest.getSmsRequest(),smsRequest.getPhoneNumbers()));
- }
-
-
- /**
- * 发送 具名 变量模板短信
- * @param smsRequest 发送对象
- * @return
- */
- @PostMapping("/sendSignMsg")
- public R sendSignMsg(@RequestBody SmsRequestTemplate smsRequest){
- return R.data(smsService.sendSignMsg(smsRequest));
}
}
--
Gitblit v1.9.3