From 486e22c57ca8a1e2dc6877b539e2f3add67250f1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 23 十一月 2019 18:28:00 +0800
Subject: [PATCH] 冲突解决

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
index 0416440..7d1d7d6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -5,6 +5,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -31,9 +32,11 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
 
@@ -46,7 +49,7 @@
 
 	@Resource
 	private RedisManager redisManager;
-	
+
 	@Resource
 	private ConfigService configService;
 
@@ -67,6 +70,9 @@
 
 	@Resource
 	private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce;
+
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
 
 	/**
 	 * 閭�璇风爜楠岃瘉
@@ -100,17 +106,17 @@
 			WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code, wxAccount.getAppId(), wxAccount.getAppSecret());
 			if (weiXinUser == null)
 				throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触");
-			
+
 			String wxUnionId = weiXinUser.getUnionid();
 			if (wxUnionId == null || wxUnionId.trim().length() == 0)
 				throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触");
-			
+
 			String activeWX = StringUtil.Md5("activeWX:" + weiXinUser.getUnionid());
 			redisManager.cacheCommonString(activeWX, JsonUtil.getSimpleGson().toJson(weiXinUser), 60 * 20);
-			
+
 			// 閭�璇峰叧绯荤敤鎴蜂俊鎭�
 			UserInfo userInfo = userInfoExtraService.getInviterInfo(uid, wxUnionId);
-			
+
 			JSONObject data = new JSONObject();
 			data.put("nickName", userInfo.getNickName());
 			data.put("portrait", userInfo.getPortrait());
@@ -124,9 +130,11 @@
 
 	/**
 	 * 寰俊婵�娲�
+	 * 
 	 * @param acceptData
 	 * @param uid
-	 * @param key 楠岃瘉杩斿洖鐨刱ey
+	 * @param key
+	 *            楠岃瘉杩斿洖鐨刱ey
 	 * @param out
 	 */
 	@RequestSerializableByKey(key = "'activeInviteWX-'+#uid")
@@ -136,15 +144,15 @@
 			String value = redisManager.getCommonString(key);
 			if (StringUtil.isNullOrEmpty(value))
 				throw new UserAccountException(1, "寰俊鎺堟潈澶辨晥");
-			
+
 			WeiXinUser weiXinUser = JsonUtil.getSimpleGson().fromJson(value, WeiXinUser.class);
 			if (weiXinUser == null)
 				throw new UserAccountException(1, "寰俊鎺堟潈澶辨晥");
-			
+
 			userInfoExtraService.activeInviteWX(uid, weiXinUser);
 			// 鍒犻櫎缂撳瓨
 			redisManager.removeCommonString(key);
-			
+
 			out.print(JsonUtil.loadTrueResult("閭�璇风爜婵�娲绘垚鍔�"));
 		} catch (UserInfoExtraException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -153,9 +161,7 @@
 			e.printStackTrace();
 		}
 	}
-	
-	
-	
+
 	/**
 	 * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ 1.5.3鏌ヨ鏈夋晥闃熷憳
 	 * 
@@ -180,8 +186,12 @@
 			count = threeSaleSerivce.countSecondTeam(uid, 1);
 		}
 
+		boolean needVIPInfo = false;
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
+			needVIPInfo = true;
+
 		// 缁勭粐鏁版嵁
-		JSONObject resultData = organizeTeam(count, listTeam, uid, type);
+		JSONObject resultData = organizeTeam(count, listTeam, uid, type,needVIPInfo);
 
 		// 绗竴椤靛垽鏂槸鍚︽縺娲� 鏄惁鏈夐槦鍛�
 		if (type == 1 && page == 1) {
@@ -206,7 +216,7 @@
 	 * @param type
 	 * @return
 	 */
-	private JSONObject organizeTeam(long count, List<ThreeSale> list, Long uid, int type) {
+	private JSONObject organizeTeam(long count, List<ThreeSale> list, Long uid, int type, boolean needVipInfo) {
 		JSONObject result = new JSONObject();
 		JSONArray resultArray = new JSONArray();
 
@@ -215,6 +225,14 @@
 		SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
 		SimpleDateFormat formatYears = new SimpleDateFormat("yyyy");
 
+		List<Long> workerIdList = new ArrayList<>();
+		Map<Long, Boolean> vipMap = null;
+		if (needVipInfo) {
+			for (ThreeSale threeSale : list)
+				workerIdList.add(threeSale.getWorker().getId());
+			if (workerIdList.size() > 0)
+				vipMap = userVIPInfoService.listByUids(workerIdList);
+		}
 		for (ThreeSale threeSale : list) {
 			UserInfo worker = threeSale.getWorker();
 			if (worker == null) {
@@ -230,6 +248,9 @@
 
 			Date inviteTime = new Date(threeSale.getCreateTime());
 			object.put("inviteTime", format.format(inviteTime) + " 鍔犲叆");
+			// 娣诲姞鏄惁涓篤IP
+			if (vipMap != null && vipMap.get(worker.getId()) != null)
+				object.put("vip", vipMap.get(worker.getId()));
 
 			String fontColor1 = "#888888";
 			JSONArray array = new JSONArray();

--
Gitblit v1.8.0