mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-06 17:08:40 +08:00
抽取公共函数式接口并简化部分变量命名
This commit is contained in:
parent
a1589da809
commit
97c0213731
@ -25,7 +25,7 @@ import java.util.concurrent.Executor;
|
||||
@Slf4j
|
||||
public class CloopenSmsImpl implements SmsBlend {
|
||||
|
||||
private final CloopenRestApi cloopenRestApi;
|
||||
private final CloopenRestApi restApi;
|
||||
|
||||
private final CloopenConfig config;
|
||||
|
||||
@ -37,7 +37,7 @@ public class CloopenSmsImpl implements SmsBlend {
|
||||
this.config = config;
|
||||
this.pool = pool;
|
||||
this.delayed = delayed;
|
||||
cloopenRestApi = Forest.client(CloopenRestApi.class);
|
||||
restApi = Forest.client(CloopenRestApi.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,7 +69,7 @@ public class CloopenSmsImpl implements SmsBlend {
|
||||
paramMap.put("appId", config.getAppId());
|
||||
paramMap.put("templateId", templateId);
|
||||
paramMap.put("datas", messages.keySet().stream().map(messages::get).toArray(String[]::new));
|
||||
return helper.request(cloopenRestApi::sendSms, paramMap);
|
||||
return helper.request(restApi::sendSms, paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -11,6 +11,7 @@ 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;
|
||||
@ -25,10 +26,10 @@ import java.util.Optional;
|
||||
*/
|
||||
public class CloopenHelper {
|
||||
|
||||
private final CloopenConfig cloopenConfig;
|
||||
private final CloopenConfig config;
|
||||
|
||||
public CloopenHelper(CloopenConfig cloopenConfig) {
|
||||
this.cloopenConfig = cloopenConfig;
|
||||
public CloopenHelper(CloopenConfig config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,16 +40,16 @@ public class CloopenHelper {
|
||||
* @param <R> 响应类型
|
||||
* @return 响应信息
|
||||
*/
|
||||
public <R> SmsResponse request(CloopenRestApiFunction<Map<String, Object>, R> restApiFunction, Map<String, Object> paramMap) {
|
||||
public <R> SmsResponse request(RestApiFunction<Map<String, Object>, R> restApiFunction, Map<String, Object> paramMap) {
|
||||
SmsResponse smsResponse = new SmsResponse();
|
||||
try {
|
||||
String timestamp = DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN);
|
||||
// 设置全局变量
|
||||
ForestConfiguration forestConfiguration = Forest.config();
|
||||
forestConfiguration.setVariableValue("baseUrl", (method) -> cloopenConfig.getBaseUrl());
|
||||
forestConfiguration.setVariableValue("accessKeyId", (method) -> cloopenConfig.getAccessKeyId());
|
||||
forestConfiguration.setVariableValue("sign", this.generateSign(cloopenConfig.getAccessKeyId(), cloopenConfig.getAccessKeySecret(), timestamp));
|
||||
forestConfiguration.setVariableValue("authorization", this.generateAuthorization(cloopenConfig.getAccessKeyId(), timestamp));
|
||||
forestConfiguration.setVariableValue("baseUrl", (method) -> config.getBaseUrl());
|
||||
forestConfiguration.setVariableValue("accessKeyId", (method) -> config.getAccessKeyId());
|
||||
forestConfiguration.setVariableValue("sign", this.generateSign(config.getAccessKeyId(), config.getAccessKeySecret(), timestamp));
|
||||
forestConfiguration.setVariableValue("authorization", this.generateAuthorization(config.getAccessKeyId(), timestamp));
|
||||
|
||||
// 调用请求
|
||||
R response = restApiFunction.apply(paramMap);
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
package org.dromara.sms4j.cloopen.util;
|
||||
package org.dromara.sms4j.comm.utils;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 容联云 REST API 函数式接口
|
||||
* REST API 函数式接口
|
||||
*
|
||||
* @param <P> 请求参数
|
||||
* @param <R> 响应
|
||||
@ -11,6 +11,6 @@ import java.io.Serializable;
|
||||
* @since 2023/4/17 20:57
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface CloopenRestApiFunction<P, R> extends Serializable {
|
||||
public interface RestApiFunction<P, R> extends Serializable {
|
||||
R apply(P param);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user