From cc44f797c5a0a2f462c3426f477c00737fbf79b2 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 27 四月 2020 15:14:37 +0800
Subject: [PATCH] 导师消息消费订阅用户活跃

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/TearcherMessageListener.java |   55 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/TearcherMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/TearcherMessageListener.java
index 9706cf2..5bccc82 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/TearcherMessageListener.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/TearcherMessageListener.java
@@ -15,6 +15,7 @@
 import com.google.gson.Gson;
 import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
 import com.yeshi.fanli.dto.mq.user.body.InviteCodeActiveMQMsg;
+import com.yeshi.fanli.dto.mq.user.body.UserActiveMQMsg;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo;
 import com.yeshi.fanli.log.LogHelper;
@@ -65,32 +66,42 @@
 						InviteCodeActiveMQMsg.class);
 				if (inviteCodeActiveMQMsg != null) {
 					// 椤剁骇涓烘祴璇曠敤鎴风殑鍏ㄩ儴鍒嗛厤瀹樻柟瀵煎笀寰俊
-
-					// 鑾峰彇椤剁骇boss
-					Long bossId = threeSaleSerivce.getTopBoss(inviteCodeActiveMQMsg.getUid());
-					if (bossId != null) {
-
-						if (officialUids == null) {
-							officialUids = new HashSet<>();
-							List<UserInfo> userList = userInfoService.listByType(1, 1, 10000);
-
-							for (UserInfo user : userList)
-								officialUids.add(user.getId());
-						}
-
-						if (officialUids.contains(bossId)) {
-							List<TearcherInfo> tearcherList = tearcherService.listByType(TearcherInfo.TYPE_OFFICIAL, 1,
-									1);
-							if (tearcherList != null && tearcherList.size() > 0) {
-								tearcherService.addUserTearcherMap(tearcherList.get(0).getId(),
-										inviteCodeActiveMQMsg.getUid());
-							}
-						}
-					}
+					initTearcher(inviteCodeActiveMQMsg.getUid());
+				}
+			} else if (tag.equalsIgnoreCase(UserTopicTagEnum.userActve.name())) {
+				UserActiveMQMsg userActiveMQMsg = new Gson().fromJson(new String(message.getBody()),
+						UserActiveMQMsg.class);
+				if (userActiveMQMsg != null) {
+					initTearcher(userActiveMQMsg.getUid());
 				}
 			}
 		}
 
 		return Action.CommitMessage;
 	}
+
+	private void initTearcher(Long uid) {
+		if (tearcherService.selectByUid(uid) != null)
+			return;
+
+		// 鑾峰彇椤剁骇boss
+		Long bossId = threeSaleSerivce.getTopBoss(uid);
+		if (bossId != null) {
+
+			if (officialUids == null) {
+				officialUids = new HashSet<>();
+				List<UserInfo> userList = userInfoService.listByType(1, 1, 10000);
+
+				for (UserInfo user : userList)
+					officialUids.add(user.getId());
+			}
+
+			if (officialUids.contains(bossId)) {
+				List<TearcherInfo> tearcherList = tearcherService.listByType(TearcherInfo.TYPE_OFFICIAL, 1, 1);
+				if (tearcherList != null && tearcherList.size() > 0) {
+					tearcherService.addUserTearcherMap(tearcherList.get(0).getId(), uid);
+				}
+			}
+		}
+	}
 }

--
Gitblit v1.8.0