!150 移除多余导入,部分字段设置为final,移除多余泛型,注释调整不使用尾行注释

Merge pull request !150 from handy/dev-3.0.x
This commit is contained in:
风如歌 2024-03-13 01:58:04 +00:00 committed by Gitee
commit 8b788fa127
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
34 changed files with 92 additions and 81 deletions

View File

@ -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;
}

View File

@ -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 {

View File

@ -1,7 +1,6 @@
package org.dromara.sms4j.api.proxy;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* 执行器接口

View File

@ -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;
}

View File

@ -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) {

View File

@ -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);

View File

@ -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);
}

View File

@ -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) {

View File

@ -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;
}

View File

@ -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 {

View File

@ -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);

View File

@ -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;

View File

@ -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();
/**
* 建造一个微信通知对象服务

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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()) {

View File

@ -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);
}

View File

@ -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);

View File

@ -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 {

View File

@ -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)

View File

@ -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");

View File

@ -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));
}
/**

View File

@ -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;

View File

@ -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());

View File

@ -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()) {

View File

@ -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");

View File

@ -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;

View File

@ -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;

View File

@ -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;
/**
* 主类
*

View File

@ -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;