admin
2020-04-29 5a4dde9e5aae1460e9969753593c5944dc23ad12
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
@@ -15,12 +15,16 @@
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.ThreeSaleSeparateMQMsg;
import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
/**
@@ -40,9 +44,12 @@
   @Resource
   private ThreeSaleSerivce threeSaleSerivce;
   @Resource
   private UserInviteValidNumService userInviteValidNumService;
   @Resource
   private UserActiveLogService userActiveLogService;
   @Override
   public Action consume(Message message, ConsumeContext context) {
@@ -52,6 +59,10 @@
      String tag = message.getTag();
      if (tag == null)
         tag = "";
      if (java.lang.System.currentTimeMillis() <= Constant.NEW_ORDER_FANLI_RULE_TIME) {
         return Action.CommitMessage;
      }
      // 邀请相关
      if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) {
@@ -87,20 +98,29 @@
            OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
                  OrderMoneyRecievedMQMsg.class);
            if (dto != null) {
               // 判断版本
               UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(dto.getUid());
               if (log == null || !VersionUtil.greaterThan_2_1(
                     "appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) {
                  return Action.CommitMessage;
               }
               if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 自购到账
                  // 会员升级-自购订单数量验证
                  userVIPPreInfoService.upgradeVipByFanLiOrder(dto.getUid());
                  userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid());
               } else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) {// 分享到账
                  // 会员升级-分享订单数量验证
                  userVIPPreInfoService.upgradeVipByShareOrder(dto.getUid());
                  userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid());
               }
            }
         } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {
            OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()),OrderConfirmMQMsg.class);
            OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class);
            if (dto != null) {
               // 会员等级升级-粉丝数量验证
               userVIPPreInfoService.upgradeVipByTeamNum(dto.getSourceUid());
               userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(), dto.getPlaceOrderTime());
               userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(),
                     dto.getPlaceOrderTime());
            }
         }
      }