From 5ce072de78ae263b52dc0e2be5c7391b23c093cf Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 27 Apr 2025 18:29:22 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/utils/smsUtil/smsUtil.java | 60 +++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 35 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/nq/utils/smsUtil/smsUtil.java b/src/main/java/com/nq/utils/smsUtil/smsUtil.java
index b885f4a..5eae1e7 100644
--- a/src/main/java/com/nq/utils/smsUtil/smsUtil.java
+++ b/src/main/java/com/nq/utils/smsUtil/smsUtil.java
@@ -1,9 +1,12 @@
package com.nq.utils.smsUtil;
+import com.google.gson.Gson;
import com.nq.controller.SmsApiController;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.pay.CmcPayOuterRequestUtil;
+import com.nq.utils.redis.RedisKeyConstant;
import com.nq.utils.redis.RedisShardedPoolUtils;
+import okhttp3.*;
import org.apache.commons.lang3.RandomStringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -16,38 +19,45 @@
private static final Logger log = LoggerFactory.getLogger(SmsApiController.class);
public String sendSMS(String telephone) {
- String code = RandomStringUtils.randomNumeric(4);
- CmcPayOuterRequestUtil requestUtil = new CmcPayOuterRequestUtil();
-
- String sign = "【短信签名】";
- String uid = PropertiesUtil.getProperty("dxb.sms.USERNAME");
- String key = PropertiesUtil.getProperty("dxb.sms.PASSWORD");
-// String coding = PropertiesUtil.getProperty("wj.sms.coding");
- String smscontent = sign+"您正在申请手机注册,验证码为:" + code + ",5分钟内有效!";
- //设置签名
-
+ // 生成6位数字验证码
+ String verificationCode = RandomStringUtils.randomNumeric(6);
try {
- uid = URLEncoder.encode(uid,"UTF-8");
- smscontent = URLEncoder.encode(smscontent,"UTF-8");
- } catch (UnsupportedEncodingException e){
+ OkHttpClient client = new OkHttpClient();
+
+ MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
+ RequestBody body = RequestBody.create(mediaType, "sp_id=697778&mobile="+telephone+"&content="+verificationCode+"&password=fe663ee62f83ddb353fdc31ee7c88378");
+ Request request = new Request.Builder()
+ .url("http://47.242.44.254:9511/api/send-sms-single")
+ .post(body)
+ .addHeader("content-type", "application/x-www-form-urlencoded")
+ .build();
+
+ Response response = client.newCall(request).execute();
+ if(response.isSuccessful()){
+ try {
+ // 将验证码存入 Redis,设置 30 秒过期时间
+ String redisKey = RedisKeyConstant.verification_code + ":" + telephone; // 使用电话号码作为唯一标识符
+ RedisShardedPoolUtils.setEx(redisKey, verificationCode, 30);
+ } catch (Exception e) {
+ // 捕获异常并记录日志,避免程序崩溃
+ System.err.println("Error storing verification code in Redis: " + e.getMessage());
+ // 你可以根据需要做进一步的异常处理,比如重新抛出异常
+ }
+ // 返回验证码
+ return verificationCode;
+ }
+ } catch (Exception e) {
+ // 异常处理
+ System.err.println("短信发送异常: " + e.getMessage());
e.printStackTrace();
}
-// String url = "http://"+ cod+ing +".api.smschinese.cn/?Uid="+ uid +"&Key="+ key +"&smsMob=" + telephone + "&smsText="+sign+smscontent;
- String url ="https://api.smsbao.com/sms?u="+uid+"&p="+key+"&m="+telephone+"&c="+smscontent;
- log.info("smsurl"+url);
- String result = requestUtil.sendGet(url);
- log.info("smsresult="+result+"==code="+code);
- if (Integer.valueOf(result) < 0) {
- return "";
- } else {
- String keys = "AliyunSmsCode:" + telephone;
- RedisShardedPoolUtils.setEx(keys, code, 5400);
- return code;
- }
+ // 返回验证码
+ return "000000";
}
+
/**
* 找回密码
*/
--
Gitblit v1.9.3