From ba3ec5d7b984bab62c1d4d6085b5cfd0e3a642df Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 06 Jun 2025 14:13:01 +0800
Subject: [PATCH] 短信验证码

---
 oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java                        |   15 ++++---
 oying-tools/src/main/java/com/oying/utils/WinnerLookEnum.java                          |   64 ++++++++++++++++----------------
 oying-system/src/main/java/com/oying/modules/security/rest/VerificationController.java |    4 +-
 3 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/security/rest/VerificationController.java b/oying-system/src/main/java/com/oying/modules/security/rest/VerificationController.java
index cd6d3d6..01d120f 100644
--- a/oying-system/src/main/java/com/oying/modules/security/rest/VerificationController.java
+++ b/oying-system/src/main/java/com/oying/modules/security/rest/VerificationController.java
@@ -43,8 +43,8 @@
         //创建验证码
         String verification = (int) ((Math.random() * 9 + 1) * 100000) + "";
         redisUtils.set(uuid, verification, time);
-        String message = "您的验证码为:" + verification + ",请勿泄露于他人!";
-        SendMessageUtils.sendMsg(properties.getUrlSendMsg(), phone, message, properties);
+        SendMessageUtils.sendMsg(properties.getUrlSendMsg(), phone, SendMessageUtils.SIGN,
+                SendMessageUtils.MESSAGE.replace("{code}", verification), properties);
         return ResponseEntity.ok(R.success(uuid));
     }
 }
diff --git a/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java b/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java
index c3ce8dd..8be1331 100644
--- a/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java
+++ b/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java
@@ -24,21 +24,24 @@
 @Data
 public class SendMessageUtils {
 
-    public static void sendMsg(String url, String phone, String message, WinnerLookProperties properties) {
+    public static final String SIGN = "【立研】";
+    public static final String MESSAGE = "您的验证码为:{code},请勿泄露于他人!";
+
+    public static void sendMsg(String url, String phone, String sign, String message, WinnerLookProperties properties) {
         Map<String, String> params = new HashMap<>();
         params.put("userCode", properties.getUserCode());
         params.put("userPass", properties.getUserPass());
         params.put("DesNo", phone);
-        params.put("Msg", message + "【立研】");
+        params.put("Msg", sign + message);
         params.put("smsType", "101");
-        String str = HttpRequest.exchangeMsg(HttpMethod.POST, url, convert(params));
-        if (ObjectUtils.isEmpty(extractWithRegex(str))) {
+        String str = extractWithRegex(HttpRequest.exchangeMsg(HttpMethod.POST, url, convert(params)));
+        if (ObjectUtils.isEmpty(str)) {
             log.error("短信调用异常 {}", str);
             throw new BadRequestException("短信调用异常");
         }
-        int i = Integer.parseInt(str);
+        long i = Long.parseLong(str);
         if (i < 0) {
-            throw new BadRequestException(WinnerLookEnum.find(i));
+            throw new BadRequestException(WinnerLookEnum.find(str));
         }
     }
 
diff --git a/oying-tools/src/main/java/com/oying/utils/WinnerLookEnum.java b/oying-tools/src/main/java/com/oying/utils/WinnerLookEnum.java
index 8d8ac90..73429de 100644
--- a/oying-tools/src/main/java/com/oying/utils/WinnerLookEnum.java
+++ b/oying-tools/src/main/java/com/oying/utils/WinnerLookEnum.java
@@ -6,42 +6,42 @@
 @Getter
 @AllArgsConstructor
 public enum WinnerLookEnum {
-    ONE(-1, "应用程序错误"),
-    THREE(-3, "用户名或密码错误"),
-    FOUR(-4, "短信内容和备案的模板不一样"),
-    FIVE(-5, "签名不正确"),
-    SEVEN(-7, "余额不足"),
-    EIGHT(-8, "无可用通道或不在通道时间范围"),
-    NINE(-9, "无效号码"),
-    TEN(-10, "签名内容不符合长度"),
-    ELEVEN(-11, "用户有效期过期"),
-    TWELVE(-12, "黑名单"),
-    SIXTEEN(-16, "接口请求过于频繁,余额接口 5s 秒一次,其他接口适当调整"),
-    SEVENTEEN(-17, "非法 IP"),
-    EIGHTEEN(-18, "Msg 内容格式错误"),
-    NINETEEN(-19, "短信数量错误,小于 1 /大于 500(个性化)/大于 1000(群发)"),
-    TWENTY(-20, "号码错误或者黑名单"),
-    TWENTY_THREE(-23, "解密失败"),
-    TWENTY_FOUR(-24, "短信包含用户敏感信息"),
-    TWENTY_FIVE(-25, "用户被冻结"),
-    TWENTY_SIX(-26, "无效数据"),
-    TWENTY_SEVEN(-27, "请求参数错误"),
-    TWENTY_EIGHT(-28, "无效数据"),
-    FORTY_ONE(-41, "指定短信模板类型错误或短信类型参数错误"),
-    FORTY_FOUR(-44, "自定义扩展号不符合规则(1-16 位数字)"),
-    FORTY_SIX(-46, "用户黑名单"),
-    FORTY_SEVEN(-47, "系统黑名单"),
-    FORTY_EIGHT(-48, "号码超频拦截"),
-    FIFTY_ONE(-51, "超过设置的每月短信条数的限制"),
-    FIFTY_FIVE(-54, "短信包含系统敏感信息"),
-    ZERO(0, "未知错误");
+    ONE("-1", "应用程序错误"),
+    THREE("-3", "用户名或密码错误"),
+    FOUR("-4", "短信内容和备案的模板不一样"),
+    FIVE("-5", "签名不正确"),
+    SEVEN("-7", "余额不足"),
+    EIGHT("-8", "无可用通道或不在通道时间范围"),
+    NINE("-9", "无效号码"),
+    TEN("-10", "签名内容不符合长度"),
+    ELEVEN("-11", "用户有效期过期"),
+    TWELVE("-12", "黑名单"),
+    SIXTEEN("-16", "接口请求过于频繁,余额接口 5s 秒一次,其他接口适当调整"),
+    SEVENTEEN("-17", "非法 IP"),
+    EIGHTEEN("-18", "Msg 内容格式错误"),
+    NINETEEN("-19", "短信数量错误,小于 1 /大于 500(个性化)/大于 1000(群发)"),
+    TWENTY("-20", "号码错误或者黑名单"),
+    TWENTY_THREE("-23", "解密失败"),
+    TWENTY_FOUR("-24", "短信包含用户敏感信息"),
+    TWENTY_FIVE("-25", "用户被冻结"),
+    TWENTY_SIX("-26", "无效数据"),
+    TWENTY_SEVEN("-27", "请求参数错误"),
+    TWENTY_EIGHT("-28", "无效数据"),
+    FORTY_ONE("-41", "指定短信模板类型错误或短信类型参数错误"),
+    FORTY_FOUR("-44", "自定义扩展号不符合规则(1-16 位数字)"),
+    FORTY_SIX("-46", "用户黑名单"),
+    FORTY_SEVEN("-47", "系统黑名单"),
+    FORTY_EIGHT("-48", "号码超频拦截"),
+    FIFTY_ONE("-51", "超过设置的每月短信条数的限制"),
+    FIFTY_FIVE("-54", "短信包含系统敏感信息"),
+    ZERO("0", "未知错误");
 
-    private final int key;
+    private final String key;
     private final String value;
 
-    public static String find(Integer key) {
+    public static String find(String key) {
         for (WinnerLookEnum value : WinnerLookEnum.values()) {
-            if (value.getKey() == key) {
+            if (value.getKey().equals(key)) {
                 return value.getValue();
             }
         }

--
Gitblit v1.9.3