From 2bd52b0725d9675bc0e9cab029c47d9d1cad8386 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 30 四月 2025 15:03:45 +0800
Subject: [PATCH] 更换短信供应商

---
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java |   15 ++++---
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java                     |   75 +++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 84759d7..8bc77a0 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -160,13 +160,14 @@
                 templateCode = "SMS_482775061";//修改密码
                 break;
         }
-        String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
-        JSONObject jsonObject = JSON.parseObject(sData);
-        String message = jsonObject.getString("Message");
-        if(!"OK".equals(message)){
-            System.err.println(message);
-            return ResultUtil.error(message);
-        }
+//        String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
+        SMSUtil.send(phone, "您的验证码:" + authCode + ",您正在进行身份验证,请勿泄露于他人!", "2431012312847");
+//        JSONObject jsonObject = JSON.parseObject(sData);
+//        String message = jsonObject.getString("Message");
+//        if(!"OK".equals(message)){
+//            System.err.println(message);
+//            return ResultUtil.error(message);
+//        }
         System.out.println(sms);
         return ResultUtil.success();
     }
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
new file mode 100644
index 0000000..727d4a4
--- /dev/null
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
@@ -0,0 +1,75 @@
+package com.stylefeng.guns.modular.system.util;
+
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import lombok.extern.slf4j.Slf4j;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/4/30 12:10
+ */
+@Slf4j
+public class SMSUtil {
+	//企业编号
+	private static final String SpCode = "277952";
+	//用户名
+	private static final String LoginName = "xn95128";
+	//接口秘钥
+	private static final String Password = "fadfe94036a41b873150e3e6726236f1";
+	
+	
+	/**
+	 * 发送短信
+	 * @param UserNumber
+	 * @param MessageContent
+	 * @param templateId
+	 */
+	public static void send(String UserNumber, String MessageContent, String templateId){
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+		String url = "https://api.ums86.com:9600/sms/Api/Send.do";
+		HttpRequest post = HttpUtil.createPost(url);
+		post.header("accept", "application/x-www-form-urlencoded");
+		post.charset("GBK");
+		post.form("SpCode", SpCode);
+		post.form("LoginName", LoginName);
+		post.form("Password", Password);
+		post.form("MessageContent", MessageContent);
+		post.form("UserNumber", UserNumber);
+		post.form("templateId", templateId);
+		post.form("SerialNumber", sdf.format(new Date()));
+		post.form("f", "1");
+		HttpResponse execute = post.execute();
+		int status = execute.getStatus();
+		if(status != 200){
+			log.error("短信发送失败:{}", execute.body());
+			return;
+		}
+		String body = execute.body();
+		String[] split = body.split("&");
+		Map<String, String> map = new HashMap<>();
+		for (String s : split) {
+			String[] split1 = s.split("=");
+			String k = split1[0];
+			String v = null;
+			if(split1.length == 2){
+				v = s.split("=")[1];
+			}
+			map.put(k, v);
+		}
+		String result = map.get("result");
+		if(!"0".equals(result)){
+			log.error("短信发送失败:{}", map.get("description"));
+		}
+	}
+	
+	
+	public static void main(String[] args) {
+		send("15828353127", "您的验证码:1255,您正在进行身份验证,请勿泄露于他人!", "2431012312847");
+	}
+}

--
Gitblit v1.7.1