From 0d1abeb26fa722bddd42e09dd6237f3652ddc8ed Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 23 Apr 2023 19:43:07 +0800
Subject: [PATCH] 智能外呼接口修改
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java | 67 ++++++++++++++++++++++++++++++---
1 files changed, 61 insertions(+), 6 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 d374974..0660f43 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,13 +1,15 @@
package cn.gistack.sm.sms.controller;
+import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
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.sm.sms.util.SmsUtils;
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.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* 短信发送控制层
@@ -20,8 +22,61 @@
@AllArgsConstructor
public class SmsController {
- @GetMapping("/test")
- public R test(SMSSendRequest request){
- return R.data(SmsUtils.sendMsg(request));
+ private final ISmsRecordService smsRecordService;
+
+
+ private final BladeRedis bladeRedis;
+
+ /**
+ * 发送登录验证码
+ * request 必须包含手机号(多个手机号以英文逗号分隔)
+ * @param request
+ * @return
+ */
+ @PostMapping("/sendCode")
+ public R test(@RequestBody SMSSendRequest request){
+ //设置模板相关信息
+ String templateId = "2431012205498";
+ String randNumber = SmsUtils.getRandNumber();
+ String content = "您的登录验证码是" + randNumber + ",5分钟内有效,请勿泄漏,如非本人操作,请忽略此信息";
+ request.setMessageContent(content);
+ request.setTemplateId(templateId);
+ // 发送操作
+ String sendMsg = SmsUtils.sendMsg(request);
+ // 记录发送记录操作
+ saveSendRecord(request,sendMsg);
+ // 保存验证码到 redis
+ saveCodeForRedis(request.getUserNumber(),randNumber);
+ // 返回发送信息
+ return R.data(sendMsg);
+ }
+
+ /**
+ * 保存验证码到 redis
+ * @param userNumber
+ * @param randNumber
+ */
+ private void saveCodeForRedis(String userNumber, String randNumber) {
+ bladeRedis.setEx(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