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