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