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/v2/InviteControllerV2.java |  274 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 193 insertions(+), 81 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 acdc267..c1bcd66 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
@@ -32,7 +32,7 @@
 import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord;
 import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.entity.bus.user.vip.TeamDailyRecord;
+import com.yeshi.fanli.entity.bus.user.invite.TeamDailyRecord;
 import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic;
 import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
@@ -74,6 +74,7 @@
 import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
 import com.yeshi.fanli.util.user.UserLevelUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
+import com.yeshi.fanli.vo.order.OrderRankingVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -477,7 +478,7 @@
 			object.put("level", level.name());
 			object.put("validFans", validFans);
 
-			if (wxtip && type == 1 && threeSale.getState() != null && threeSale.getState()) {
+			if (wxtip) {
 				// 涓�绾ч槦鍛� 鏌ヨ鏄电О澶囨敞
 				String memoName = null;
 				ThreeSaleExtraInfo threeSaleExtraInfo = threeSale.getThreeSaleExtraInfo();
@@ -488,7 +489,7 @@
 				}
 				object.put("memoName", memoName);
 
-				if (!VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				if (type == 1 && !VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
 					// 娣诲姞寰俊淇℃伅
 					if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) {
 						object.put("weiXin", userInfoExtra.getWeiXin());
@@ -904,7 +905,9 @@
 		if (focus.getStateValid() != null || focus.getTaobaoBind() != null || focus.getWeixinBind() != null
 				|| focus.getMinFansNum() != null || focus.getMinFansNum() != null
 				|| focus.getMinActiveTime() != null || focus.getMaxActiveTime() != null
-				|| focus.getMinIncome() != null  || focus.getMaxIncome() != null || !StringUtil.isNullOrEmpty(focus.getKey()))
+				|| focus.getMinIncome() != null  || focus.getMaxIncome() != null 
+			    || focus.getMinJoinTime() != null  || focus.getMaxJoinTime() != null 
+				|| !StringUtil.isNullOrEmpty(focus.getKey()) || !StringUtil.isNullOrEmpty(focus.getLevel()))
 			 return true;
 	
 		return false;
@@ -995,28 +998,72 @@
 				highVIP.put("total", statistic.getHighFirstCount() + statistic.getHighSecondCount());
 				superVIP.put("total", statistic.getSuperFirstCount() + statistic.getSuperSecondCount());
 			}
-			// 缁熻杈句汉
-			long darenToday = threeSaleSerivce.countFirstTeamByDate(uid, 1)	+ threeSaleSerivce.countSecondTeamByDate(uid, 1);
-			long darenMonth = threeSaleSerivce.countFirstTeamByDate(uid, 2)	+ threeSaleSerivce.countSecondTeamByDate(uid, 2);
+			
+
+			int darenToday = 0;
+			int highVIPToday = 0;
+			int superVIPToday = 0;
+			String createId = teamDailyRecordService.createId(uid, new Date());
+			TeamDailyRecord record = teamDailyRecordService.getById(createId);
+			if (record != null) {
+				if (record.getFirstDaRen() != null) 
+					darenToday += record.getFirstDaRen();
+				if (record.getSecondDaRen() != null)
+					darenToday += record.getSecondDaRen();			
+				if (record.getFirstHighVIP() != null)
+					highVIPToday += record.getFirstHighVIP();
+				if (record.getSecondHighVIP() != null)
+					highVIPToday += record.getSecondHighVIP();
+				if (record.getFirstSuperVIP() != null)
+					superVIPToday += record.getFirstSuperVIP();
+				if (record.getSecondSuperVIP() != null)
+					superVIPToday += record.getSecondSuperVIP();
+			}
+			
+			
+			// 鑾峰彇褰撴湀绗竴澶╁拰鏈�鍚庝竴澶� 
+			Calendar cale = Calendar.getInstance();
+	        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
+	        String firstday, lastday;  
+	        // 鑾峰彇鍓嶆湀鐨勭涓�澶�  
+	        cale = Calendar.getInstance();  
+	        cale.add(Calendar.MONTH, 0);  
+	        cale.set(Calendar.DAY_OF_MONTH, 1);  
+	        firstday = format.format(cale.getTime());  
+	        // 鑾峰彇鍓嶆湀鐨勬渶鍚庝竴澶�  
+	        cale = Calendar.getInstance();  
+	        cale.add(Calendar.MONTH, 1);  
+	        cale.set(Calendar.DAY_OF_MONTH, 0);  
+	        lastday = format.format(cale.getTime());  
+			
+	        int darenMonth = 0;
+			int highVIPMonth = 0;
+			int superVIPMonth = 0;
+			Date date = new Date();
+			Date minTime = TimeUtil.parseYYYYMMDD(firstday);
+			Date maxTime = TimeUtil.parseYYYYMMDD_HHMMSS(lastday + " 23:59:59");
+			List<TeamDailyRecord> listMonth = teamDailyRecordService.sumGroupByYearMonth(uid, minTime, maxTime);
+			if (listMonth != null && listMonth.size() > 0) {
+				TeamDailyRecord teamRecord = listMonth.get(0);
+				if (teamRecord.getFirstDaRen() != null) 
+					darenMonth += teamRecord.getFirstDaRen();
+				if (teamRecord.getSecondDaRen() != null)
+					darenMonth += teamRecord.getSecondDaRen();			
+				if (teamRecord.getFirstHighVIP() != null)
+					highVIPMonth += teamRecord.getFirstHighVIP();
+				if (teamRecord.getSecondHighVIP() != null)
+					highVIPMonth += teamRecord.getSecondHighVIP();
+				if (teamRecord.getFirstSuperVIP() != null)
+					superVIPMonth += teamRecord.getFirstSuperVIP();
+				if (teamRecord.getSecondSuperVIP() != null)
+					superVIPMonth += teamRecord.getSecondSuperVIP();
+			}
+			// 杈句汉
 			daren.put("today", darenToday);
 			daren.put("month", darenMonth);
-
-			SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
-			String today = sd.format(new Date());
-			// 褰撴湀1鍙�
-			Calendar calendar1 = Calendar.getInstance();
-			calendar1.set(Calendar.DAY_OF_MONTH, 1);
-			Date minTime = sd.parse(sd.format(calendar1.getTime()));
-
-			int highVIPToday = 0;
-			int highVIPMonth = 0;
-			 // TODO 缁熻楂樼骇浼氬憳鏁伴噺
+			// 楂樼骇浼氫細鍛�
 			highVIP.put("today", highVIPToday);
 			highVIP.put("month", highVIPMonth);
-			
-			
-			int superVIPToday = 0;
-			int superVIPMonth = 0;
 			 // 缁熻瓒呯骇浼氬憳鏁伴噺
 			superVIP.put("today", superVIPToday);
 			superVIP.put("month", superVIPMonth);
@@ -1059,9 +1106,16 @@
 			return;
 		}
 
-		// 涓婄骇
-		UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId());
-		 
+		// 闈炵洿鎺ラ個璇峰叧绯�
+		String bossNickName = null;
+		if (uid.longValue() != threeSale.getBoss().getId().longValue()) {
+			UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId());
+			if (boss != null) {
+				bossNickName = boss.getNickName();
+			}
+		}
+		
+		
 		
 		JSONArray tagArray = new JSONArray();
 		String memoName = user.getNickName();
@@ -1079,7 +1133,7 @@
 			}
 		}
 
-		data.put("bossNickName", boss.getNickName());
+		data.put("bossNickName", bossNickName);
 		data.put("nickName", user.getNickName());
 		data.put("phone", phone);
 		data.put("phoneCopy", phoneCopy);
@@ -1121,13 +1175,11 @@
 			data.put("taobao", false);
 		}
 
-		String levelName = null;
 		UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(workerId);
 		if (userVIPPreInfo != null) {
+			String levelName = null;
 			Integer process = userVIPPreInfo.getProcess();
-			if (process == UserVIPPreInfo.PROCESS_1) {
-				levelName = "蹇渷杈句汉";
-			} else if (process == UserVIPPreInfo.PROCESS_2) {
+			if (process == UserVIPPreInfo.PROCESS_2) {
 				levelName = "楂樼骇浼氬憳";
 			} else if (process == UserVIPPreInfo.PROCESS_3) {
 				levelName = "瓒呯骇浼氬憳";
@@ -1136,18 +1188,14 @@
 			}
 
 			Integer sourceType = userVIPPreInfo.getSourceType();
-			if (sourceType != null) {
+			if (sourceType != null && levelName != null) {
 				if (sourceType == UserVIPPreInfo.SOURCE_TYPE_ORDER) {
-					levelName += "(鑷喘鍒嗕韩鍨�)";
-				} else {
-					levelName += "(閭�璇峰洟闃熷瀷)";
+					data.put("level", levelName += "(鑷喘鍒嗕韩鍨�)");
+				} else if (sourceType == UserVIPPreInfo.SOURCE_TYPE_TEAM) {
+					data.put("level", levelName += "(閭�璇峰洟闃熷瀷)");
 				}
 			}
 		}
-		if (StringUtil.isNullOrEmpty(levelName)) {
-			levelName = "蹇渷杈句汉";
-		}
-		data.put("level", levelName);
 
 		// 绮変笣缁熻
 		long indirectNum = 0;
@@ -1155,11 +1203,12 @@
 		if (directNum > 0) {
 			indirectNum = threeSaleSerivce.countSecondTeam(workerId);
 		}
+		
 		// 璁㈠崟缁熻
 		long countTB = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_TAOBAO, 60);
 		long countJD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_JD, 60);
 		long countPDD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_PDD, 60);
-
+		
 		data.put("fansNum", "鐩存帴绮変笣锛� "+directNum+"浜篭n" + "闂存帴绮変笣锛� "+indirectNum+"浜�");
 		data.put("orderInfo", "娣樺疂 ("+countTB+"绗�)\n" + "浜笢 ("+countJD+"绗�)\n" + "鎷煎澶� ("+countPDD+"绗�)");
 		out.print(JsonUtil.loadTrueResult(data));
@@ -1182,7 +1231,7 @@
 
 		int type = 1;
 		ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId);
-		if (threeSale == null) {
+		if (threeSale != null && threeSale.getBoss().getId() != uid) {
 			type = 2;
 		}
 
@@ -1203,61 +1252,50 @@
 			threeSaleExtraInfoSerivce.insertSelective(saleExtraInfo);
 		}
 
+		// 鏇存柊绮変笣璁板綍淇℃伅
 		teamFansInfoService.updateTags(workerId, type, tags);
 		out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
 	}
 
 	
-	
 	/**
-	 * 鐢ㄦ埛闃熷憳缁熻-h5
+	 *  闃熷憳鏁伴噺缁熻
 	 * 
 	 * @param acceptData
 	 * @param id
 	 * @param out
 	 */
-	@RequestMapping(value = "countTeamH5")
-	public void countTeamH5(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+	@RequestMapping(value = "countTeamNum")
+	public void countTeamNum(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
 		try {
-			Date now = new Date();
-			SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM");
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-			// 浠婃棩
-			String todayStr = sdf.format(now);
-			// 鏄ㄦ棩
-			Date reduceDay = DateUtil.reduceDay(1, now);
-			// 鏈湀
-			String monthStr = sdf1.format(now);
+			Date minDate = null;
+			Date maxDate = null;
+			long timeStamp = System.currentTimeMillis();
 			
-			TeamDailyRecord todayRecord = new TeamDailyRecord(0,0,0);
-			TeamDailyRecord yesterdayRecord = new TeamDailyRecord(0,0,0);
-			TeamDailyRecord monthRecord = new TeamDailyRecord(0,0,0);
-			TeamDailyRecord totalityRecord = new TeamDailyRecord(0,0,0);
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTimeInMillis(timeStamp);
 			
-			List<TeamDailyRecord> list = teamDailyRecordService.getbyUid(uid);
-			if (list != null && list.size() > 0) {
-				for (TeamDailyRecord record: list) {
-					Date statisticDay = record.getCountDay();
-					if (todayStr.equals(sdf.format(statisticDay))) {
-						todayRecord = record;
-					}
-					
-					if (sdf.format(reduceDay).equals(sdf.format(statisticDay))) {
-						yesterdayRecord = record;
-					}
-					
-					if (monthStr.equals(sdf1.format(statisticDay))) {
-						monthRecord.setFirstNum(monthRecord.getFirstNum() + record.getFirstNum());
-						monthRecord.setSecondNum(monthRecord.getSecondNum() + record.getSecondNum());
-						monthRecord.setBeyondNum(monthRecord.getBeyondNum() + record.getBeyondNum());
-					}
-					
-					totalityRecord.setFirstNum(totalityRecord.getFirstNum() + record.getFirstNum());
-					totalityRecord.setSecondNum(totalityRecord.getSecondNum() + record.getSecondNum());
-					totalityRecord.setBeyondNum(totalityRecord.getBeyondNum() + record.getBeyondNum());
-				}
-			}  
+			// 浠婃棩棰勪及
+			calendar.add(Calendar.DAY_OF_YEAR, -1);
+			minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp)));
+			TeamDailyRecord todayRecord = createVO(teamDailyRecordService.sumTeamNumGroupByCountDay(uid, minDate, null));
+
+			// 鏄ㄦ棩棰勪及
+			calendar.add(Calendar.DAY_OF_YEAR, -1);
+			maxDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp)));
+			minDate = DateUtil.reduceDay(1, maxDate);
+			TeamDailyRecord yesterdayRecord = createVO(teamDailyRecordService.sumTeamNumGroupByCountDay(uid, minDate, maxDate));
+
+			// 鏈湀棰勪及
+			maxDate = new Date(timeStamp);
+			calendar = Calendar.getInstance();
+			minDate = new Date(TimeUtil
+					.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+			calendar.add(Calendar.MONTH, -1);
+			TeamDailyRecord monthRecord = createVO(teamDailyRecordService.sumTeamNumGroupByYearMonth(uid, minDate, maxDate));
 			
+			// 绱
+			TeamDailyRecord totalityRecord = createVO(teamDailyRecordService.sumTeamNumGroupByUid(uid, null, null));
 			
 			JSONObject today = new JSONObject();
 			today.put("direct", todayRecord.getFirstNum());
@@ -1290,6 +1328,80 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触"));
 			e.printStackTrace();
 		}
-
 	}
+	
+	
+	private TeamDailyRecord createVO(List<TeamDailyRecord> list) {
+		TeamDailyRecord totalityRecord = new TeamDailyRecord(0,0,0);
+		if (list != null && list.size() > 0) {
+			for (TeamDailyRecord record: list) {
+				totalityRecord.setFirstNum(totalityRecord.getFirstNum() + record.getFirstNum());
+				totalityRecord.setSecondNum(totalityRecord.getSecondNum() + record.getSecondNum());
+				totalityRecord.setBeyondNum(totalityRecord.getBeyondNum() + record.getBeyondNum());
+			}
+		}  
+		return totalityRecord;
+	}
+	
+	
+	
+	/**
+	 * 閭�璇锋帓琛屾
+	 * @param callback
+	 * @param acceptData
+	 * @param uid
+	 * @param dateType
+	 * @param out
+	 */
+	@RequestMapping(value = "getRanking")
+	public void getRanking(String callback, AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
+		if (uid == null || dateType == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟缂哄け"));
+			return;
+		}
+		
+		try {
+			Date minDate = null;
+			Date maxDate = null;
+			long timeStamp = System.currentTimeMillis();
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTimeInMillis(timeStamp);
+			
+			if (dateType == 1) {
+				// 浠婃棩
+				calendar.add(Calendar.DAY_OF_YEAR, -1);
+				minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp)));
+			} else if (dateType == 2) {
+				// 鏄ㄦ棩
+				calendar.add(Calendar.DAY_OF_YEAR, -1);
+				maxDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp)));
+				minDate = DateUtil.reduceDay(1, maxDate);
+			} else {
+				// 鏈湀
+				maxDate = new Date(timeStamp);
+				calendar = Calendar.getInstance();
+				minDate = new Date(TimeUtil
+						.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+				calendar.add(Calendar.MONTH, -1);
+			}
+			
+			
+			List<OrderRankingVO> list = teamDailyRecordService.getRankingByFirstNum(uid, minDate, maxDate);
+			if (list.size() > 0) {
+				for (OrderRankingVO vo: list) {
+					UserInfo user = userInfoService.getUserByIdWithMybatis(vo.getUid());
+					vo.setNickName(user.getNickName());
+					vo.setPortrait(user.getPortrait());
+				}
+			}
+			
+			JSONObject json = new JSONObject();
+			json.put("list", list);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
 }

--
Gitblit v1.8.0