tsurumure 8 ay önce
ebeveyn
işleme
e3eb385cbb

+ 19 - 0
db/sys_sms.sql

@@ -0,0 +1,19 @@
+/**
+Source Server Version: 8.0.31
+Source Database: backendsys
+Date: 2023/05/23 17:09:22
+*/
+
+DROP TABLE IF EXISTS `sys_sms`;
+
+CREATE TABLE `sys_sms` (
+    PRIMARY KEY (`id`),
+    `id` BIGINT(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `origin` VARCHAR(20) COMMENT '来源',
+    `phone_area_code` VARCHAR(20) COMMENT '区号/国家码',
+    `phone` VARCHAR(20) NOT NULL COMMENT '手机号码',
+    `sms_code` VARCHAR(255) COMMENT '验证码',
+    `ip` VARCHAR(255) COMMENT 'IP',
+    `ua` VARCHAR(255) COMMENT 'User Agent',
+    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
+) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统短信记录表';

+ 21 - 19
db/sys_sms_history.sql

@@ -1,19 +1,21 @@
-/**
-Source Server Version: 8.0.31
-Source Database: backendsys
-Date: 2023/05/23 17:09:22
-*/
-
-DROP TABLE IF EXISTS `sys_mobile_sms_history`;
-
-CREATE TABLE `sys_mobile_sms_history` (
-    PRIMARY KEY (`id`),
-    `id` BIGINT(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
-    `origin` VARCHAR(20) COMMENT '来源',
-    `phone_area_code` VARCHAR(20) COMMENT '区号/国家码',
-    `phone` VARCHAR(20) NOT NULL COMMENT '手机号码',
-    `sms_code` VARCHAR(255) COMMENT '验证码',
-    `ip` VARCHAR(255) COMMENT 'IP',
-    `ua` VARCHAR(255) COMMENT 'User Agent',
-    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统短信记录表';
+# /**
+# Source Server Version: 8.0.31
+# Source Database: backendsys
+# Date: 2023/05/23 17:09:22
+# */
+#
+# /* 即将弃用 */
+#
+# DROP TABLE IF EXISTS `sys_mobile_sms_history`;
+#
+# CREATE TABLE `sys_mobile_sms_history` (
+#     PRIMARY KEY (`id`),
+#     `id` BIGINT(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
+#     `origin` VARCHAR(20) COMMENT '来源',
+#     `phone_area_code` VARCHAR(20) COMMENT '区号/国家码',
+#     `phone` VARCHAR(20) NOT NULL COMMENT '手机号码',
+#     `sms_code` VARCHAR(255) COMMENT '验证码',
+#     `ip` VARCHAR(255) COMMENT 'IP',
+#     `ua` VARCHAR(255) COMMENT 'User Agent',
+#     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
+# ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统短信记录表';

+ 9 - 9
src/main/java/com/backendsys/controller/Systems/SysSMSController.java

@@ -18,15 +18,15 @@ public class SysSMSController {
     @Autowired
     private SDKTencentSMSService sdkTencentSMSService;
 
-    /**
-     * [腾讯云] 获得短信验证码
-     */
-    @PostMapping("/api/public/system/sms/getSMS")
-    public Result getSMS(@Validated(SysSMSDTO.Send.class) @RequestBody SysSMSDTO sysSMSDTO, HttpServletRequest request) {
-        sysSMSDTO.setIp(request.getRemoteAddr());
-        sysSMSDTO.setUa(request.getHeader("User-Agent"));
-        return Result.success(sdkTencentSMSService.sendSMS(sysSMSDTO));
-    }
+//    /**
+//     * [腾讯云] 获得短信验证码
+//     */
+//    @PostMapping("/api/public/system/sms/getSMS")
+//    public Result getSMS(@Validated(SysSMSDTO.Send.class) @RequestBody SysSMSDTO sysSMSDTO, HttpServletRequest request) {
+//        sysSMSDTO.setIp(request.getRemoteAddr());
+//        sysSMSDTO.setUa(request.getHeader("User-Agent"));
+//        return Result.success(sdkTencentSMSService.sendSMS(sysSMSDTO));
+//    }
 
     /**
      * [腾讯云] 拉取回执状态

+ 1 - 3
src/main/java/com/backendsys/modules/sms/controller/SmsController.java

@@ -20,12 +20,10 @@ public class SmsController {
     @Autowired
     private SmsService smsService;
 
-
-
     /**
      * 发送短信
      */
-    @PostMapping("/api/v2/public/system/sms/getSMS")
+    @PostMapping("/api/public/system/sms/getSMS")
     public Result getSMS(@Validated(Sms.Send.class) @RequestBody Sms sms) throws TencentCloudSDKException {
         return Result.success().put("data", smsService.sendValidCode(sms));
     }

+ 1 - 1
src/main/java/com/backendsys/modules/sms/entity/Sms.java

@@ -9,7 +9,7 @@ import jakarta.validation.constraints.Size;
 import lombok.Data;
 
 @Data
-@TableName("sys_mobile_sms_history")
+@TableName("sys_sms")
 public class Sms {
     public static interface Send{}
     private Long id;

+ 4 - 3
src/main/java/com/backendsys/modules/sms/service/impl/SmsServiceImpl.java

@@ -48,11 +48,11 @@ public class SmsServiceImpl implements SmsService {
         String phone = sms.getPhone();
         Integer phoneAreaCode = sms.getPhone_area_code();
 
-        // 生成一个6位的随机整数 (验证码) (5分钟失效)
         Integer smsExpire = 5;
-        Integer smsCode =  RandomUtil.randomInt(100000, 999999);
+        Integer smsCode =  RandomUtil.randomInt(100000, 999999);    // 生成一个6位的随机整数 (验证码) (5分钟失效)
         sms.setSms_code(smsCode);
 
+        // -- 腾讯云短信 ------------------------------------------------
         // 模板参数 {1} 验证码, {2} 过期时间(分钟)
         // 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空
         String[] templateParamSet = {String.valueOf(smsCode), String.valueOf(smsExpire)};
@@ -60,7 +60,6 @@ public class SmsServiceImpl implements SmsService {
         // 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
         String[] phoneNumberSet = {"+" + phoneAreaCode + phone};
         SendSmsResponse sendSmsResponse = tencentSmsService.send(TEMPLATE_ID_COMMON, templateParamSet, phoneNumberSet);
-
         if (sendSmsResponse != null) {
             SendStatus[] sendStatuses = sendSmsResponse.getSendStatusSet();
             if (sendStatuses.length > 0) {
@@ -72,6 +71,8 @@ public class SmsServiceImpl implements SmsService {
                 }
             }
         }
+        // ------------------------------------------------------------
+
         // -- 发送成功 --------------------------------------------------
         // [Redis] 将 来源+手机号码 为标识,将验证码存入缓存
         String redisKey = "sms-" + origin + "-" + phone;