mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-06 08:58:38 +08:00
!150 移除多余导入,部分字段设置为final,移除多余泛型,注释调整不使用尾行注释
Merge pull request !150 from handy/dev-3.0.x
This commit is contained in:
commit
8b788fa127
@ -50,23 +50,23 @@ public class MailSmtpConfig {
|
||||
* 是否开启ssl 默认开启
|
||||
* */
|
||||
@Builder.Default
|
||||
private String isSSL = "true";
|
||||
private final String isSSL = "true";
|
||||
|
||||
/**
|
||||
* 是否开启验证 默认开启
|
||||
* */
|
||||
@Builder.Default
|
||||
private String isAuth = "true";
|
||||
private final String isAuth = "true";
|
||||
|
||||
/**
|
||||
* 重试间隔(单位:秒),默认为5秒
|
||||
*/
|
||||
@Builder.Default
|
||||
private int retryInterval = 5;
|
||||
private final int retryInterval = 5;
|
||||
|
||||
/**
|
||||
* 重试次数,默认为1次
|
||||
*/
|
||||
@Builder.Default
|
||||
private int maxRetries = 1;
|
||||
private final int maxRetries = 1;
|
||||
}
|
||||
|
||||
@ -34,8 +34,8 @@ import java.util.logging.Logger;
|
||||
|
||||
public class MailService implements MailClient {
|
||||
|
||||
private static Logger logger = Logger.getLogger("mailLog");
|
||||
private MailBuild mailBuild;
|
||||
private static final Logger logger = Logger.getLogger("mailLog");
|
||||
private final MailBuild mailBuild;
|
||||
|
||||
private MailService(MailBuild mailBuild) {
|
||||
this.mailBuild = mailBuild;
|
||||
@ -137,7 +137,8 @@ public class MailService implements MailClient {
|
||||
List<String> cc,
|
||||
List<String> bcc) {
|
||||
int maxRetries = mailBuild.getMaxRetries();
|
||||
int retryCount = 1; // 初始值为1;则while循环中少发送一次,最后一次发送在判断 retryCount >= maxRetries 这里。
|
||||
// 初始值为1;则while循环中少发送一次,最后一次发送在判断 retryCount >= maxRetries 这里。
|
||||
int retryCount = 1;
|
||||
boolean retryOnFailure = true;
|
||||
|
||||
while (retryOnFailure && retryCount < maxRetries) {
|
||||
@ -150,7 +151,8 @@ public class MailService implements MailClient {
|
||||
message = messageBuild(mailAddress, title, body, null, null, zipName, cc, bcc, files);
|
||||
}
|
||||
Transport.send(message);
|
||||
retryOnFailure = false; // 发送成功,停止重试
|
||||
// 发送成功,停止重试
|
||||
retryOnFailure = false;
|
||||
} catch (MessagingException | IOException e) {
|
||||
retryCount++;
|
||||
try {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package org.dromara.sms4j.api.proxy;
|
||||
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
/**
|
||||
* 执行器接口
|
||||
|
||||
@ -5,9 +5,14 @@ import lombok.Data;
|
||||
import java.util.TimerTask;
|
||||
|
||||
@Data
|
||||
public class Task{
|
||||
|
||||
private TimerTask runnable;//描述要执行的任务
|
||||
private Long time;//什么时间执行,用时间戳来表示
|
||||
public class Task {
|
||||
/**
|
||||
* 描述要执行的任务
|
||||
*/
|
||||
private TimerTask runnable;
|
||||
/**
|
||||
* 什么时间执行,用时间戳来表示
|
||||
*/
|
||||
private Long time;
|
||||
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ package org.dromara.sms4j.comm.exception;
|
||||
|
||||
public class SmsBlendException extends RuntimeException{
|
||||
public String code;
|
||||
public String message;
|
||||
public final String message;
|
||||
public String requestId;
|
||||
|
||||
public SmsBlendException(String message) {
|
||||
|
||||
@ -5,7 +5,6 @@ import org.dromara.sms4j.api.SmsBlend;
|
||||
import org.dromara.sms4j.api.proxy.SmsProcessor;
|
||||
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.LinkedList;
|
||||
|
||||
@ -28,7 +27,7 @@ public class SmsInvocationHandler implements InvocationHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke(Object o, Method method, Object[] objects) throws Throwable {
|
||||
public Object invoke(Object o, Method method, Object[] objects) {
|
||||
Object result = null;
|
||||
//前置执行器
|
||||
objects = doPreProcess(smsBlend, method, objects);
|
||||
|
||||
@ -62,12 +62,21 @@ public class BlackListRecordingProcessor implements SmsProcessor, SmsDaoAware, S
|
||||
return param;
|
||||
}
|
||||
|
||||
//构建cachekey
|
||||
/**
|
||||
* 构建CacheKey
|
||||
*
|
||||
* @return CacheKey
|
||||
*/
|
||||
public String getCacheKey(){
|
||||
return "sms:blacklist:global";
|
||||
}
|
||||
|
||||
//获取黑名单,没有就新建
|
||||
/**
|
||||
* 获取黑名单,没有就新建
|
||||
*
|
||||
* @param cacheKey 缓存key
|
||||
* @return 黑名单
|
||||
*/
|
||||
public ArrayList<String> getBlackList(String cacheKey) {
|
||||
ArrayList<String> blackList;
|
||||
Object cache = smsDao.get(cacheKey);
|
||||
@ -80,7 +89,12 @@ public class BlackListRecordingProcessor implements SmsProcessor, SmsDaoAware, S
|
||||
return blackList;
|
||||
}
|
||||
|
||||
//让黑名单生效
|
||||
/**
|
||||
* 让黑名单生效
|
||||
*
|
||||
* @param cacheKey 缓存key
|
||||
* @param blackList 黑命令
|
||||
*/
|
||||
public void flushBlackList(String cacheKey ,ArrayList<String> blackList) {
|
||||
smsDao.set(cacheKey, blackList);
|
||||
}
|
||||
|
||||
@ -68,10 +68,13 @@ public class RestrictedProcessor implements CoreMethodProcessor, SmsDaoAware {
|
||||
if (!config.getRestricted()){
|
||||
return;
|
||||
}
|
||||
Integer accountMax = config.getAccountMax(); // 每日最大发送量
|
||||
Integer minuteMax = config.getMinuteMax(); // 每分钟最大发送量
|
||||
// 每日最大发送量
|
||||
Integer accountMax = config.getAccountMax();
|
||||
// 每分钟最大发送量
|
||||
Integer minuteMax = config.getMinuteMax();
|
||||
for (String phone : phones) {
|
||||
if (SmsUtils.isNotEmpty(accountMax)) { // 是否配置了每日限制
|
||||
// 是否配置了每日限制
|
||||
if (SmsUtils.isNotEmpty(accountMax)) {
|
||||
Integer i = (Integer) smsDao.get(REDIS_KEY + phone + "max");
|
||||
if (SmsUtils.isEmpty(i)) {
|
||||
smsDao.set(REDIS_KEY + phone + "max", 1, accTimer / 1000);
|
||||
@ -82,7 +85,8 @@ public class RestrictedProcessor implements CoreMethodProcessor, SmsDaoAware {
|
||||
smsDao.set(REDIS_KEY + phone + "max", i + 1, accTimer / 1000);
|
||||
}
|
||||
}
|
||||
if (SmsUtils.isNotEmpty(minuteMax)) { // 是否配置了每分钟最大限制
|
||||
// 是否配置了每分钟最大限制
|
||||
if (SmsUtils.isNotEmpty(minuteMax)) {
|
||||
Integer o = (Integer) smsDao.get(REDIS_KEY + phone);
|
||||
if (SmsUtils.isNotEmpty(o)) {
|
||||
if (o < minuteMax) {
|
||||
|
||||
@ -50,23 +50,23 @@ public class MailSmtpConfig {
|
||||
* 是否开启ssl 默认开启
|
||||
* */
|
||||
@Builder.Default
|
||||
private String isSSL = "true";
|
||||
private final String isSSL = "true";
|
||||
|
||||
/**
|
||||
* 是否开启验证 默认开启
|
||||
* */
|
||||
@Builder.Default
|
||||
private String isAuth = "true";
|
||||
private final String isAuth = "true";
|
||||
|
||||
/**
|
||||
* 重试间隔(单位:秒),默认为5秒
|
||||
*/
|
||||
@Builder.Default
|
||||
private int retryInterval = 5;
|
||||
private final int retryInterval = 5;
|
||||
|
||||
/**
|
||||
* 重试次数,默认为1次
|
||||
*/
|
||||
@Builder.Default
|
||||
private int maxRetries = 1;
|
||||
private final int maxRetries = 1;
|
||||
}
|
||||
|
||||
@ -33,8 +33,8 @@ import java.util.logging.Logger;
|
||||
|
||||
public class MailService implements MailClient {
|
||||
|
||||
private static Logger logger = Logger.getLogger("mailLog");
|
||||
private MailBuild mailBuild;
|
||||
private static final Logger logger = Logger.getLogger("mailLog");
|
||||
private final MailBuild mailBuild;
|
||||
|
||||
private MailService(MailBuild mailBuild) {
|
||||
this.mailBuild = mailBuild;
|
||||
@ -130,7 +130,8 @@ public class MailService implements MailClient {
|
||||
List<String> cc,
|
||||
List<String> bcc) {
|
||||
int maxRetries = mailBuild.getMaxRetries();
|
||||
int retryCount = 1; // 初始值为1;则while循环中少发送一次,最后一次发送在判断 retryCount >= maxRetries 这里。
|
||||
// 初始值为1;则while循环中少发送一次,最后一次发送在判断 retryCount >= maxRetries 这里。
|
||||
int retryCount = 1;
|
||||
boolean retryOnFailure = true;
|
||||
|
||||
while (retryOnFailure && retryCount < maxRetries) {
|
||||
@ -143,7 +144,8 @@ public class MailService implements MailClient {
|
||||
message = messageBuild(mailAddress, title, body, null, null, zipName, cc, bcc, files);
|
||||
}
|
||||
Transport.send(message);
|
||||
retryOnFailure = false; // 发送成功,停止重试
|
||||
// 发送成功,停止重试
|
||||
retryOnFailure = false;
|
||||
} catch (MessagingException | IOException e) {
|
||||
retryCount++;
|
||||
try {
|
||||
|
||||
@ -25,7 +25,7 @@ import static org.dromara.oa.comm.enums.OaType.BYTETALK;
|
||||
@Slf4j
|
||||
public class ByteTalkOaImpl extends AbstractOaBlend<ByteTalkConfig> {
|
||||
|
||||
private HttpClientImpl httpClient = new HttpClientImpl();
|
||||
private final HttpClientImpl httpClient = new HttpClientImpl();
|
||||
|
||||
public ByteTalkOaImpl(ByteTalkConfig config) {
|
||||
super(config);
|
||||
|
||||
@ -26,7 +26,7 @@ import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class OaBlendsInitializer {
|
||||
private List<OaBaseProviderFactory<? extends OaSender, ? extends OaSupplierConfig>> factoryList;
|
||||
private final List<OaBaseProviderFactory<? extends OaSender, ? extends OaSupplierConfig>> factoryList;
|
||||
|
||||
private final OaConfig oaConfig;
|
||||
private final Map<String, Map<String, Object>> blends;
|
||||
|
||||
@ -25,7 +25,7 @@ import static org.dromara.oa.comm.enums.OaType.DINGTALK;
|
||||
@Slf4j
|
||||
public class DingTalkOaImpl extends AbstractOaBlend<DingTalkConfig> {
|
||||
|
||||
private HttpClientImpl httpClient = new HttpClientImpl();
|
||||
private final HttpClientImpl httpClient = new HttpClientImpl();
|
||||
|
||||
/**
|
||||
* 建造一个微信通知对象服务
|
||||
|
||||
@ -2,7 +2,6 @@ package org.dromara.oa.core.support;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ import static org.dromara.oa.comm.enums.OaType.WETALK;
|
||||
@Slf4j
|
||||
public class WeTalkOaImpl extends AbstractOaBlend<WeTalkConfig> {
|
||||
|
||||
private HttpClientImpl httpClient = new HttpClientImpl();
|
||||
private final HttpClientImpl httpClient = new HttpClientImpl();
|
||||
|
||||
public WeTalkOaImpl(WeTalkConfig config) {
|
||||
super(config);
|
||||
|
||||
@ -73,7 +73,7 @@ public class AlibabaSmsImpl extends AbstractSmsBlend<AlibabaConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
String messageStr = JSONUtil.toJsonStr(messages);
|
||||
return getSmsResponse(phone, messageStr, templateId);
|
||||
@ -89,7 +89,7 @@ public class AlibabaSmsImpl extends AbstractSmsBlend<AlibabaConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
String messageStr = JSONUtil.toJsonStr(messages);
|
||||
return getSmsResponse(SmsUtils.arrayToString(phones), messageStr, templateId);
|
||||
|
||||
@ -55,7 +55,7 @@ public class CloopenSmsImpl extends AbstractSmsBlend<CloopenConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
return massTexting(Collections.singletonList(phone), templateId, messages);
|
||||
}
|
||||
@ -70,7 +70,7 @@ public class CloopenSmsImpl extends AbstractSmsBlend<CloopenConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
CloopenHelper helper = new CloopenHelper(getConfig(), http);
|
||||
Map<String, Object> paramMap = MapUtil.newHashMap(4, true);
|
||||
|
||||
@ -60,7 +60,7 @@ public class CtyunSmsImpl extends AbstractSmsBlend<CtyunConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
String messageStr = JSONUtil.toJsonStr(messages);
|
||||
return getSmsResponse(phone, messageStr, templateId);
|
||||
@ -76,7 +76,7 @@ public class CtyunSmsImpl extends AbstractSmsBlend<CtyunConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
String messageStr = JSONUtil.toJsonStr(messages);
|
||||
return getSmsResponse(SmsUtils.arrayToString(phones), messageStr, templateId);
|
||||
|
||||
@ -70,7 +70,7 @@ public class DingZhongSmsImpl extends AbstractSmsBlend<DingZhongConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
DingZhongHelper helper = new DingZhongHelper(getConfig(), http);
|
||||
Map<String, Object> paramMap = MapUtil.newHashMap(5, true);
|
||||
|
||||
@ -83,7 +83,7 @@ public class EmaySmsImpl extends AbstractSmsBlend<EmayConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
List<String> list = new ArrayList<>();
|
||||
for (Map.Entry<String, String> entry : messages.entrySet()) {
|
||||
|
||||
@ -59,7 +59,7 @@ public class HuaweiSmsImpl extends AbstractSmsBlend<HuaweiConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
String url = getConfig().getUrl() + Constant.HUAWEI_REQUEST_URL;
|
||||
List<String> list = new ArrayList<>();
|
||||
@ -103,7 +103,7 @@ public class HuaweiSmsImpl extends AbstractSmsBlend<HuaweiConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
return sendMessage(CollUtil.join(phones, ","), templateId, messages);
|
||||
}
|
||||
|
||||
@ -35,7 +35,8 @@ public class HuaweiBuilder {
|
||||
return null;
|
||||
}
|
||||
String time = dateFormat(new Date());
|
||||
String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce
|
||||
// Nonce
|
||||
String nonce = UUID.randomUUID().toString().replace("-", "");
|
||||
MessageDigest md;
|
||||
byte[] passwordDigest = null;
|
||||
|
||||
@ -46,8 +47,8 @@ public class HuaweiBuilder {
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
String passwordDigestBase64Str = Base64.encode(passwordDigest); //PasswordDigest
|
||||
// PasswordDigest
|
||||
String passwordDigestBase64Str = Base64.encode(passwordDigest);
|
||||
//若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
|
||||
//passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
|
||||
return String.format(Constant.HUAWEI_WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
|
||||
|
||||
@ -75,7 +75,7 @@ public class JdCloudSmsImpl extends AbstractSmsBlend<JdCloudConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
BatchSendRequest request;
|
||||
try {
|
||||
|
||||
@ -84,7 +84,7 @@ public class LianLuSmsImpl extends AbstractSmsBlend<LianLuConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
LianLuRequest req = getRequest();
|
||||
req.setType(TEMPLATE_MSG)
|
||||
|
||||
@ -79,7 +79,7 @@ public class NeteaseSmsImpl extends AbstractSmsBlend<NeteaseConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
Optional.ofNullable(phone).orElseThrow(() -> new SmsBlendException("手机号不能为空"));
|
||||
Optional.ofNullable(getConfig().getTemplateId()).orElseThrow(() -> new SmsBlendException("模板ID不能为空"));
|
||||
@ -102,7 +102,7 @@ public class NeteaseSmsImpl extends AbstractSmsBlend<NeteaseConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
if (phones.size() > 100) {
|
||||
throw new SmsBlendException("单次发送超过最大发送上限,建议每次群发短信人数低于100");
|
||||
|
||||
@ -133,9 +133,7 @@ public abstract class AbstractSmsBlend<C extends SupplierConfig> implements SmsB
|
||||
*/
|
||||
@Override
|
||||
public final void sendMessageAsync(String phone, String message){
|
||||
pool.execute(() -> {
|
||||
sendMessage(phone, message);
|
||||
});
|
||||
pool.execute(() -> sendMessage(phone, message));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -164,9 +162,7 @@ public abstract class AbstractSmsBlend<C extends SupplierConfig> implements SmsB
|
||||
*/
|
||||
@Override
|
||||
public final void sendMessageAsync(String phone, String templateId, LinkedHashMap<String, String> messages){
|
||||
pool.execute(() -> {
|
||||
sendMessage(phone, templateId, messages);
|
||||
});
|
||||
pool.execute(() -> sendMessage(phone, templateId, messages));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -1,12 +1,8 @@
|
||||
package org.dromara.sms4j.qiniu.config;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.sms4j.comm.constant.SupplierConstant;
|
||||
import org.dromara.sms4j.netease.config.NeteaseConfig;
|
||||
import org.dromara.sms4j.netease.config.NeteaseFactory;
|
||||
import org.dromara.sms4j.netease.service.NeteaseSmsImpl;
|
||||
import org.dromara.sms4j.provider.factory.AbstractProviderFactory;
|
||||
import org.dromara.sms4j.qiniu.service.QiNiuSmsImpl;
|
||||
|
||||
|
||||
@ -10,14 +10,14 @@ import org.dromara.sms4j.comm.constant.Constant;
|
||||
import org.dromara.sms4j.comm.exception.SmsBlendException;
|
||||
import org.dromara.sms4j.qiniu.config.QiNiuConfig;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.Base64;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
@ -30,7 +30,7 @@ public class QiNiuUtils {
|
||||
|
||||
private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";
|
||||
|
||||
public static String getSignature(String method, String url, QiNiuConfig qiNiuConfig, String body, String signDate) throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException, MalformedURLException {
|
||||
public static String getSignature(String method, String url, QiNiuConfig qiNiuConfig, String body, String signDate) {
|
||||
URI reqUrl = URI.create(url);
|
||||
StringBuilder dataToSign = new StringBuilder();
|
||||
dataToSign.append(method.toUpperCase()).append(" ").append(reqUrl.getPath());
|
||||
|
||||
@ -60,7 +60,7 @@ public class TencentSmsImpl extends AbstractSmsBlend<TencentConfig> {
|
||||
@Override
|
||||
public SmsResponse sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
List<String> list = new ArrayList<>();
|
||||
for (Map.Entry<String, String> entry : messages.entrySet()) {
|
||||
@ -83,7 +83,7 @@ public class TencentSmsImpl extends AbstractSmsBlend<TencentConfig> {
|
||||
@Override
|
||||
public SmsResponse massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
|
||||
if (Objects.isNull(messages)){
|
||||
messages = new LinkedHashMap<String, String>();
|
||||
messages = new LinkedHashMap<>();
|
||||
}
|
||||
List<String> list = new ArrayList<>();
|
||||
for (Map.Entry<String, String> entry : messages.entrySet()) {
|
||||
|
||||
@ -8,7 +8,7 @@ public class Uni {
|
||||
/** 模仿SDK版本*/
|
||||
public static final String VERSION = "0.0.4";
|
||||
|
||||
public static String signingAlgorithm = "hmac-sha256";
|
||||
public static final String signingAlgorithm = "hmac-sha256";
|
||||
public static String endpoint = System.getenv().getOrDefault("UNI_ENDPOINT", "https://uni.apistd.com");
|
||||
public static String accessKeyId = System.getenv("UNI_ACCESS_KEY_ID");
|
||||
|
||||
|
||||
@ -118,7 +118,7 @@ public class UniClient {
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private String accessKeyId;
|
||||
private final String accessKeyId;
|
||||
private String accessKeySecret;
|
||||
private String endpoint;
|
||||
private String signingAlgorithm;
|
||||
|
||||
@ -41,7 +41,7 @@ import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class SmsBlendsInitializer {
|
||||
private List<BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig>> factoryList;
|
||||
private final List<BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig>> factoryList;
|
||||
|
||||
private final SmsConfig smsConfig;
|
||||
private final Map<String, Map<String, Object>> blends;
|
||||
|
||||
@ -1,14 +1,8 @@
|
||||
package org.dromara.sms4j.example;
|
||||
|
||||
import org.dromara.sms4j.api.entity.SmsResponse;
|
||||
import org.dromara.sms4j.comm.constant.SupplierConstant;
|
||||
import org.dromara.sms4j.core.factory.SmsFactory;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
|
||||
/**
|
||||
* 主类
|
||||
*
|
||||
|
||||
@ -45,7 +45,7 @@ import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class SmsBlendsInitializer {
|
||||
private List<BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig>> factoryList;
|
||||
private final List<BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig>> factoryList;
|
||||
|
||||
private final SmsConfig smsConfig;
|
||||
private final Map<String, Map<String, Object>> blends;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user