浏览代码

增加机构相关功能信息发送功能类

hgw 3 年之前
父节点
当前提交
ce76e811e8

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantInfoSendMsgService.java

@@ -0,0 +1,6 @@
+package com.ym.mec.biz.service;
+
+public interface TenantInfoSendMsgService {
+
+    void sendToAll(String type, Integer userId, String email, Object... objs);
+}

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoSendMsgServiceImpl.java

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.TenantInfoSendMsgService;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import org.slf4j.Logger;
+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;
+
+@Service
+public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
+    private static final Logger log = LoggerFactory.getLogger(TenantInfoSendMsgServiceImpl.class);
+
+    @Autowired
+    private SysMessageService sysMessageService;
+
+    //开通
+    public static final String OPEN = "open";
+    //续费
+    public static final String RENEW = "renew";
+
+    //发送邮件和短信
+    public static final Object[] sendAll = {MessageSenderPluginContext.MessageSender.EMAIL, MessageSenderPluginContext.MessageSender.AWSMS};
+    //开通
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> openMsgEnum = new HashMap<>();
+    //续费
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> renewMsgEnum = new HashMap<>();
+    //init
+    private static final Map<String, Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum>> sendMsgTypeEn = new HashMap<>();
+
+    static {
+        //开通
+        openMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, MessageTypeEnum.EMAIL_TENANT_ACTIVATION_SUCCESSFUL);
+        openMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TENANT_ACTIVATION_SUCCESSFUL);
+        //续费
+        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, MessageTypeEnum.EMAIL_TENANT_RENEWAL_SUCCESSFUL);
+        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TENANT_RENEWAL_SUCCESSFUL);
+        //init
+        sendMsgTypeEn.put(OPEN, openMsgEnum);
+        sendMsgTypeEn.put(RENEW, renewMsgEnum);
+    }
+
+    //发送邮件及短信提醒
+    @Override
+    public void sendToAll(String type, Integer userId, String email, Object... objs) {
+        Map<Integer, String> receivers = new HashMap<>();
+        receivers.put(userId, email);
+        Arrays.stream(sendAll).forEach(o -> {
+            MessageSenderPluginContext.MessageSender msgType = (MessageSenderPluginContext.MessageSender) o;
+            sysMessageService.batchSendMessage(msgType,
+                    sendMsgTypeEn.get(type).get(msgType), receivers, null, 0, null,
+                    "SYSTEM", objs);
+        });
+    }
+
+}