diff --git a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/factory/BeanFactory.java b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/factory/BeanFactory.java
index 6462957b..fe07aa5c 100644
--- a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/factory/BeanFactory.java
+++ b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/factory/BeanFactory.java
@@ -1,7 +1,5 @@
package org.dromara.sms4j.comm.factory;
-import com.dtflys.forest.Forest;
-import com.dtflys.forest.config.ForestConfiguration;
import org.dromara.sms4j.comm.config.SmsConfig;
import org.dromara.sms4j.comm.config.SmsSqlConfig;
import org.dromara.sms4j.comm.delayedTime.DelayedTime;
@@ -36,23 +34,12 @@ public class BeanFactory {
/** 数据库配置*/
private static SmsSqlConfig smsSqlConfig;
- /** 获取forest请求对象*/
- private static ForestConfiguration forestConfiguration;
-
/** 实例化自身对象防止被GC*/
private static final BeanFactory beanFactory = new BeanFactory();
private BeanFactory() {
}
- /** 获取请求用的对象*/
- public static ForestConfiguration getForestConfiguration() {
- if (forestConfiguration == null){
- forestConfiguration = Forest.config().setBackendName("httpclient").setLogEnabled(getSmsConfig().getHttpLog());
- }
- return forestConfiguration;
- }
-
public static DelayedTime getDelayedTime() {
if (delayedTime == null){
delayedTime = new DelayedTime();
diff --git a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/TimeExpiredPoolCache.java b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/TimeExpiredPoolCache.java
index 8197e5cb..52629403 100644
--- a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/TimeExpiredPoolCache.java
+++ b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/utils/TimeExpiredPoolCache.java
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
**/
@Slf4j
public class TimeExpiredPoolCache {
+
/**
* 持久化文件格式
*/
diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java
index 38b6e156..ac57873e 100644
--- a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java
+++ b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/service/AlibabaSmsImpl.java
@@ -1,5 +1,7 @@
package org.dromara.sms4j.aliyun.service;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
@@ -15,7 +17,6 @@ import org.dromara.sms4j.comm.utils.SmsUtil;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.concurrent.Executor;
-import java.util.concurrent.atomic.AtomicReference;
/**
* 类名: AlibabaSmsImpl
@@ -71,7 +72,6 @@ public class AlibabaSmsImpl extends AbstractSmsBlend {
}
private SmsResponse getSmsResponse(String phone, String message, String templateId) {
- AtomicReference reference = new AtomicReference<>();
String requestUrl;
String paramStr;
try {
@@ -82,13 +82,13 @@ public class AlibabaSmsImpl extends AbstractSmsBlend {
throw new SmsBlendException(e.getMessage());
}
log.debug("requestUrl {}", requestUrl);
- super.http.post(requestUrl)
- .addHeader("Content-Type", "application/x-www-form-urlencoded")
- .addBody(paramStr)
- .onSuccess(((data, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class)))))
- .onError((ex, req, res) -> reference.set(this.getResponse(res.get(JSONObject.class))))
- .execute();
- return reference.get();
+ try(HttpResponse response = HttpRequest.post(requestUrl)
+ .header("Content-Type", "application/x-www-form-urlencoded")
+ .body(paramStr)
+ .execute()){
+ JSONObject body = JSONUtil.parseObj(response.body());
+ return this.getResponse(body);
+ }
}
private SmsResponse getResponse(JSONObject resJson) {
diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/api/CloopenRestApi.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/api/CloopenRestApi.java
deleted file mode 100644
index 39e5d273..00000000
--- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/api/CloopenRestApi.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.dromara.sms4j.cloopen.api;
-
-import com.dtflys.forest.annotation.Address;
-import com.dtflys.forest.annotation.BaseRequest;
-import com.dtflys.forest.annotation.Body;
-import com.dtflys.forest.annotation.PostRequest;
-
-import java.util.Map;
-
-/**
- * 容联云 REST API
- *
- * @author Charles7c
- * @since 2023/4/17 20:57
- */
-@Address(basePath = "{baseUrl}")
-@BaseRequest(headers = {
- "Accept: application/json",
- "Content-Type: application/json;charset=utf-8",
- "Authorization: {authorization}",
-})
-public interface CloopenRestApi {
-
- /**
- * 发送模板短信
- *
- * @param paramMap 请求参数
- * @return 响应结果
- */
- @PostRequest("/Accounts/{accessKeyId}/SMS/TemplateSMS?sig={sign}")
- Map sendSms(@Body Map paramMap);
-}
diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/service/CloopenSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/service/CloopenSmsImpl.java
index 32ca6af6..2d3c6936 100644
--- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/service/CloopenSmsImpl.java
+++ b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/service/CloopenSmsImpl.java
@@ -2,11 +2,9 @@ package org.dromara.sms4j.cloopen.service;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
-import com.dtflys.forest.Forest;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.AbstractSmsBlend;
import org.dromara.sms4j.api.entity.SmsResponse;
-import org.dromara.sms4j.cloopen.api.CloopenRestApi;
import org.dromara.sms4j.cloopen.config.CloopenConfig;
import org.dromara.sms4j.cloopen.util.CloopenHelper;
import org.dromara.sms4j.comm.annotation.Restricted;
@@ -27,14 +25,11 @@ import java.util.concurrent.Executor;
@Slf4j
public class CloopenSmsImpl extends AbstractSmsBlend {
- private final CloopenRestApi restApi;
-
private final CloopenConfig config;
public CloopenSmsImpl(CloopenConfig config, Executor pool, DelayedTime delayed) {
super(pool,delayed);
this.config = config;
- restApi = Forest.client(CloopenRestApi.class);
}
@Override
@@ -66,6 +61,6 @@ public class CloopenSmsImpl extends AbstractSmsBlend {
paramMap.put("appId", config.getAppId());
paramMap.put("templateId", templateId);
paramMap.put("datas", messages.keySet().stream().map(messages::get).toArray(String[]::new));
- return helper.request(restApi::sendSms, paramMap);
+ return helper.smsResponse(paramMap);
}
}
diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java
index adfde04c..b2aa1397 100644
--- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java
+++ b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/util/CloopenHelper.java
@@ -1,22 +1,18 @@
package org.dromara.sms4j.cloopen.util;
import cn.hutool.core.codec.Base64;
-import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.SecureUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
-import com.dtflys.forest.Forest;
-import com.dtflys.forest.config.ForestConfiguration;
import org.dromara.sms4j.api.entity.SmsResponse;
import org.dromara.sms4j.cloopen.config.CloopenConfig;
-import org.dromara.sms4j.comm.exception.SmsBlendException;
-import org.dromara.sms4j.comm.utils.RestApiFunction;
-import java.util.Collections;
import java.util.Date;
import java.util.Map;
-import java.util.Optional;
/**
* 容联云 Helper
@@ -32,38 +28,29 @@ public class CloopenHelper {
this.config = config;
}
- /**
- * 发起 REST 请求
- *
- * @param restApiFunction REST API 函数式接口
- * @param paramMap 请求参数
- * @param 响应类型
- * @return 响应信息
- */
- public SmsResponse request(RestApiFunction