|
@@ -2,8 +2,11 @@ package org.dromara.common.core.utils;
|
|
|
|
|
|
|
|
import cn.hutool.http.HttpRequest;
|
|
import cn.hutool.http.HttpRequest;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
+import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author Hz
|
|
* @author Hz
|
|
@@ -11,27 +14,24 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
* @description 短信平台工具类
|
|
* @description 短信平台工具类
|
|
|
*/
|
|
*/
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
|
|
+@Data
|
|
|
public class SmsUtils {
|
|
public class SmsUtils {
|
|
|
|
|
|
|
|
public static final String PHONE_CODE_PREFIX = "PhoneCode_";
|
|
public static final String PHONE_CODE_PREFIX = "PhoneCode_";
|
|
|
|
|
|
|
|
- @Value("sms.swdx.url")
|
|
|
|
|
- private static String url = "http://172.16.137.85:9023";
|
|
|
|
|
- @Value("sms.swdx.user")
|
|
|
|
|
- private static String user = "jw";
|
|
|
|
|
- @Value("sms.swdx.pwd")
|
|
|
|
|
- private static String pwd = "jw@Swdx20220414";
|
|
|
|
|
-
|
|
|
|
|
- public static Boolean send(String phones, String content) {
|
|
|
|
|
|
|
+ public static Boolean send(String phones, String content, String url, String user, String pwd) {
|
|
|
boolean flag = false;
|
|
boolean flag = false;
|
|
|
- String sendUrl = url + "/sms/api/v1/send";
|
|
|
|
|
- String token = getToken();
|
|
|
|
|
|
|
+ String sendUrl = String.format("%s/sms/api/v1/send", url);
|
|
|
|
|
+ String token = getToken(url, user, pwd);
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotBlank(token)) {
|
|
|
|
|
+ JSONObject body = new JSONObject();
|
|
|
|
|
+ body.put("mobile", phones);
|
|
|
|
|
+ body.put("message", content);
|
|
|
|
|
|
|
|
- if(StringUtils.isNotBlank(token)){
|
|
|
|
|
- String body = "{\"mobile\":\"" + phones + "\",\"message\":\"" + content + "\"}";
|
|
|
|
|
String res = HttpRequest.post(sendUrl)
|
|
String res = HttpRequest.post(sendUrl)
|
|
|
.header("token", token)
|
|
.header("token", token)
|
|
|
- .body(body)
|
|
|
|
|
|
|
+ .body(body.toJSONString())
|
|
|
.execute().body();
|
|
.execute().body();
|
|
|
JSONObject resJson = JSONObject.parseObject(res);
|
|
JSONObject resJson = JSONObject.parseObject(res);
|
|
|
flag = resJson.getBoolean("success");
|
|
flag = resJson.getBoolean("success");
|
|
@@ -40,19 +40,23 @@ public class SmsUtils {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 获取短信平台token*/
|
|
/** 获取短信平台token*/
|
|
|
- private static String getToken() {
|
|
|
|
|
|
|
+ private static String getToken(String url, String user, String pwd) {
|
|
|
String token = "";
|
|
String token = "";
|
|
|
try {
|
|
try {
|
|
|
- String loginUrl = url + "/sms/api/v1/login";
|
|
|
|
|
|
|
+ String loginUrl = String.format("%s/sms/api/v1/login", url);
|
|
|
|
|
+ JSONObject body = new JSONObject();
|
|
|
|
|
+ body.put("name", user);
|
|
|
|
|
+ body.put("pwd", pwd);
|
|
|
|
|
+
|
|
|
String res = HttpRequest.post(loginUrl)
|
|
String res = HttpRequest.post(loginUrl)
|
|
|
- .body("{\"name\":\"" + user + "\",\"pwd\":\"" + pwd + "\"}")
|
|
|
|
|
|
|
+ .body(body.toJSONString())
|
|
|
.execute().body();
|
|
.execute().body();
|
|
|
- JSONObject body = JSONObject.parseObject(res);
|
|
|
|
|
- if(body.getBoolean("success")){
|
|
|
|
|
- token = body.getString("data");
|
|
|
|
|
|
|
+ JSONObject resJson = JSONObject.parseObject(res);
|
|
|
|
|
+ if (resJson.getBoolean("success")) {
|
|
|
|
|
+ token = resJson.getString("data");
|
|
|
}
|
|
}
|
|
|
- }catch (Exception e) {
|
|
|
|
|
- log.error("获取token异常!", e);
|
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("获取token异常! URL: {}, User: {}, Pwd: {}", url, user, pwd, e);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return token;
|
|
return token;
|