From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog

---
 src/main/java/org/springblade/common/utils/SmsUtils.java |  127 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/common/utils/SmsUtils.java b/src/main/java/org/springblade/common/utils/SmsUtils.java
new file mode 100644
index 0000000..288aae1
--- /dev/null
+++ b/src/main/java/org/springblade/common/utils/SmsUtils.java
@@ -0,0 +1,127 @@
+package org.springblade.common.utils;
+
+import liquibase.repackaged.org.apache.commons.lang3.text.StrSubstitutor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SmsUtils {
+
+	private static Logger logger = LoggerFactory.getLogger(SmsUtils.class);
+
+	public static String buildRequestXMLString(String id, String pwd, String serviceid, String phone, String content) {
+		StringBuffer sb = new StringBuffer();
+
+		sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
+			.append("<svc_init ver=\"2.0.0\">")
+			.append("<sms ver=\"2.0.0\">")
+			.append("<client>")
+			.append("<id>").append(id).append("</id>")
+			.append("<pwd>").append(pwd).append("</pwd>")
+			.append("<serviceid>").append(serviceid).append("</serviceid>")
+			.append("</client>")
+			.append("<sms_info>")
+			.append("<phone>").append(phone).append("</phone>")
+			.append("<content>").append(content).append("</content>")
+			.append("</sms_info>")
+			.append("</sms>")
+			.append(" </svc_init>");
+
+		logger.info("buildRequestXMLString:" + sb.toString());
+		return sb.toString();
+	}
+
+	public static String postXMLSendSMSRequest(String servletUrl, String content) {
+		String result = null;
+
+		BufferedReader br = null;
+		OutputStreamWriter out = null;
+		HttpURLConnection con = null;
+
+		try {
+			URL url = new URL(servletUrl);
+
+			con = (HttpURLConnection) url.openConnection();
+			con.setDoOutput(true);
+			con.setRequestMethod("POST");
+
+			out = new OutputStreamWriter(con.getOutputStream(), "UTF-8");
+
+			out.write(content);
+
+			out.flush();
+
+			br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
+
+			String line = null;
+
+			StringBuilder sb = new StringBuilder();
+
+			while ((line = br.readLine()) != null) {
+				sb.append(line);
+			}
+
+			result = sb.toString();
+
+			System.out.println(result);
+			logger.info("postXMLSendSMSRequest:" + result);
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			if (br != null) {
+				try {
+					br.close();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+			}
+
+			if (out != null) {
+				try {
+					out.close();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+			}
+
+			if (con != null) {
+				con.disconnect();
+				con = null;
+			}
+		}
+
+		return result;
+	}
+
+
+	public static void send(String phone, Map<String, String> content) {
+
+		StrSubstitutor strSubstitutor = new StrSubstitutor(content);
+		String url3 = "【上饶基层自治】您正在验证投票操作,验证码:${code}。如非本人操作,则密码可能已泄露,建议立即修改密码或联系客服。";
+		String context3 = strSubstitutor.replace(url3);
+		String MAS_ID = "182";
+		String PASSWORD = "bYcLgYwXOZspDzEnaGsNHAGUykKEiexknHY9H98xVTQ8Zbeya8bexQ==";
+		String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", phone, context3);
+		postXMLSendSMSRequest("http://218.204.110.232:8080/emc/HttpSendSMSService", reqXML);
+	}
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		//下面的MAS_ID、PASSWORD仅供测试使用,正式使用由移动公司分配
+		String MAS_ID = "182";
+		String PASSWORD = "bYcLgYwXOZspDzEnaGsNHAGUykKEiexknHY9H98xVTQ8Zbeya8bexQ==";
+		String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", "18720768376", "测试短信");
+		postXMLSendSMSRequest("http://218.204.110.232:8080/emc/HttpSendSMSService", reqXML);
+	}
+}
+

--
Gitblit v1.9.3