From 29358cfe9b8da07f852c69a57f5d8fedcbbf116e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 05 Jun 2023 20:32:53 +0800
Subject: [PATCH] 新增站内信记录保存

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java |   75 +++++++++++++++----------------------
 1 files changed, 31 insertions(+), 44 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 d28a4f1..cf95f9c 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,18 +1,19 @@
 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.service.ISmsRecordService;
+import cn.gistack.alerts.sms.feign.ISmsRecordClient;
 import cn.gistack.sm.sms.util.SmsUtils;
 import cn.gistack.system.user.entity.User;
 import cn.gistack.system.user.feign.IUserClient;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -29,16 +30,11 @@
 @AllArgsConstructor
 public class SmsController {
 
-	private final ISmsRecordService smsRecordService;
-
 	private final BladeRedis bladeRedis;
 
 	private final IUserClient userClient;
 
-	@GetMapping("/test")
-	public void setRedis(){
-		saveCodeForRedis("super_admin","123456");
-	}
+	private final ISmsRecordClient smsRecordClient;
 
 	/**
 	 * 发送登录验证码
@@ -47,7 +43,7 @@
 	 * @return
 	 */
 	@PostMapping("/sendCode")
-	public R test(@RequestBody SMSSendRequest request){
+	public R sendCode(@RequestBody SMSSendRequest request){
 		// 手机号码校验
 		if(validatePhone(request.getUserNumber())) {
 			//设置模板相关信息
@@ -57,13 +53,21 @@
 			request.setMessageContent(content);
 			request.setTemplateId(templateId);
 			// 发送操作
-			String sendMsg = SmsUtils.sendMsg(request);
-			// 记录发送记录操作
-			saveSendRecord(request, sendMsg);
+			ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
+			String sendMsg =JSON.toJSONString(resultComResult);
+			JSONObject jsonObject = JSON.parseObject(sendMsg);
 			// 保存验证码到 redis
 			saveCodeForRedis(request.getUserNumber(), randNumber);
+			// 记录发送记录操作
+			smsRecordClient.saveSmsRecord(
+				request.getUserNumber(),
+				request.getMessageContent(),
+				request.getTemplateId(),
+				resultComResult.getCode().toString(),
+				resultComResult.getMsg(),
+				1);
 			// 返回发送信息
-			return R.data(sendMsg);
+			return R.data(jsonObject);
 		}
 		// 返回发送信息
 		return R.fail(400,"该手机号不存在!");
@@ -78,7 +82,7 @@
 		// 校验手机号码正确性
 		if (validator(userNumber)){
 			// 校验该账户是否已注册,通过手机号查询用户是否存在,tenantId 暂时写死,未登陆情况 tenantId 获取不到
-			R<List<User>> list = userClient.userInfoByPhone("000000", userNumber);
+			R<List<User>> list = userClient.userInfoByPhoneOrAccount("000000", userNumber);
 			if (list.getData().size()>0){
 				return true;
 			}
@@ -91,15 +95,18 @@
 	 * 校验手机号码
 	 */
 	public static boolean validator(String phone) {
-		String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";
-		if (phone.length() != 11) {
-			return false;
-		} else {
-			Pattern p = Pattern.compile(regex);
-			Matcher m = p.matcher(phone);
-			boolean isMatch = m.matches();
-			return isMatch;
+		if (null!=phone && !phone.equals("")) {
+			String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";
+			if (phone.length() != 11) {
+				return false;
+			} else {
+				Pattern p = Pattern.compile(regex);
+				Matcher m = p.matcher(phone);
+				boolean isMatch = m.matches();
+				return isMatch;
+			}
 		}
+		return false;
 	}
 
 	/**
@@ -109,25 +116,5 @@
 	 */
 	private void saveCodeForRedis(String userNumber, String randNumber) {
 		bladeRedis.setEx(PHONE_KEY + userNumber,randNumber,5*60L);
-	}
-
-	/**
-	 * 发送记录保存
-	 * @param request 发送信息
-	 * @param sendMsg 响应数据
-	 */
-	private void saveSendRecord(SMSSendRequest request, String sendMsg) {
-		SmsRecord smsRecord = new SmsRecord();
-		smsRecord.setPhone(request.getUserNumber());
-		smsRecord.setContent(request.getMessageContent());
-		smsRecord.setTemplateId(request.getTemplateId());
-		smsRecord.setResContent(sendMsg);
-		//插入记录
-		smsRecordService.save(smsRecord);
-	}
-
-	@PostMapping("/test1")
-	public R test1(@RequestBody DynSMSSendRequest request){
-		return R.data(SmsUtils.dynSendMethod(request));
 	}
 }

--
Gitblit v1.9.3