Explorar o código

update 优化 !pr145 代码结构与问题

疯狂的狮子Li %!s(int64=2) %!d(string=hai) anos
pai
achega
e3da1f06bb

+ 6 - 32
config/nacos/ruoyi-resource.yml

@@ -66,47 +66,21 @@ sms:
   account-max: 30
   account-max: 30
   # 以下配置来自于 org.dromara.sms4j.provider.config.BaseConfig类中
   # 以下配置来自于 org.dromara.sms4j.provider.config.BaseConfig类中
   blends:
   blends:
-    # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
-    tx1:
+    # 唯一ID 用于发送短信寻找具体配置 随便定义别用中文即可
+    # 可以同时存在两个相同厂商 例如: ali1 ali2 两个不同的阿里短信账号 也可用于区分租户
+    config1:
       # 框架定义的厂商名称标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
       # 框架定义的厂商名称标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
-      supplier: tencent
+      supplier: alibaba
       # 有些称为accessKey有些称之为apiKey,也有称为sdkKey或者appId。
       # 有些称为accessKey有些称之为apiKey,也有称为sdkKey或者appId。
       access-key-id: 您的accessKey
       access-key-id: 您的accessKey
       # 称为accessSecret有些称之为apiSecret
       # 称为accessSecret有些称之为apiSecret
       access-key-secret: 您的accessKeySecret
       access-key-secret: 您的accessKeySecret
-      # 您的短信签名
       signature: 您的短信签名
       signature: 您的短信签名
-      #模板ID 如果不需要简化的sendMessage方法可以不配置,如果使用sendMessage的快速发送需此配置
-      template-id: xxxxxxxx
-      #您的sdkAppId
       sdk-app-id: 您的sdkAppId
       sdk-app-id: 您的sdkAppId
-      # 随机权重,负载均衡的权重值依赖于此,默认为1,如不需要负载均衡可不进行配置
-      weight: 1
-      #短信自动重试间隔时间  默认五秒
-      retry-interval: 3
-      # 短信重试次数,默认0次不重试,如果你需要短信重试则根据自己的需求修改值即可
-      max-retries: 1
-      # 当前厂商的发送数量上限,默认不设置上限
-      maximum: 10000
-    # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
-    tx2:
-      #厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
+    config2:
+      # 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
       supplier: tencent
       supplier: tencent
-      #您的accessKey
       access-key-id: 您的accessKey
       access-key-id: 您的accessKey
-      #您的accessKeySecret
       access-key-secret: 您的accessKeySecret
       access-key-secret: 您的accessKeySecret
-      #您的短信签名
       signature: 您的短信签名
       signature: 您的短信签名
-      #模板ID 非必须配置,如果使用sendMessage的快速发送需此配置
-      template-id: xxxxxxxx
-      #您的sdkAppId
       sdk-app-id: 您的sdkAppId
       sdk-app-id: 您的sdkAppId
-      # 随机权重,负载均衡的权重值依赖于此,默认为1,如不需要负载均衡可不进行配置
-      weight: 1
-      #短信自动重试间隔时间  默认五秒
-      retry-interval: 3
-      # 短信重试次数,默认0次不重试,如果你需要短信重试则根据自己的需求修改值即可
-      max-retries: 1
-      # 当前厂商的发送数量上限,默认不设置上限
-      maximum: 10000

+ 10 - 10
ruoyi-api/ruoyi-api-resource/src/main/java/org/dromara/resource/api/RemoteSmsService.java

@@ -47,7 +47,7 @@ public interface RemoteSmsService {
      * @param message 短信内容
      * @param message 短信内容
      * @return 封装了短信发送结果的 RemoteSms 对象
      * @return 封装了短信发送结果的 RemoteSms 对象
      */
      */
-    RemoteSms massTexting(List<String> phones, String message);
+    RemoteSms messageTexting(List<String> phones, String message);
 
 
     /**
     /**
      * 同步方法:使用自定义模板群发短信
      * 同步方法:使用自定义模板群发短信
@@ -57,7 +57,7 @@ public interface RemoteSmsService {
      * @param messages   短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @param messages   短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @return 封装了短信发送结果的 RemoteSms 对象
      * @return 封装了短信发送结果的 RemoteSms 对象
      */
      */
-    RemoteSms massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages);
+    RemoteSms messageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages);
 
 
     /**
     /**
      * 异步方法:发送固定消息模板短信
      * 异步方法:发送固定消息模板短信
@@ -83,7 +83,7 @@ public interface RemoteSmsService {
      * @param message     短信内容
      * @param message     短信内容
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
-    void delayedMessage(String phone, String message, Long delayedTime);
+    void delayMessage(String phone, String message, Long delayedTime);
 
 
     /**
     /**
      * 延迟发送:使用自定义模板发送定时短信
      * 延迟发送:使用自定义模板发送定时短信
@@ -93,7 +93,7 @@ public interface RemoteSmsService {
      * @param messages    短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @param messages    短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
-    void delayedMessage(String phone, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
+    void delayMessage(String phone, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
 
 
     /**
     /**
      * 延迟群发:群发延迟短信
      * 延迟群发:群发延迟短信
@@ -102,7 +102,7 @@ public interface RemoteSmsService {
      * @param message     短信内容
      * @param message     短信内容
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
-    void delayMassTexting(List<String> phones, String message, Long delayedTime);
+    void delayMessageTexting(List<String> phones, String message, Long delayedTime);
 
 
     /**
     /**
      * 延迟群发:使用自定义模板发送群体延迟短信
      * 延迟群发:使用自定义模板发送群体延迟短信
@@ -112,34 +112,34 @@ public interface RemoteSmsService {
      * @param messages    短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @param messages    短信模板参数,使用 LinkedHashMap 以保持参数顺序
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
-    void delayMassTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
+    void delayMessageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
 
 
     /**
     /**
      * 加入黑名单
      * 加入黑名单
      *
      *
      * @param phone 手机号
      * @param phone 手机号
      */
      */
-    void joinInBlacklist(String phone);
+    void addBlacklist(String phone);
 
 
     /**
     /**
      * 加入黑名单
      * 加入黑名单
      *
      *
      * @param phones 手机号列表
      * @param phones 手机号列表
      */
      */
-    void joinInBlacklist(List<String> phones);
+    void addBlacklist(List<String> phones);
 
 
     /**
     /**
      * 移除黑名单
      * 移除黑名单
      *
      *
      * @param phone 手机号
      * @param phone 手机号
      */
      */
-    void removeFromBlacklist(String phone);
+    void removeBlacklist(String phone);
 
 
     /**
     /**
      * 移除黑名单
      * 移除黑名单
      *
      *
      * @param phones 手机号
      * @param phones 手机号
      */
      */
-    void removeFromBlacklist(List<String> phones);
+    void removeBlacklist(List<String> phones);
 
 
 }
 }

+ 9 - 9
ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java

@@ -34,7 +34,7 @@ public class SmsController {
     public R<Object> sendAliyun(String phones, String templateId) {
     public R<Object> sendAliyun(String phones, String templateId) {
         LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
         LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
         map.put("code", "1234");
         map.put("code", "1234");
-        SmsBlend smsBlend = SmsFactory.getSmsBlend("tx1");
+        SmsBlend smsBlend = SmsFactory.getSmsBlend("config1");
         SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map);
         SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map);
         return R.ok(smsResponse);
         return R.ok(smsResponse);
     }
     }
@@ -50,19 +50,19 @@ public class SmsController {
         LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
         LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
 //        map.put("2", "测试测试");
 //        map.put("2", "测试测试");
         map.put("1", "1234");
         map.put("1", "1234");
-        SmsBlend smsBlend = SmsFactory.getSmsBlend("tx1");
+        SmsBlend smsBlend = SmsFactory.getSmsBlend("config2");
         SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map);
         SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map);
         return R.ok(smsResponse);
         return R.ok(smsResponse);
     }
     }
 
 
     /**
     /**
-     * 加黑名单
+     * 加黑名单
      *
      *
      * @param phone 手机号
      * @param phone 手机号
      */
      */
-    @GetMapping("/joinInBlacklist")
-    public R<Object> joinInBlacklist(String phone){
-        SmsBlend smsBlend = SmsFactory.getSmsBlend("tx1");
+    @GetMapping("/addBlacklist")
+    public R<Object> addBlacklist(String phone){
+        SmsBlend smsBlend = SmsFactory.getSmsBlend("config1");
         smsBlend.joinInBlacklist(phone);
         smsBlend.joinInBlacklist(phone);
         return R.ok();
         return R.ok();
     }
     }
@@ -72,9 +72,9 @@ public class SmsController {
      *
      *
      * @param phone 手机号
      * @param phone 手机号
      */
      */
-    @GetMapping("/removeFromBlacklist")
-    public R<Object> removeFromBlacklist(String phone){
-        SmsBlend smsBlend = SmsFactory.getSmsBlend("tx1");
+    @GetMapping("/removeBlacklist")
+    public R<Object> removeBlacklist(String phone){
+        SmsBlend smsBlend = SmsFactory.getSmsBlend("config1");
         smsBlend.removeFromBlacklist(phone);
         smsBlend.removeFromBlacklist(phone);
         return R.ok();
         return R.ok();
     }
     }

+ 12 - 11
ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/dubbo/RemoteSmsServiceImpl.java

@@ -30,7 +30,8 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @return SmsBlend 实例,代表指定供应商类型
      * @return SmsBlend 实例,代表指定供应商类型
      */
      */
     private SmsBlend getSmsBlend() {
     private SmsBlend getSmsBlend() {
-        return SmsFactory.getSmsBlend("tx1");
+        // 可自定义厂商配置获取规则 例如根据租户获取 或 负载均衡多个厂商等
+        return SmsFactory.getSmsBlend("config1");
     }
     }
 
 
     /**
     /**
@@ -98,7 +99,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @return 封装了短信发送结果的 RemoteSms 对象
      * @return 封装了短信发送结果的 RemoteSms 对象
      */
      */
     @Override
     @Override
-    public RemoteSms massTexting(List<String> phones, String message) {
+    public RemoteSms messageTexting(List<String> phones, String message) {
         // 调用 getSmsBlend 方法获取对应短信供应商的 SmsBlend 实例
         // 调用 getSmsBlend 方法获取对应短信供应商的 SmsBlend 实例
         SmsResponse smsResponse = getSmsBlend().massTexting(phones, message);
         SmsResponse smsResponse = getSmsBlend().massTexting(phones, message);
         return getRemoteSms(smsResponse);
         return getRemoteSms(smsResponse);
@@ -113,7 +114,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @return 封装了短信发送结果的 RemoteSms 对象
      * @return 封装了短信发送结果的 RemoteSms 对象
      */
      */
     @Override
     @Override
-    public RemoteSms massTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
+    public RemoteSms messageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
         // 调用 getSmsBlend 方法获取对应短信供应商的 SmsBlend 实例
         // 调用 getSmsBlend 方法获取对应短信供应商的 SmsBlend 实例
         SmsResponse smsResponse = getSmsBlend().massTexting(phones, templateId, messages);
         SmsResponse smsResponse = getSmsBlend().massTexting(phones, templateId, messages);
         return getRemoteSms(smsResponse);
         return getRemoteSms(smsResponse);
@@ -150,7 +151,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
     @Override
     @Override
-    public void delayedMessage(String phone, String message, Long delayedTime) {
+    public void delayMessage(String phone, String message, Long delayedTime) {
         getSmsBlend().delayedMessage(phone, message, delayedTime);
         getSmsBlend().delayedMessage(phone, message, delayedTime);
     }
     }
 
 
@@ -163,7 +164,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
     @Override
     @Override
-    public void delayedMessage(String phone, String templateId, LinkedHashMap<String, String> messages, Long delayedTime) {
+    public void delayMessage(String phone, String templateId, LinkedHashMap<String, String> messages, Long delayedTime) {
         getSmsBlend().delayedMessage(phone, templateId, messages, delayedTime);
         getSmsBlend().delayedMessage(phone, templateId, messages, delayedTime);
     }
     }
 
 
@@ -175,7 +176,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
     @Override
     @Override
-    public void delayMassTexting(List<String> phones, String message, Long delayedTime) {
+    public void delayMessageTexting(List<String> phones, String message, Long delayedTime) {
         getSmsBlend().delayMassTexting(phones, message, delayedTime);
         getSmsBlend().delayMassTexting(phones, message, delayedTime);
     }
     }
 
 
@@ -188,7 +189,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param delayedTime 延迟发送时间(毫秒)
      * @param delayedTime 延迟发送时间(毫秒)
      */
      */
     @Override
     @Override
-    public void delayMassTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages, Long delayedTime) {
+    public void delayMessageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages, Long delayedTime) {
         getSmsBlend().delayMassTexting(phones, templateId, messages, delayedTime);
         getSmsBlend().delayMassTexting(phones, templateId, messages, delayedTime);
     }
     }
 
 
@@ -198,7 +199,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param phone 手机号
      * @param phone 手机号
      */
      */
     @Override
     @Override
-    public void joinInBlacklist(String phone) {
+    public void addBlacklist(String phone) {
         getSmsBlend().joinInBlacklist(phone);
         getSmsBlend().joinInBlacklist(phone);
     }
     }
 
 
@@ -208,7 +209,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param phones 手机号列表
      * @param phones 手机号列表
      */
      */
     @Override
     @Override
-    public void joinInBlacklist(List<String> phones) {
+    public void addBlacklist(List<String> phones) {
         getSmsBlend().batchJoinBlacklist(phones);
         getSmsBlend().batchJoinBlacklist(phones);
     }
     }
 
 
@@ -218,7 +219,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param phone 手机号
      * @param phone 手机号
      */
      */
     @Override
     @Override
-    public void removeFromBlacklist(String phone) {
+    public void removeBlacklist(String phone) {
         getSmsBlend().removeFromBlacklist(phone);
         getSmsBlend().removeFromBlacklist(phone);
     }
     }
 
 
@@ -228,7 +229,7 @@ public class RemoteSmsServiceImpl implements RemoteSmsService {
      * @param phones 手机号
      * @param phones 手机号
      */
      */
     @Override
     @Override
-    public void removeFromBlacklist(List<String> phones) {
+    public void removeBlacklist(List<String> phones) {
         getSmsBlend().batchRemovalFromBlacklist(phones);
         getSmsBlend().batchRemovalFromBlacklist(phones);
     }
     }