Bladeren bron

优化代码

hgw 3 jaren geleden
bovenliggende
commit
6f47bc022a

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantAssetsInfoServiceImpl.java

@@ -26,7 +26,7 @@ import java.util.*;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import static com.ym.mec.biz.service.impl.TenantInfoSendMsgServiceImpl.INSUFFICIENT;
+import static com.ym.mec.biz.service.impl.TenantInfoSendMsgServiceImpl.PLATFORM_SEND;
 
 /**
  * 机构资产信息(TenantAssetsInfo)表服务实现类
@@ -155,7 +155,7 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
                 //当前余额大于300 并且 本次扣除后剩余额度小于300 就发信息提醒
                 if (balance.compareTo(new BigDecimal(300)) > -1 && balance.compareTo(after) < 0) {
                     TenantInfo t = tenantInfoService.getById(course.getTenantId());
-                    tenantInfoSendMsgService.platformSendToAll(INSUFFICIENT, t.getEmail(), t.getPhone(), new Object[]{t.getName()});
+                    tenantInfoSendMsgService.platformSendToAll(PLATFORM_SEND, t.getEmail(), t.getPhone(), new Object[]{t.getName()});
                 }
             }
         });

+ 19 - 50
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoSendMsgServiceImpl.java

@@ -11,11 +11,13 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
 
-import static com.ym.mec.biz.dal.enums.MessageTypeEnum.*;
+import static com.ym.mec.biz.dal.enums.MessageTypeEnum.EMAIL_TENANT_ACTIVATION_SUCCESSFUL;
+import static com.ym.mec.biz.dal.enums.MessageTypeEnum.SMS_TENANT_ACTIVATION_SUCCESSFUL;
 
 @Service
 public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
@@ -26,45 +28,21 @@ public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
     @Autowired
     private TenantInfoDao tenantInfoDao;
 
-    //开通
-    public static final String OPEN = "open";
-    //续费
-    public static final String RENEW = "renew";
-    //即将到期提醒
-    public static final String EXPIRATION = "expiration";
-    //云教室余额不足
-    public static final String INSUFFICIENT = "insufficient";
-
-    //开通
-    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> openMsgEnum = new HashMap<>();
-    //续费
-    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> renewMsgEnum = new HashMap<>();
-    //即将到期提醒
-    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> expirationMsgEnum = new HashMap<>();
-    //云教室余额不足
-    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> insufficientMsgEnum = new HashMap<>();
+    //平台向机构发送信息,目前有 机构开通、机构续费、机构即将到期提醒、云教室余额不足
+    public static final String PLATFORM_SEND = "PLATFORM_SEND";
+    //邮件 和 短信
+    public static final MessageSenderPluginContext.MessageSender[] SENDER_ALL_ENUM = {MessageSenderPluginContext.MessageSender.EMAIL, MessageSenderPluginContext.MessageSender.AWSMS};
+    //平台向机构发送信息 开通、续费、即将到期提醒、云教室余额不足
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> PLATFORM_ALL_MSG_ENUM = new HashMap<>();
     //init
-    private static final Map<String, Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum>> sendMsgTypeEn = new HashMap<>();
+    private static final Map<String, Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum>> SEND_MSG_TYPE = new HashMap<>();
 
     static {
-        //开通
-        openMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_ACTIVATION_SUCCESSFUL);
-        openMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_ACTIVATION_SUCCESSFUL);
-        //续费
-        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_RENEWAL_SUCCESSFUL);
-        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_RENEWAL_SUCCESSFUL);
-        //即将到期提醒
-        expirationMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_EXPIRATION_REMINDERS);
-        expirationMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_EXPIRATION_REMINDERS);
-        //云教室余额不足
-        insufficientMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_INSUFFICIENT_BALANCE);
-        insufficientMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_INSUFFICIENT_BALANCE);
-
+        //开通、续费、即将到期提醒、云教室余额不足 以上都是平台向机构发信息
+        PLATFORM_ALL_MSG_ENUM.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_ACTIVATION_SUCCESSFUL);
+        PLATFORM_ALL_MSG_ENUM.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_ACTIVATION_SUCCESSFUL);
         //init
-        sendMsgTypeEn.put(OPEN, openMsgEnum);
-        sendMsgTypeEn.put(RENEW, renewMsgEnum);
-        sendMsgTypeEn.put(EXPIRATION, expirationMsgEnum);
-        sendMsgTypeEn.put(INSUFFICIENT, insufficientMsgEnum);
+        SEND_MSG_TYPE.put(PLATFORM_SEND, PLATFORM_ALL_MSG_ENUM);
     }
 
     /**
@@ -81,22 +59,13 @@ public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
         if (Objects.isNull(userId)) {
             return;
         }
-        if (StringUtils.isNotBlank(email)) {
-            sendPar.put(userId, email);
-            MessageSenderPluginContext.MessageSender emailEn = MessageSenderPluginContext.MessageSender.EMAIL;
-            sysMessageService.batchSendMessage(emailEn,
-                    sendMsgTypeEn.get(type).get(emailEn), sendPar, null, 0, null,
-                    "SYSTEM", objs);
-        }
+        sendPar.put(userId, email);
+        if (StringUtils.isNotBlank(email) && StringUtils.isNotBlank(phone)) {
+            Arrays.stream(SENDER_ALL_ENUM).forEach(en -> sysMessageService.batchSendMessage(en,
+                    SEND_MSG_TYPE.get(type).get(en), sendPar, null, 0, null,
+                    "SYSTEM", objs));
 
-        if (StringUtils.isNotBlank(phone)) {
-            MessageSenderPluginContext.MessageSender smsEn = MessageSenderPluginContext.MessageSender.AWSMS;
-            sendPar.put(userId, phone);
-            sysMessageService.batchSendMessage(smsEn,
-                    sendMsgTypeEn.get(type).get(smsEn), sendPar, null, 0, null,
-                    "SYSTEM", objs);
         }
-
     }
 
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -345,7 +345,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         tenantProductInfoService.updateById(productInfo);
         //发送邮件及短信提醒
         Object[] msg = {tenantInfo.getName(), tenantInfo.getPhone(), "123456", "https://online.dayaedu.com"};
-        tenantInfoSendMsgService.platformSendToAll(OPEN, tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
+        tenantInfoSendMsgService.platformSendToAll(PLATFORM_SEND, tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
         //释放锁
         bucket.delete();
     }
@@ -574,7 +574,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         TenantInfo tenantInfo = this.getById(tenantId);
         //发送邮件及短信提醒
         Object[] msg = {tenantInfo.getName()};
-        tenantInfoSendMsgService.platformSendToAll(RENEW, tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
+        tenantInfoSendMsgService.platformSendToAll(PLATFORM_SEND, tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
         //释放锁
         bucket.delete();
     }
@@ -842,7 +842,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     private void send(List<TenantInfo> infoList, String dateStr) {
         infoList.forEach(t -> {
             Object[] objects = {t.getName(), dateStr};
-            tenantInfoSendMsgService.platformSendToAll(EXPIRATION, t.getEmail(), t.getPhone(), objects);
+            tenantInfoSendMsgService.platformSendToAll(PLATFORM_SEND, t.getEmail(), t.getPhone(), objects);
         });
     }