From 43c900c904084b657d90826e7f91afef92500733 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 18 Apr 2025 15:38:49 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/utils/smsUtil/smsUtil.java |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/nq/utils/smsUtil/smsUtil.java b/src/main/java/com/nq/utils/smsUtil/smsUtil.java
index bef3a06..5eae1e7 100644
--- a/src/main/java/com/nq/utils/smsUtil/smsUtil.java
+++ b/src/main/java/com/nq/utils/smsUtil/smsUtil.java
@@ -6,6 +6,7 @@
 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;
@@ -22,17 +23,37 @@
         String verificationCode = RandomStringUtils.randomNumeric(6);
 
         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());
-            // 你可以根据需要做进一步的异常处理,比如重新抛出异常
-        }
+            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();
+        }
         // 返回验证码
-        return verificationCode;
+        return "000000";
     }
 
 

--
Gitblit v1.9.3