From 6e1fd80101ef50ed775f9a3de28e18a94ef18fc2 Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 14:56:24 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix=20=E6=AD=A3=E7=A1=AE=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=B8=AD=E5=AE=9E=E7=8E=B0=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/sms4j/cloopen/config/CloopenConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenConfig.java b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenConfig.java index 124ff18e..505e4fad 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenConfig.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/cloopen/config/CloopenConfig.java @@ -35,7 +35,7 @@ public class CloopenConfig extends BaseConfig implements SupplierConfig { * Rest URL 域名 * * @deprecated v2.0.1 - * @see baseUrl + * @see #baseUrl */ @Deprecated private String serverIp; @@ -44,7 +44,7 @@ public class CloopenConfig extends BaseConfig implements SupplierConfig { * Rest URL 端口 * * @deprecated v2.0.1 - * @see baseUrl + * @see #baseUrl */ @Deprecated private String serverPort; From e6991d526442769577ba19b66f066d64d208048c Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:01:34 +0800 Subject: [PATCH 2/7] =?UTF-8?q?update=20=E4=BD=BF=E7=94=A8lamda=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=BF=94=E5=9B=9E=E5=80=BC=E8=8E=B7=E5=8F=96=E5=86=99?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/sms4j/aliyun/service/AlibabaSmsImpl.java | 8 ++------ .../dromara/sms4j/ctyun/service/CtyunSmsImpl.java | 8 ++------ .../org/dromara/sms4j/emay/service/EmaySmsImpl.java | 12 +++--------- .../dromara/sms4j/huawei/service/HuaweiSmsImpl.java | 2 +- .../sms4j/tencent/service/TencentSmsImpl.java | 2 +- .../org/dromara/sms4j/unisms/service/UniSmsImpl.java | 2 +- .../sms4j/yunpian/service/YunPianSmsImpl.java | 10 ++-------- 7 files changed, 12 insertions(+), 32 deletions(-) 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 14b3205f..574ae1f5 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 @@ -86,12 +86,8 @@ public class AlibabaSmsImpl extends AbstractSmsBlend { 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))); - }) + .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(); } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java index f8bc710c..dd5d9655 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java @@ -80,12 +80,8 @@ public class CtyunSmsImpl extends AbstractSmsBlend { http.post(requestUrl) .addHeader(CtyunUtils.signHeader(paramStr, ctyunConfig.getAccessKeyId(), ctyunConfig.getAccessKeySecret())) .addBody(paramStr) - .onSuccess(((data, req, res) -> { - smsResponse.set(this.getResponse(res.get(JSONObject.class))); - })) - .onError((ex, req, res) -> { - smsResponse.set(this.getResponse(res.get(JSONObject.class))); - }) + .onSuccess(((data, req, res) -> smsResponse.set(this.getResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> smsResponse.set(this.getResponse(res.get(JSONObject.class)))) .execute(); return smsResponse.get(); } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java index 9e6cb7e0..d0395e59 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java @@ -31,7 +31,7 @@ public class EmaySmsImpl extends AbstractSmsBlend { this.config = config; } - private EmayConfig config; + private final EmayConfig config; @Override @Restricted @@ -84,14 +84,8 @@ public class EmaySmsImpl extends AbstractSmsBlend { AtomicReference smsResponse = new AtomicReference<>(); http.post(requestUrl) .addBody(body) - .onSuccess(((data, req, res) -> { - JSONObject jsonBody = res.get(JSONObject.class); - smsResponse.set(getSmsResponse(jsonBody)); - })) - .onError((ex, req, res) -> { - JSONObject jsonBody = res.get(JSONObject.class); - smsResponse.set(getSmsResponse(jsonBody)); - }) + .onSuccess(((data, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class)))) .execute(); return smsResponse.get(); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java index 6321a19b..a29e5d9b 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java @@ -27,7 +27,7 @@ public class HuaweiSmsImpl extends AbstractSmsBlend { this.config = config; } - private HuaweiConfig config; + private final HuaweiConfig config; @Override @Restricted diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java index d986b1be..6353fea1 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/service/TencentSmsImpl.java @@ -26,7 +26,7 @@ import java.util.concurrent.Executor; @Slf4j public class TencentSmsImpl extends AbstractSmsBlend { - private TencentConfig tencentSmsConfig; + private final TencentConfig tencentSmsConfig; public TencentSmsImpl(TencentConfig tencentSmsConfig, Executor pool, DelayedTime delayed) { super(pool, delayed); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java index bf562b93..ead33683 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java @@ -28,7 +28,7 @@ import java.util.concurrent.Executor; @Slf4j public class UniSmsImpl extends AbstractSmsBlend { - private UniConfig config; + private final UniConfig config; public UniSmsImpl(UniConfig config, Executor pool, DelayedTime delayed) { super(pool,delayed); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java index ab9bf875..f5403afe 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java @@ -121,14 +121,8 @@ public class YunPianSmsImpl extends AbstractSmsBlend { http.post(Constant.YUNPIAN_URL + "/sms/tpl_single_send.json") .addHeader(headers) .addBody(body) - .onSuccess(((data, req, res) -> { - JSONObject jsonBody = res.get(JSONObject.class); - smsResponse.set(getSmsResponse(jsonBody)); - })) - .onError((ex, req, res) -> { - JSONObject jsonBody = res.get(JSONObject.class); - smsResponse.set(getSmsResponse(jsonBody)); - }) + .onSuccess(((data, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class))))) + .onError((ex, req, res) -> smsResponse.set(getSmsResponse(res.get(JSONObject.class)))) .execute(); return smsResponse.get(); From 6711381b212e44b8a0ab2edbc3edd87db3ad940c Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:09:28 +0800 Subject: [PATCH 3/7] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8E=A5=E5=8F=A3=20=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java | 1 - .../org/dromara/sms4j/emay/service/EmaySmsImpl.java | 2 -- .../java/org/dromara/sms4j/emay/util/EmayBuilder.java | 2 -- .../java/org/dromara/sms4j/huawei/entity/SmsId.java | 1 - .../org/dromara/sms4j/huawei/utils/HuaweiBuilder.java | 10 +++++----- .../org/dromara/sms4j/unisms/service/UniSmsImpl.java | 2 -- .../dromara/sms4j/yunpian/service/YunPianSmsImpl.java | 2 +- 7 files changed, 6 insertions(+), 14 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java index dd5d9655..b8ef2cef 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/service/CtyunSmsImpl.java @@ -29,7 +29,6 @@ public class CtyunSmsImpl extends AbstractSmsBlend { private final CtyunConfig ctyunConfig; - public CtyunSmsImpl(CtyunConfig ctyunConfig, Executor pool, DelayedTime delayedTime) { super(pool, delayedTime); this.ctyunConfig = ctyunConfig; diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java index d0395e59..8443474b 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/service/EmaySmsImpl.java @@ -19,7 +19,6 @@ import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicReference; - /** * @author Richard * @date 2023-04-11 12:00 @@ -91,7 +90,6 @@ public class EmaySmsImpl extends AbstractSmsBlend { return smsResponse.get(); } - private static SmsResponse getSmsResponse(JSONObject execute) { SmsResponse smsResponse = new SmsResponse(); if (execute == null) { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/util/EmayBuilder.java b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/util/EmayBuilder.java index 78b342dc..826cbee7 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/emay/util/EmayBuilder.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/emay/util/EmayBuilder.java @@ -20,13 +20,11 @@ import java.util.Map; @Slf4j public class EmayBuilder { - public static Map buildRequestBody(String appId, String secretKey, String phone, String message) throws SmsBlendException { return getParamsMap(appId, secretKey, phone, message); } - /** * @param appId 用户Appid(必填) * @param secretKey 加密key diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java index 197e6bf4..cc4d583c 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/entity/SmsId.java @@ -27,5 +27,4 @@ public class SmsId { /** 短信资源的创建时间,即短信平台接收到用户发送短信请求的时间,为UTC时间*/ private String createTime; - } diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java index 462100ff..e356ff28 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java @@ -75,11 +75,11 @@ public class HuaweiBuilder { /** * buildRequestBody *

构造请求Body体 - * @param sender - * @param receiver - * @param templateId - * @param templateParas - * @param statusCallBack + * @param sender 国内短信签名通道号 + * @param receiver 短信接收者 + * @param templateId 短信模板id + * @param templateParas 模板参数 + * @param statusCallBack 短信状态报告接收地 * @param signature | 签名名称,使用国内短信通用模板时填写 * @author :Wind */ diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java index ead33683..41826503 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/service/UniSmsImpl.java @@ -17,14 +17,12 @@ import java.util.List; import java.util.Map; import java.util.concurrent.Executor; - /** *

类名: UniSmsImpl *

说明: uniSms短信实现 * @author :Wind * 2023/3/26 17:10 **/ - @Slf4j public class UniSmsImpl extends AbstractSmsBlend { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java index f5403afe..33370f08 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/yunpian/service/YunPianSmsImpl.java @@ -27,7 +27,7 @@ public class YunPianSmsImpl extends AbstractSmsBlend { this.config = config; } - private YunpianConfig config; + private final YunpianConfig config; private static SmsResponse getSmsResponse(JSONObject execute) { SmsResponse smsResponse = new SmsResponse(); From 5bde3d739e1b93ec169ff25dce07ae14cb14ba75 Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:17:57 +0800 Subject: [PATCH 4/7] =?UTF-8?q?update=20=E6=9B=BF=E6=8D=A2javax.crypto?= =?UTF-8?q?=E5=8A=A0=E5=AF=86=E5=8C=85=E4=B8=BAhutool.crypto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/sms4j/tencent/utils/TencentUtils.java | 12 +++++------- .../org/dromara/sms4j/unisms/core/UniClient.java | 15 ++++++--------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java index 8abbdb04..8bc6a45d 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java @@ -1,11 +1,11 @@ package org.dromara.sms4j.tencent.utils; +import cn.hutool.crypto.digest.HMac; +import cn.hutool.crypto.digest.HmacAlgorithm; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.tencent.config.TencentConfig; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; import javax.xml.bind.DatatypeConverter; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; @@ -34,11 +34,9 @@ public class TencentUtils { private static final String CT_JSON = "application/json; charset=utf-8"; - private static byte[] hmac256(byte[] key, String msg) throws Exception { - Mac mac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKeySpec = new SecretKeySpec(key, mac.getAlgorithm()); - mac.init(secretKeySpec); - return mac.doFinal(msg.getBytes(StandardCharsets.UTF_8)); + private static byte[] hmac256(byte[] key, String msg) { + HMac hMac = new HMac(HmacAlgorithm.HmacSHA256, key); + return hMac.digest(msg.getBytes(StandardCharsets.UTF_8)); } private static String sha256Hex(String s) throws Exception { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniClient.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniClient.java index b4c1522f..cdc4c811 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniClient.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniClient.java @@ -1,13 +1,13 @@ package org.dromara.sms4j.unisms.core; +import cn.hutool.core.codec.Base64; +import cn.hutool.crypto.digest.HMac; +import cn.hutool.crypto.digest.HmacAlgorithm; import cn.hutool.json.JSONUtil; import com.dtflys.forest.config.ForestConfiguration; import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.comm.factory.BeanFactory; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import java.util.Base64; import java.util.Comparator; import java.util.Date; import java.util.HashMap; @@ -36,12 +36,9 @@ public class UniClient { private static String getSignature(final String message, final String secretKey) { try { - Mac hmac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(), "HmacSHA256"); - hmac.init(secretKeySpec); - - byte[] bytes = hmac.doFinal(message.getBytes()); - return Base64.getEncoder().encodeToString(bytes); + HMac hMac = new HMac(HmacAlgorithm.HmacSHA256, secretKey.getBytes()); + byte[] bytes = hMac.digest(message.getBytes()); + return Base64.encode(bytes); } catch (Exception e) { return null; } From 800f63949672e5730014c55c100e960998ebb6cd Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:22:14 +0800 Subject: [PATCH 5/7] =?UTF-8?q?update=20=E7=AE=80=E5=8C=96base64=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/sms4j/ctyun/utils/CtyunUtils.java | 4 ++-- .../org/dromara/sms4j/huawei/utils/HuaweiBuilder.java | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/utils/CtyunUtils.java b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/utils/CtyunUtils.java index c7880640..7f021719 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/utils/CtyunUtils.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/ctyun/utils/CtyunUtils.java @@ -1,5 +1,6 @@ package org.dromara.sms4j.ctyun.utils; +import cn.hutool.core.codec.Base64; import cn.hutool.crypto.digest.HMac; import cn.hutool.crypto.digest.HmacAlgorithm; import cn.hutool.json.JSONUtil; @@ -12,7 +13,6 @@ import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; -import java.util.Base64; import java.util.Date; import java.util.HashMap; import java.util.Locale; @@ -56,7 +56,7 @@ public class CtyunUtils { // 报文原封不动进行sha256摘要 String signatureStr = String.format("ctyun-eop-request-id:%s\neop-date:%s\n", uuid, signatureTime) + "\n\n" + calculateContentHash; // 构造签名 - String signature = Base64.getEncoder().encodeToString(hmacSHA256(signatureStr.getBytes(StandardCharsets.UTF_8), kDate)); + String signature = Base64.encode(hmacSHA256(signatureStr.getBytes(StandardCharsets.UTF_8), kDate)); String signHeader = String.format("%s Headers=ctyun-eop-request-id;eop-date Signature=%s", key, signature); map.put("Content-Type", "application/json;charset=UTF-8"); map.put("ctyun-eop-request-id", uuid); diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java index e356ff28..99ba7e03 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java @@ -1,5 +1,6 @@ package org.dromara.sms4j.huawei.utils; +import cn.hutool.core.codec.Base64; import org.dromara.sms4j.comm.constant.Constant; import javax.net.ssl.HttpsURLConnection; @@ -10,11 +11,9 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Base64; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -47,7 +46,7 @@ public class HuaweiBuilder { e.printStackTrace(); } - String passwordDigestBase64Str = Base64.getEncoder().encodeToString(passwordDigest); //PasswordDigest + String passwordDigestBase64Str = Base64.encode(passwordDigest); //PasswordDigest //若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正 //passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", ""); return String.format(Constant.HUAWEI_WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time); @@ -56,11 +55,9 @@ public class HuaweiBuilder { static void trustAllHttpsCertificates() throws Exception { TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { - public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { - return; + public void checkClientTrusted(X509Certificate[] chain, String authType) { } - public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { - return; + public void checkServerTrusted(X509Certificate[] chain, String authType) { } public X509Certificate[] getAcceptedIssuers() { return null; From 3646ce4c58465c7f13fda4f5307304213130e62f Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:24:01 +0800 Subject: [PATCH 6/7] =?UTF-8?q?update=20=E7=AE=80=E5=8C=96SimpleDateFormat?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E5=A4=9A=E6=AC=A1=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/sms4j/huawei/utils/HuaweiBuilder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java index 99ba7e03..7564505b 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/utils/HuaweiBuilder.java @@ -132,16 +132,16 @@ public class HuaweiBuilder { } static String dateFormat(Date date){ - SimpleDateFormat sdf = new SimpleDateFormat(Constant.HUAWEI_JAVA_DATE); - return sdf.format(date); + return SDF.format(date); } static Date strForDate(String date){ - SimpleDateFormat sdf = new SimpleDateFormat(Constant.HUAWEI_JAVA_DATE); try { - return sdf.parse(date); + return SDF.parse(date); } catch (ParseException e) { throw new RuntimeException(e); } } + + private static final SimpleDateFormat SDF = new SimpleDateFormat(Constant.HUAWEI_JAVA_DATE); } From fd87e4dde41b2c38147cc113a8d70537e8daa1bb Mon Sep 17 00:00:00 2001 From: bleachtred Date: Tue, 30 May 2023 15:54:38 +0800 Subject: [PATCH 7/7] =?UTF-8?q?update=20=E7=AE=80=E5=8C=96hutool=E5=8C=85?= =?UTF-8?q?=E7=9A=84=E5=BC=95=E5=85=A5=20=E6=8C=89=E9=9C=80=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 15 ++++++++++----- .../api/smsProxy/SmsInvocationHandler.java | 6 +++--- sms4j-comm/pom.xml | 5 +++++ .../dromara/sms4j/comm/constant/Constant.java | 1 - .../comm/utils/TimeExpiredPoolCache.java | 19 +++++++++---------- .../sms4j/core/factory/SmsFactory.java | 2 +- sms4j-provider/pom.xml | 6 ++++++ .../sms4j/aliyun/config/AlibabaFactory.java | 1 - .../sms4j/aliyun/service/AlibabaSmsImpl.java | 1 - .../sms4j/huawei/service/HuaweiSmsImpl.java | 1 - .../sms4j/unisms/core/UniResponse.java | 1 - .../org/dromara/sms4j/solon/XPluginImpl.java | 2 +- .../solon/aop/SolonRestrictedProcess.java | 2 +- .../solon/config/SmsAutowiredConfig.java | 1 - .../dromara/sms4j/solon/utils/RedisUtils.java | 5 +---- 15 files changed, 37 insertions(+), 31 deletions(-) diff --git a/pom.xml b/pom.xml index 4a1e3bfa..0937f747 100644 --- a/pom.xml +++ b/pom.xml @@ -169,15 +169,20 @@ activation ${activation.version} + + + + cn.hutool + hutool-bom + ${hutool.version} + pom + import + + - - cn.hutool - hutool-all - ${hutool.version} - org.projectlombok diff --git a/sms4j-api/src/main/java/org/dromara/sms4j/api/smsProxy/SmsInvocationHandler.java b/sms4j-api/src/main/java/org/dromara/sms4j/api/smsProxy/SmsInvocationHandler.java index 88c3be47..db0db8a4 100644 --- a/sms4j-api/src/main/java/org/dromara/sms4j/api/smsProxy/SmsInvocationHandler.java +++ b/sms4j-api/src/main/java/org/dromara/sms4j/api/smsProxy/SmsInvocationHandler.java @@ -11,8 +11,8 @@ import java.util.Objects; @Slf4j public class SmsInvocationHandler implements InvocationHandler { - private SmsBlend smsBlend; - private SmsConfig config; + private final SmsBlend smsBlend; + private final SmsConfig config; private static RestrictedProcess restrictedProcess = new RestrictedProcess(); private SmsInvocationHandler(SmsBlend smsBlend, SmsConfig config) { @@ -26,7 +26,7 @@ public class SmsInvocationHandler implements InvocationHandler { @Override public Object invoke(Object o, Method method, Object[] objects) throws Throwable { - Object result = null; + Object result; if ("sendMessage".equals(method.getName()) || "massTexting".equals(method.getName())) { //取手机号作为参数 String phone = (String) objects[0]; diff --git a/sms4j-comm/pom.xml b/sms4j-comm/pom.xml index eff30c00..23950328 100644 --- a/sms4j-comm/pom.xml +++ b/sms4j-comm/pom.xml @@ -19,5 +19,10 @@ com.dtflys.forest forest-core + + + cn.hutool + hutool-json + diff --git a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java index 96aed3e1..ca558701 100644 --- a/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java +++ b/sms4j-comm/src/main/java/org/dromara/sms4j/comm/constant/Constant.java @@ -1,6 +1,5 @@ package org.dromara.sms4j.comm.constant; - /** * Constant *

短信应用常量 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 1ffaf16d..8197e5cb 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 @@ -1,6 +1,5 @@ package org.dromara.sms4j.comm.utils; - import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.comm.exception.SmsBlendException; @@ -27,8 +26,8 @@ public class TimeExpiredPoolCache { * 持久化文件格式 */ private static final String FILE_TYPE = "persistence.data"; - private static long defaultCachedMillis = 24 * 60 * 60 * 1000L;//过期时间默认24小时 - private static long timerMillis = 30 * 1000L;//定时清理默认1分钟 + private static final long defaultCachedMillis = 24 * 60 * 60 * 1000L;//过期时间默认24小时 + private static final long timerMillis = 30 * 1000L;//定时清理默认1分钟 /** * 对象池 */ @@ -40,7 +39,7 @@ public class TimeExpiredPoolCache { /** * 定时器定时清理过期缓存 */ - private static Timer timer = new Timer(); + private static final Timer timer = new Timer(); private TimeExpiredPoolCache() { } @@ -48,7 +47,7 @@ public class TimeExpiredPoolCache { private static synchronized void syncInit() { if (instance == null) { instance = new TimeExpiredPoolCache(); - dataPool = new ConcurrentHashMap>(); + dataPool = new ConcurrentHashMap<>(); initTimer(); } } @@ -70,8 +69,8 @@ public class TimeExpiredPoolCache { if (dataPool != null) { return true; } - } catch (IOException ignored) { - log.error(ignored.getMessage()); + } catch (IOException e) { + log.error(e.getMessage()); } return false; } @@ -101,7 +100,7 @@ public class TimeExpiredPoolCache { * 清除过期的缓存 */ private static void clearExpiredCaches() { - List expiredKeyList = new LinkedList(); + List expiredKeyList = new LinkedList<>(); for (Entry> entry : dataPool.entrySet()) { if (entry.getValue().isExpired()) { @@ -135,7 +134,7 @@ public class TimeExpiredPoolCache { //更新 dataWrapper.update(data, cachedMillis); } else { - dataWrapper = new DataWrapper(data, cachedMillis); + dataWrapper = new DataWrapper<>(data, cachedMillis); dataPool.put(key, dataWrapper); } return data; @@ -210,7 +209,7 @@ public class TimeExpiredPoolCache { /** * 数据封装 */ - private class DataWrapper { + private static class DataWrapper { /** * 数据 */ diff --git a/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java b/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java index 38b873ee..a653143e 100644 --- a/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java +++ b/sms4j-core/src/main/java/org/dromara/sms4j/core/factory/SmsFactory.java @@ -24,7 +24,7 @@ import java.util.Objects; **/ public abstract class SmsFactory { - private static Map beans = new HashMap<>(); + private static final Map beans = new HashMap<>(); private SmsFactory() { } diff --git a/sms4j-provider/pom.xml b/sms4j-provider/pom.xml index 52fad917..0569c4d6 100644 --- a/sms4j-provider/pom.xml +++ b/sms4j-provider/pom.xml @@ -45,5 +45,11 @@ javax.activation activation + + + cn.hutool + hutool-crypto + + \ No newline at end of file diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java index 166de976..0106f47e 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/aliyun/config/AlibabaFactory.java @@ -5,7 +5,6 @@ import org.dromara.sms4j.aliyun.service.AlibabaSmsImpl; import org.dromara.sms4j.comm.factory.BeanFactory; import org.dromara.sms4j.provider.base.BaseProviderFactory; - /** * AlibabaSmsConfig *

阿里巴巴对象建造者 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 574ae1f5..e487d0a9 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 @@ -24,7 +24,6 @@ import java.util.concurrent.atomic.AtomicReference; * @author :Wind * 2023/3/26 17:16 **/ - @Slf4j public class AlibabaSmsImpl extends AbstractSmsBlend { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java index a29e5d9b..471d96f4 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/huawei/service/HuaweiSmsImpl.java @@ -19,7 +19,6 @@ import java.util.concurrent.Executor; import static org.dromara.sms4j.huawei.utils.HuaweiBuilder.listToString; - @Slf4j public class HuaweiSmsImpl extends AbstractSmsBlend { public HuaweiSmsImpl(HuaweiConfig config, Executor pool, DelayedTime delayed) { diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniResponse.java b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniResponse.java index fd80e3b5..641a781c 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniResponse.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/unisms/core/UniResponse.java @@ -5,7 +5,6 @@ import org.dromara.sms4j.comm.exception.SmsBlendException; import java.util.Objects; - public class UniResponse { public static final String REQUEST_ID_HEADER_KEY = "x-uni-request-id"; public String requestId; diff --git a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/XPluginImpl.java b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/XPluginImpl.java index d30071fc..9c440a51 100644 --- a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/XPluginImpl.java +++ b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/XPluginImpl.java @@ -9,7 +9,7 @@ import org.noear.solon.core.Plugin; */ public class XPluginImpl implements Plugin { @Override - public void start(AopContext context) throws Throwable { + public void start(AopContext context) { context.beanMake(SmsAutowiredConfig.class); SmsAutowiredConfig.aopContext = context; } diff --git a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/aop/SolonRestrictedProcess.java b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/aop/SolonRestrictedProcess.java index 360051a3..fb01f245 100644 --- a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/aop/SolonRestrictedProcess.java +++ b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/aop/SolonRestrictedProcess.java @@ -23,7 +23,7 @@ public class SolonRestrictedProcess extends RestrictedProcess { } @Override - public SmsBlendException process(SmsConfig config, String args) throws Exception { + public SmsBlendException process(SmsConfig config, String args) { Integer accountMax = config.getAccountMax();//每日最大发送量 Integer minuteMax = config.getMinuteMax();//每分钟最大发送量 if (SmsUtil.isNotEmpty(accountMax)) { //是否配置了每日限制 diff --git a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/config/SmsAutowiredConfig.java b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/config/SmsAutowiredConfig.java index bbb282a8..054539ef 100644 --- a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/config/SmsAutowiredConfig.java +++ b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/config/SmsAutowiredConfig.java @@ -22,7 +22,6 @@ import org.noear.solon.core.Props; import java.util.concurrent.Executor; - @Slf4j @Configuration public class SmsAutowiredConfig { diff --git a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/utils/RedisUtils.java b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/utils/RedisUtils.java index fd9e42c5..70f9b8ec 100644 --- a/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/utils/RedisUtils.java +++ b/sms4j-solon-plugin/src/main/java/org/dromara/sms4j/solon/utils/RedisUtils.java @@ -8,7 +8,6 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; - @Slf4j public class RedisUtils { @@ -97,9 +96,7 @@ public class RedisUtils { */ public boolean multiSet(Map valueMap) { try { - valueMap.forEach((key, val) -> { - redisTemplate.getBucket((String) key).set(val); - }); + valueMap.forEach((key, val) -> redisTemplate.getBucket((String) key).set(val)); return true; } catch (Exception e) { log.error(e.toString());