浏览代码

Merge remote-tracking branch 'origin/saas' into saas

zouxuan 3 年之前
父节点
当前提交
22b2596b67

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantInfoDao.java

@@ -24,4 +24,6 @@ public interface TenantInfoDao extends BaseMapper<TenantInfo> {
     void updatePhone(@Param("newPhone")String newPhone, @Param("oldPhone")String oldPhone);
 
     List<TenantInfo> queryExpiryTenant(@Param("expiryDate") Date expiryDate);
+
+    Integer queryUserByTenantId(@Param("tenantId") Integer tenantId);
 }

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

@@ -2,5 +2,5 @@ package com.ym.mec.biz.service;
 
 public interface TenantInfoSendMsgService {
 
-    void sendToAll(String type, Integer userId, String email,String phone, Object[] objs);
+    void platformSendToAll(String email, String phone, Object[] objs);
 }

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

@@ -26,8 +26,6 @@ import java.util.*;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import static com.ym.mec.biz.service.impl.TenantInfoSendMsgServiceImpl.INSUFFICIENT;
-
 /**
  * 机构资产信息(TenantAssetsInfo)表服务实现类
  *
@@ -155,7 +153,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.sendToAll(INSUFFICIENT, t.getUserId(), t.getEmail(), t.getPhone(), new Object[]{t.getName()});
+                    tenantInfoSendMsgService.platformSendToAll(t.getEmail(), t.getPhone(), new Object[]{t.getName()});
                 }
             }
         });

+ 25 - 51
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoSendMsgServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.TenantInfoDao;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.TenantInfoSendMsgService;
@@ -14,7 +15,8 @@ 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 {
@@ -22,78 +24,50 @@ public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
 
     @Autowired
     private SysMessageService sysMessageService;
+    @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<>();
-    //init
-    private static final Map<String, Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum>> sendMsgTypeEn = new HashMap<>();
+    //平台向机构发送信息,目前有 机构开通、机构续费、机构即将到期提醒、云教室余额不足
+    public static final String PLATFORM_SEND = "PLATFORM_SEND";
+    //平台向机构发送信息 开通、续费、即将到期提醒、云教室余额不足
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> PLATFORM_ALL_MSG_ENUM = 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);
-
-        //init
-        sendMsgTypeEn.put(OPEN, openMsgEnum);
-        sendMsgTypeEn.put(RENEW, renewMsgEnum);
-        sendMsgTypeEn.put(EXPIRATION, expirationMsgEnum);
-        sendMsgTypeEn.put(INSUFFICIENT, insufficientMsgEnum);
+        //开通、续费、即将到期提醒、云教室余额不足 以上都是平台向机构发信息
+        PLATFORM_ALL_MSG_ENUM.put(MessageSenderPluginContext.MessageSender.EMAIL, EMAIL_TENANT_ACTIVATION_SUCCESSFUL);
+        PLATFORM_ALL_MSG_ENUM.put(MessageSenderPluginContext.MessageSender.AWSMS, SMS_TENANT_ACTIVATION_SUCCESSFUL);
     }
 
     /**
-     * 发送邮件及短信提醒
+     * 以平台的名义发送邮件及短信
      *
-     * @param type   OPEN/RENEW/EXPIRATION之类的
-     * @param userId 机构用户id
-     * @param email  发送的地址 电话或者邮件
-     * @param objs   发送的信息
+     * @param email 发送的地址 电话或者邮件
+     * @param objs  发送的信息
      */
     @Override
-    public void sendToAll(String type, Integer userId, String email, String phone, Object[] objs) {
+    public void platformSendToAll(String email, String phone, Object[] objs) {
         Map<Integer, String> sendPar = new HashMap<>();
+        Integer userId = tenantInfoDao.queryUserByTenantId(-1);
         if (Objects.isNull(userId)) {
             return;
         }
+        log.info("platformSendToAll>>> email {} phone {} objs {} sendPar {}", email, phone, objs, sendPar);
+
         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,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.EMAIL,
+                    PLATFORM_ALL_MSG_ENUM.get(MessageSenderPluginContext.MessageSender.EMAIL),
+                    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,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
+                    PLATFORM_ALL_MSG_ENUM.get(MessageSenderPluginContext.MessageSender.AWSMS),
+                    sendPar, null, 0, null,
                     "SYSTEM", objs);
         }
-
     }
 
 }

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

@@ -48,8 +48,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
-import static com.ym.mec.biz.service.impl.TenantInfoSendMsgServiceImpl.*;
-
 @Service
 public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo> implements TenantInfoService {
     private static final Logger log = LoggerFactory.getLogger(TenantInfoServiceImpl.class);
@@ -345,7 +343,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         tenantProductInfoService.updateById(productInfo);
         //发送邮件及短信提醒
         Object[] msg = {tenantInfo.getName(), tenantInfo.getPhone(), "123456", "https://online.dayaedu.com"};
-        tenantInfoSendMsgService.sendToAll(OPEN, tenantInfo.getUserId(), tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
+        tenantInfoSendMsgService.platformSendToAll(tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
         //释放锁
         bucket.delete();
     }
@@ -443,7 +441,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
      */
     public Map<String, Object> tenantOpenPay(Integer tenantId) throws Exception {
         SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
-        if(Objects.isNull(config)){
+        if (Objects.isNull(config)) {
             throw new BizException("未查询到机构收款分部信息!");
         }
 
@@ -489,7 +487,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
      */
     public Map<String, Object> tenantRenewPay(Integer tenantId, Integer val) throws Exception {
         SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
-        if(Objects.isNull(config)){
+        if (Objects.isNull(config)) {
             throw new BizException("未查询到机构收款分部信息!");
         }
 
@@ -574,7 +572,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         TenantInfo tenantInfo = this.getById(tenantId);
         //发送邮件及短信提醒
         Object[] msg = {tenantInfo.getName()};
-        tenantInfoSendMsgService.sendToAll(RENEW, tenantInfo.getUserId(), tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
+        tenantInfoSendMsgService.platformSendToAll(tenantInfo.getEmail(), tenantInfo.getPhone(), msg);
         //释放锁
         bucket.delete();
     }
@@ -707,7 +705,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     @Override
     public Map<String, Object> recharge(Integer tenantId, BigDecimal amount) throws Exception {
         SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
-        if(Objects.isNull(config)){
+        if (Objects.isNull(config)) {
             throw new BizException("未查询到机构收款分部信息!");
         }
         log.error("机构 " + tenantId.toString() + "充值");
@@ -777,14 +775,14 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
 
     @Override
     public void saveTenantContextHolder(HttpServletRequest request) {
-    	
-    	final String TENANT_ID = "tenantId";
+
+        final String TENANT_ID = "tenantId";
         String tenantId = request.getParameter(TENANT_ID);
-        
-        if(StringUtils.isBlank(tenantId)){
-        	tenantId = request.getHeader(TENANT_ID);
+
+        if (StringUtils.isBlank(tenantId)) {
+            tenantId = request.getHeader(TENANT_ID);
         }
-        
+
         if (StringUtils.isBlank(tenantId)) {
             SysUser sysUser = sysUserFeignService.queryUserInfo();
             if (sysUser != null && sysUser.getTenantId() != null) {
@@ -842,7 +840,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.sendToAll(EXPIRATION, t.getUserId(), t.getEmail(), t.getPhone(), objects);
+            tenantInfoSendMsgService.platformSendToAll(t.getEmail(), t.getPhone(), objects);
         });
     }
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -1034,7 +1034,7 @@
         where  status_ = 'SUCCESS'
           and create_time_ >= #{param.startDate}
           and create_time_   <![CDATA[ < ]]> #{param.endDate}
-          and user_id_ = #{userId}
+          and user_id_ = #{param.userId}
     </select>
 
     <select id="queryOrderDetail" resultMap="QueryOrderDetail">

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -152,4 +152,8 @@
           AND b.`expiry_date_` = #{expiryDate}
     </select>
 
+    <select id="queryUserByTenantId" resultType="integer">
+        select id_ from sys_user where tenant_id_ = #{tenantId} limit 1
+    </select>
+
 </mapper>