lyhzzz 1 năm trước cách đây
mục cha
commit
34701e9426

+ 3 - 3
src/main/java/com/fdkankan/ucenter/controller/TestController.java

@@ -89,14 +89,14 @@ public class TestController extends BaseController {
         Integer[] days ={-1,0,30};
         for (Integer day : days) {
             if(day == null || day<0){
-                mailTemplateService.sendPeExMail(userName);
+                mailTemplateService.sendPeExMail(userName,"");
                 continue;
             }
             if(day > 0){
-                mailTemplateService.sendPeNoExMail(userName,day);
+                mailTemplateService.sendPeNoExMail(userName,day,"");
                 continue;
             }
-            mailTemplateService.sendPeTodayExMail(userName);
+            mailTemplateService.sendPeTodayExMail(userName,"");
         }
         return Result.success( );
     }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/mq/consumer/AutoOrderConsumer.java

@@ -85,6 +85,10 @@ public class AutoOrderConsumer {
                 case "BILLING.SUBSCRIPTION.CANCELLED" :     //取消订阅
                     for (UserIncrement increment : increments) {
                         userIncrementService.cancelSubscriptions(increment);
+                        User user = userService.getById(increment.getUserId());
+                        if(user != null){
+                            mailTemplateService.sendSubcriptionCancelledMail(user.getUserName(),increment.getMemberLevels());
+                        }
                     }
                     break;
                 default:

+ 5 - 3
src/main/java/com/fdkankan/ucenter/service/IMailTemplateService.java

@@ -31,15 +31,15 @@ public interface IMailTemplateService extends IService<MailTemplate> {
     /**
      * 发送会员权益过期邮件
      */
-    Boolean sendPeExMail(String email);
+    Boolean sendPeExMail(String email,String msgType);
     /**
      * 发送会员权益即将过期邮件
      */
-    Boolean sendPeNoExMail(String email,Integer day);
+    Boolean sendPeNoExMail(String email,Integer day,String msgType);
     /**
      * 发送会员权益今天过期
      */
-    Boolean sendPeTodayExMail(String email);
+    Boolean sendPeTodayExMail(String email,String msgType);
 
     /**
      * 发送协作邮件
@@ -49,4 +49,6 @@ public interface IMailTemplateService extends IService<MailTemplate> {
     Boolean sendCameraCooperation(HashMap<Long, Camera> cameraMap, String username, String lang);
 
     void sendPayErrorMail(String email);
+
+    void sendSubcriptionCancelledMail(String email,String memberLevels);
 }

+ 65 - 3
src/main/java/com/fdkankan/ucenter/service/impl/MailTemplateServiceImpl.java

@@ -71,27 +71,51 @@ public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, Ma
     }
 
     @Override
-    public Boolean sendPeExMail(String email) {
+    public Boolean sendPeExMail(String email,String memberLevels) {
         MailTemplate mailTemplate = this.getTemplate(3,"en");
+        if(mailTemplate != null){
+            String msg = mailTemplate.getMsg();
+            if(StringUtils.isNotBlank(memberLevels)){
+                msg = msg.replace("{memberLevels}",getMemberLeversMsg(memberLevels));
+                msg = msg.replace("{money}",getMoney(memberLevels));
+                msg = msg.replace("{time}",getTime(memberLevels));
+            }
+            mailTemplate.setMsg(msg);
+        }
         return sendMail(email,mailTemplate,null);
     }
 
     @Override
-    public Boolean sendPeNoExMail(String email,Integer day) {
+    public Boolean sendPeNoExMail(String email,Integer day,String memberLevels) {
         MailTemplate mailTemplate = this.getTemplate(4,"en");
         if(mailTemplate != null){
             String msg = mailTemplate.getMsg();
+            if(StringUtils.isNotBlank(memberLevels)){
+                msg = msg.replace("{memberLevels}",getMemberLeversMsg(memberLevels));
+                msg = msg.replace("{money}",getMoney(memberLevels));
+                msg = msg.replace("{time}",getTime(memberLevels));
+            }
             if(day != null && day >0){
                 msg = msg.replace("{day}",day.toString());
             }
+
             mailTemplate.setMsg(msg);
         }
         return sendMail(email,mailTemplate,null);
     }
 
     @Override
-    public Boolean sendPeTodayExMail(String email) {
+    public Boolean sendPeTodayExMail(String email,String memberLevels) {
         MailTemplate mailTemplate = this.getTemplate(5,"en");
+        if(mailTemplate != null){
+            String msg = mailTemplate.getMsg();
+            if(StringUtils.isNotBlank(memberLevels)){
+                msg = msg.replace("{memberLevels}",getMemberLeversMsg(memberLevels));
+                msg = msg.replace("{money}",getMoney(memberLevels));
+                msg = msg.replace("{time}",getTime(memberLevels));
+            }
+            mailTemplate.setMsg(msg);
+        }
         return sendMail(email,mailTemplate,null);
     }
 
@@ -164,4 +188,42 @@ public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, Ma
         MailTemplate mailTemplate = this.getTemplate(9,"en");
         sendMail(email,mailTemplate,null);
     }
+
+    @Override
+    public void sendSubcriptionCancelledMail(String email, String memberLevels) {
+        MailTemplate mailTemplate = this.getTemplate(10,"en");
+        if(mailTemplate != null){
+            String msg = mailTemplate.getMsg();
+            if(StringUtils.isNotBlank(memberLevels)){
+                //PREMIUM/SENIOR
+                msg = msg.replace("{memberLevels}",getMemberLeversMsg(memberLevels));
+            }
+            mailTemplate.setMsg(msg);
+        }
+        sendMail(email,mailTemplate,null);
+    }
+
+    public  String getMemberLeversMsg(String memberLevels){
+        switch (memberLevels){
+            case "PR" :return "PREMIUM";
+            case "SE" :return "SENIOR";
+        }
+        return "PREMIUM/SENIOR";
+    }
+
+    public  String getTime(String memberLevels){
+        switch (memberLevels){
+            case "PR" :return "year";
+            case "SE" :return "month";
+        }
+        return "year/month";
+    }
+
+    public  String getMoney(String memberLevels){
+        switch (memberLevels){
+            case "PR" :return "$980";
+            case "SE" :return "$40";
+        }
+        return "$980/$40";
+    }
 }

+ 5 - 5
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -332,8 +332,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
                 }
             }
         }
-        this.sendMsg(userIdsRP,"premium");
-        this.sendMsg(userIdsSE,"senior");
+        this.sendMsg(userIdsRP,"PR");
+        this.sendMsg(userIdsSE,"SE");
     }
 
     private void sendMsg(Map<Long, Integer> userIds,String msgType) throws Exception {
@@ -352,14 +352,14 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
                 if("aws".equals(NacosProperty.uploadType)  && StringUtil.isNotBlank(userEntity.getUserName())){
                     Integer days = userIds.get(userId);
                     if(days == null || days<0){
-                        mailTemplateService.sendPeExMail(userEntity.getUserName());
+                        mailTemplateService.sendPeExMail(userEntity.getUserName(),msgType);
                         continue;
                     }
                     if(days > 0){
-                        mailTemplateService.sendPeNoExMail(userEntity.getUserName(),userIds.get(userId));
+                        mailTemplateService.sendPeNoExMail(userEntity.getUserName(),userIds.get(userId),msgType);
                         continue;
                     }
-                    mailTemplateService.sendPeTodayExMail(userEntity.getUserName());
+                    mailTemplateService.sendPeTodayExMail(userEntity.getUserName(),msgType);
 
                 }
             }