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