From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java |  196 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 137 insertions(+), 59 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
index c7a03b0..8535fd5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -50,6 +50,7 @@
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.ExtractRecord;
 import com.yeshi.fanli.entity.bus.user.LostOrder;
+import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum;
 import com.yeshi.fanli.entity.bus.user.SMSHistory;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
@@ -58,6 +59,8 @@
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
 import com.yeshi.fanli.entity.bus.user.WeiXinUser;
+import com.yeshi.fanli.entity.bus.user.vip.GiveVIPApplyInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
 import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.common.Config;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
@@ -77,6 +80,7 @@
 import com.yeshi.fanli.exception.user.UserInfoExtraException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.AdminUserService;
+import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.AppVersionService;
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -97,6 +101,7 @@
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.BindRemindService;
 import com.yeshi.fanli.service.inter.user.MaskKeyService;
+import com.yeshi.fanli.service.inter.user.PreviewInfoService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
@@ -107,11 +112,14 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserRankService;
 import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.inter.user.invite.TeamFansInfoService;
 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.invite.UserInviteService;
+import com.yeshi.fanli.service.inter.user.vip.GiveVIPApplyInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
+import com.yeshi.fanli.service.manger.user.UserLevelManager;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.FilePathEnum;
@@ -133,6 +141,7 @@
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
+import com.yeshi.fanli.vo.user.MineInfoVO;
 import com.yeshi.fanli.vo.user.UserInfoExtraVO;
 import com.yeshi.fanli.vo.user.UserSettingsVO;
 
@@ -253,6 +262,21 @@
 
 	@Resource
 	private UserInviteService userInviteService;
+
+	@Resource
+	private TeamFansInfoService teamFansInfoService;
+
+	@Resource
+	private UserLevelManager userLevelManager;
+
+	@Resource
+	private JumpDetailV2Service jumpDetailV2Service;
+
+	@Resource
+	private GiveVIPApplyInfoService giveVIPApplyInfoService;
+
+	@Resource
+	private PreviewInfoService previewInfoService;
 
 	private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey();
 	private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey();
@@ -1679,19 +1703,17 @@
 
 			JSONObject resultData = new JSONObject();
 			if (type == 1) {
-				resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, null);
+				resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
 			} else if (type == 2) {
-				resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, null);
+				resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
 			}
 
 			// 瀹夊崜绯荤粺杩斿洖鎵�鏈夋暟鎹�
 			String platform = acceptData.getPlatform();
 			if ("android".equalsIgnoreCase(platform)) {
-				long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
-				long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
+				long firstTeam = threeSaleSerivce.countFirstTeam(uid);
 
-				long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
-				long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
+				long secondTeam = threeSaleSerivce.countSecondTeam(uid);
 
 				JSONObject bossData = null;
 				ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
@@ -1726,9 +1748,9 @@
 
 				resultData.put("helpLink", helpLink);
 				resultData.put("firstTeam", firstTeam);
-				resultData.put("firstTeamTotal", firstTeamTotal);
+				resultData.put("firstTeamTotal", firstTeam);
 				resultData.put("secondTeam", secondTeam);
-				resultData.put("secondTeamTotal", secondTeamTotal);
+				resultData.put("secondTeamTotal", secondTeam);
 				resultData.put("boss", bossData);
 			}
 			out.print(JsonUtil.loadTrueResult(resultData));
@@ -1754,17 +1776,17 @@
 
 			JSONObject resultData = new JSONObject();
 			if (type == 1) {
-				resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, 1);
+				resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
 			} else if (type == 2) {
-				resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, 1);
+				resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
 			}
 
 			// 瀹夊崜绯荤粺杩斿洖鎵�鏈夋暟鎹�
 			String platform = acceptData.getPlatform();
 			if ("android".equalsIgnoreCase(platform)) {
-				long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
+				long firstTeam = threeSaleSerivce.countFirstTeam(uid);
 
-				long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
+				long secondTeam = threeSaleSerivce.countSecondTeam(uid);
 
 				JSONObject bossData = null;
 				ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
@@ -1819,11 +1841,9 @@
 	@RequestMapping(value = "countMyTeam", method = RequestMethod.POST)
 	public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
 		try {
-			long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
-			long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
+			long firstTeam = threeSaleSerivce.countFirstTeam(uid);
 
-			long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
-			long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
+			long secondTeam = threeSaleSerivce.countSecondTeam(uid);
 			JSONObject bossData = new JSONObject();
 			ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
 			if (threeSale != null) {
@@ -1847,9 +1867,9 @@
 			}
 			resultData.put("helpLink", helpLink);
 			resultData.put("firstTeam", firstTeam);
-			resultData.put("firstTeamTotal", firstTeamTotal);
+			resultData.put("firstTeamTotal", firstTeam);
 			resultData.put("secondTeam", secondTeam);
-			resultData.put("secondTeamTotal", secondTeamTotal);
+			resultData.put("secondTeamTotal", secondTeam);
 			resultData.put("boss", bossData);
 
 			boolean hasCode = false;
@@ -1882,21 +1902,33 @@
 	 */
 	@RequestMapping(value = "setextrainfo", method = RequestMethod.POST)
 	public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) {
-		List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null);
-		if (listThreeSale == null || listThreeSale.size() == 0) {
+		ThreeSale threeSale = threeSaleSerivce.selectByPrimaryKey(inviteId);
+		if (threeSale == null) {
 			out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪"));
 			return;
 		}
 
-		UserInfo worker = listThreeSale.get(0).getWorker();
+		UserInfo worker = threeSale.getWorker();
 		if (worker == null) {
 			out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪"));
 			return;
 		}
 
+		int type = 1;
+		if (threeSale.getBoss().getId() != uid) {
+			type = 2;
+		}
+
 		ThreeSaleExtraInfo extraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, worker.getId());
 		if (extraInfo == null) {
 			extraInfo = new ThreeSaleExtraInfo();
+			Long bossUid = threeSale.getBoss().getId();
+			if (uid == bossUid) {
+				extraInfo.setType(1); // 鐩存帴
+			} else {
+				extraInfo.setType(2); // 闂存帴
+			}
+
 			extraInfo.setWorker(worker);
 			extraInfo.setNickname(memoName);
 			extraInfo.setCreateTime(new Date());
@@ -1910,43 +1942,11 @@
 			updateInfo.setUpdateTime(new Date());
 			threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo);
 		}
+
+		// 鏇存柊绮変笣璁板綍淇℃伅
+		teamFansInfoService.updateMemoName(worker.getId(), type, memoName);
+
 		out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
-	}
-
-	/**
-	 * 鍒犻櫎闃熷憳鍏崇郴
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param inviteId
-	 *            閭�璇穒d
-	 * @param out
-	 */
-	@RequestMapping(value = "removethreesale", method = RequestMethod.POST)
-	public void removethreesale(AcceptData acceptData, long uid, long inviteId, PrintWriter out) {
-		try {
-			List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, 1);
-			if (listThreeSale == null || listThreeSale.size() == 0) {
-				out.print(JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁鏃犳晥"));
-				return;
-			}
-
-			UserInfo worker = listThreeSale.get(0).getWorker();
-			if (worker == null) {
-				out.print(JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁鏃犳晥"));
-				return;
-			}
-
-			// 鍒犻櫎鍏崇郴
-			threeSaleSerivce.deleteByPrimaryKey(inviteId);
-			// 鍒犻櫎澶囨敞
-			threeSaleExtraInfoSerivce.deleteByBossIdAndWorkerId(uid, worker.getId());
-
-			out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鍒犻櫎澶辫触"));
-			e.printStackTrace();
-		}
 	}
 
 	/**
@@ -2130,6 +2130,10 @@
 				mySettings.setNoInvitationBonus(0);
 			}
 
+			if (mySettings.getNoDisplayPhoneNum() == null) {
+				mySettings.setNoDisplayPhoneNum(0);
+			}
+
 			if (mySettings.getOpenSpreadHongBao() == null) {
 				if (userTaoLiJinDetailService.countDetail(uid) > 0) {
 					mySettings.setOpenSpreadHongBao(1);
@@ -2222,12 +2226,85 @@
 			}
 
 			if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) {
+				UserInviteLevelEnum level = null;
+				// VIP棰勮淇℃伅
+				if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
+					String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.mineInfo);
+					if (!StringUtil.isNullOrEmpty(redisContent)) {
+						MineInfoVO vo = new Gson().fromJson(redisContent, MineInfoVO.class);
+						if (vo != null) {
+							if (!StringUtil.isNullOrEmpty(vo.getBalance()))
+								userInfo.setMyHongBao(new BigDecimal(vo.getBalance()));
+
+							if (!StringUtil.isNullOrEmpty(vo.getLevel()))
+								for (UserInviteLevelEnum levelEnum : UserInviteLevelEnum.values()) {
+									if (levelEnum.name().equals(vo.getLevel())) {
+										level = levelEnum;
+										break;
+									}
+								}
+						}
+					}
+				}
+
+				if (level == null) {
+					if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+						level = userInviteService.getUserInviteLevelNew(uid);
+					} else {
+						level = userInviteService.getUserInviteLevel(uid);
+					}
+				}
 				JSONObject inviteLevel = new JSONObject();
-				UserInviteLevelEnum level = userInviteService.getUserInviteLevel(uid);
 				inviteLevel.put("level", level.name());
 				inviteLevel.put("link", level.getLink());
 				data.put("inviteLevel", inviteLevel);
 			}
+
+			if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				data.put("fansCountLink", configService.get(ConfigKeyEnum.teamStatisticsLink.getKey()));
+				// 浼氬憳鍔ㄤ綔
+				// 鏌ヨ鏄惁涓鸿秴绾т細鍛橈紝鏄殑璇濊繑鍥炶秴浼氱鐞嗛摼鎺�
+				UserLevelEnum level = userLevelManager.getUserLevel(uid);
+
+				JSONObject vipAction = null;
+				String managerLink = userVipConfigService.getValueByKey("vip_manager_link");
+				if ((level == UserLevelEnum.superVIP || level == UserLevelEnum.tearcher)
+						&& !StringUtil.isNullOrEmpty(managerLink)) {
+					vipAction = new JSONObject();
+					vipAction.put("name", "瓒呬細绠$悊");
+					vipAction.put("jumpDetail",
+							jumpDetailV2Service.getByTypeCache("web",
+									acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2,
+									Integer.parseInt(acceptData.getVersion())));
+					JSONObject params = new JSONObject();
+					params.put("url", userVipConfigService.getValueByKey("vip_manager_link"));
+					vipAction.put("params", params);
+				} else {
+					// 鏌ヨ鏄惁鍙互鎻愪氦浼氬憳鐢宠锛屾槸鐨勮瘽杩斿洖璧勬枡濉啓椤甸潰
+					List<GiveVIPApplyInfo> list = giveVIPApplyInfoService.listByStateAndTargetUid(uid,
+							GiveVIPApplyInfo.STATE_NO_INFO, 1, 20);
+					if (list != null && list.size() > 0) {
+						String link = userVipConfigService.getValueByKey("apply_vip_upload_info_link");
+						if (!StringUtil.isNullOrEmpty(link)) {
+							vipAction = new JSONObject();
+							vipAction.put("name", "鐢宠浼氬憳");
+							vipAction.put("jumpDetail",
+									jumpDetailV2Service.getByTypeCache("web",
+											acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2,
+											Integer.parseInt(acceptData.getVersion())));
+							JSONObject params = new JSONObject();
+							params.put("url", link.replace("[ID]", list.get(0).getId()));
+							vipAction.put("params", params);
+						}
+					}
+				}
+
+				if (vipAction != null)
+					data.put("vipAction", vipAction);
+
+			}
+			
+			data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
 
 			out.print(JsonUtil.loadTrueResult(data));
 
@@ -2250,7 +2327,7 @@
 			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
-			e.printStackTrace();
+			LogHelper.errorDetailInfo(e);
 		}
 	}
 
@@ -2395,6 +2472,7 @@
 				}
 			}
 
+			// 淇敼閭�璇风爜
 			if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌�
 				inviteCode = inviteCode.trim();
 				if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {

--
Gitblit v1.8.0