From 0bdd04aa7b009060791e13aa3c14954cfb7ab55b Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 26 五月 2020 15:25:30 +0800
Subject: [PATCH] 队员统计调整
---
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java | 148 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 108 insertions(+), 40 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
index a523b45..47c3d3e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
@@ -10,12 +10,21 @@
import com.aliyun.openservices.ons.api.MessageListener;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
+import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg;
import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
-import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg;
-import com.yeshi.fanli.exception.money.OrderMoneySettleException;
+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;
/**
@@ -24,46 +33,105 @@
* @author Administrator
*
*/
-//@Component implements MessageListener
-public class UserVIPMessageListener {
+@Component
+public class UserVIPMessageListener implements MessageListener {
@Resource
private UserVIPPreInfoService userVIPPreInfoService;
-// @Override
-// public Action consume(Message message, ConsumeContext context) {
-//
-// LogHelper.mqInfo("consumer-UserVIPMessageListener", message.getMsgID(), message.getTopic(),
-// message.getTag(), new String(message.getBody()));
-// String tag = message.getTag();
-// if (tag == null)
-// tag = "";
-//
-// // 閭�璇风浉鍏�
-// if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) {
-// // 閭�璇锋垚鍔�
-// if (tag.equalsIgnoreCase(UserTopicTagEnum.inviteSuccess.name())) {
-// UserInviteMQMsg msg = new Gson().fromJson(new String(message.getBody()),UserInviteMQMsg.class);
-// // 浼氬憳绛夌骇鍗囩骇
-// userVIPPreInfoService.verifyVipPreInfo(msg.getBossId(), true);
-// }
-// }
-//
-// // 璁㈠崟鍒拌处鐩稿叧
-// if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) {
-// OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
-// OrderMoneyRecievedMQMsg.class);
-// if (dto != null) {
-// if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 鑷喘鍒拌处
-// // 浼氬憳绛夌骇鍗囩骇
-// userVIPPreInfoService.verifyVipPreInfo(dto.getUid(), false);
-// } else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) {// 鍒嗕韩鍒拌处
-// // 浼氬憳绛夌骇鍗囩骇
-// userVIPPreInfoService.verifyVipPreInfo(dto.getUid(), false);
-// }
-// }
-// }
-//
-// return Action.CommitMessage;
-// }
+ @Resource
+ private TeamUserLevelStatisticService teamUserLevelStatisticService;
+
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
+
+ @Resource
+ private UserInviteValidNumService userInviteValidNumService;
+
+ @Resource
+ private UserActiveLogService userActiveLogService;
+
+
+ @Override
+ public Action consume(Message message, ConsumeContext context) {
+
+ LogHelper.mqInfo("consumer-UserVIPMessageListener", message.getMsgID(), message.getTopic(), message.getTag(),
+ new String(message.getBody()));
+ 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())) {
+ if (tag.equalsIgnoreCase(UserTopicTagEnum.userLevelChanged.name())) {// 鐢ㄦ埛绛夌骇鍙戠敓鍙樺寲
+ UserLevelChangedMQMsg msg = new Gson().fromJson(new String(message.getBody()),
+ UserLevelChangedMQMsg.class);
+
+ for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾�
+ if (msg.getUid().longValue() == fuid)
+ return Action.CommitMessage;
+ }
+
+ // 鏇存柊涓�2绾х殑閭�璇风粺璁�
+ teamUserLevelStatisticService.updateUserLevel(msg.getUid());
+ UserInfo boss = threeSaleSerivce.getBoss(msg.getUid());
+ if (boss != null) {
+ teamUserLevelStatisticService.initData(boss.getId());
+ boss = threeSaleSerivce.getBoss(boss.getId());
+ if (boss != null) {
+ teamUserLevelStatisticService.initData(boss.getId());
+ }
+
+ }
+ return Action.CommitMessage;
+ }
+
+ } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) {
+ // 璁㈠崟鍒拌处鐩稿叧
+ if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) {
+ OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
+ OrderMoneyRecievedMQMsg.class);
+ if (dto != null) {
+ for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾�
+ if (dto.getUid().longValue() == fuid)
+ return Action.CommitMessage;
+ }
+ // 鍒ゆ柇鐗堟湰
+ 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.upgradeVipByMyOrder(dto.getUid());
+ } else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) {// 鍒嗕韩鍒拌处
+ // 浼氬憳鍗囩骇-鍒嗕韩璁㈠崟鏁伴噺楠岃瘉
+ userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid());
+ }
+ }
+ } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {
+ OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class);
+ if (dto != null) {
+ for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾�
+ if (dto.getSourceUid().longValue() == fuid)
+ return Action.CommitMessage;
+ }
+
+ // 浼氬憳绛夌骇鍗囩骇-绮変笣鏁伴噺楠岃瘉
+ userVIPPreInfoService.upgradeVipByTeamNum(dto.getSourceUid());
+ userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(),
+ dto.getPlaceOrderTime());
+ }
+ }
+ }
+
+ return Action.CommitMessage;
+ }
}
--
Gitblit v1.8.0