From 235921d820f29b04b1e82f6a6f0d4a1957a900ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 14 五月 2020 12:03:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/TeamUserLevelStatisticServiceImpl.java |   84 ++++++++++++++++++++++++++++++++----------
 1 files changed, 64 insertions(+), 20 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/TeamUserLevelStatisticServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/TeamUserLevelStatisticServiceImpl.java
index 1012708..a7f1296 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/TeamUserLevelStatisticServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/TeamUserLevelStatisticServiceImpl.java
@@ -1,17 +1,21 @@
 package com.yeshi.fanli.service.impl.user.vip;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
 
 import com.yeshi.fanli.dao.mybatis.user.vip.TeamUserLevelStatisticMapper;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord;
 import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic;
 import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
-import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
 import com.yeshi.fanli.service.manger.user.UserLevelManager;
 
@@ -23,10 +27,9 @@
 
 	@Resource
 	private TeamUserLevelStatisticMapper teamUserLevelStatisticMapper;
-	
+
 	@Resource
-	private UserInviteValidRecordService userInviteValidRecordService;
-	
+	private ThreeSaleSerivce threeSaleSerivce;
 
 	@Override
 	public TeamUserLevelStatistic selectByUid(Long uid) {
@@ -34,25 +37,51 @@
 	}
 
 	@Override
+	public List<TeamUserLevelStatistic> listByUids(List<Long> uids) {
+
+		List<TeamUserLevelStatistic> resultList = new ArrayList<>();
+
+		List<TeamUserLevelStatistic> list = teamUserLevelStatisticMapper.listByUids(uids);
+		// 鏀惧叆Map涓�
+		Map<Long, TeamUserLevelStatistic> map = new HashMap<>();
+		if (list != null)
+			for (TeamUserLevelStatistic s : list) {
+				map.put(s.getId(), s);
+			}
+
+		for (Long uid : uids) {
+			if (map.get(uid) == null) {
+				initData(uid);
+				TeamUserLevelStatistic statistic = selectByUid(uid);
+				resultList.add(statistic);
+			} else {
+				resultList.add(map.get(uid));
+			}
+		}
+
+		return resultList;
+	}
+
+	@Override
 	public void initData(Long uid) {
 		int pageSize = 1000;
-		
+
 		// 鐩存帴绮変笣缁熻
 		int daRenFirstCount = 0;
 		int highFirstCount = 0;
 		int superFirstCount = 0;
 		int tearcherFirstCount = 0;
-		for (int i = 0; i < 100; i ++) {
-			List<UserInviteValidRecord> list = userInviteValidRecordService.listFirstTeam(i * pageSize, pageSize, uid);
+		for (int i = 0; i < 100; i++) {
+		    List<ThreeSale> list = threeSaleSerivce.listFirstTeam(i * pageSize, pageSize, uid);
 			if (list == null || list.size() == 0) {
 				break;
 			}
-			
-			for (UserInviteValidRecord ts : list) {
-				UserLevelEnum level = userLevelManager.getUserLevel(ts.getWorkerId());
-				if (level == UserLevelEnum.daRen) {
+
+			for (ThreeSale ts : list) {
+				UserLevelEnum level = userLevelManager.getUserLevel(ts.getWorker().getId());
+				if (level == UserLevelEnum.daRen || level == UserLevelEnum.normalVIP) {
 					daRenFirstCount++;
-				}  else if (level == UserLevelEnum.highVIP) {
+				} else if (level == UserLevelEnum.highVIP) {
 					highFirstCount++;
 				} else if (level == UserLevelEnum.superVIP) {
 					superFirstCount++;
@@ -61,22 +90,21 @@
 				}
 			}
 		}
-		
-		
+
 		// 闂存帴绮変笣缁熻
 		int daRenSecondCount = 0;
 		int highSecondCount = 0;
 		int superSecondCount = 0;
 		int tearcherSecondCount = 0;
-		for (int i = 0; i < 100; i ++) {
-			List<UserInviteValidRecord> list = userInviteValidRecordService.listSecondTeam(i * pageSize, pageSize, uid);
+		for (int i = 0; i < 100; i++) {
+			List<ThreeSale> list  = threeSaleSerivce.listSecondTeam(i * pageSize, pageSize, uid);
 			if (list == null || list.size() == 0) {
 				break;
 			}
-			
-			for (UserInviteValidRecord ts : list) {
-				UserLevelEnum level = userLevelManager.getUserLevel(ts.getWorkerId());
-				if (level == UserLevelEnum.daRen) {
+
+			for (ThreeSale ts : list) {
+				UserLevelEnum level = userLevelManager.getUserLevel(ts.getWorker().getId());
+				if (level == UserLevelEnum.daRen || level == UserLevelEnum.normalVIP) {
 					daRenSecondCount++;
 				} else if (level == UserLevelEnum.highVIP) {
 					highSecondCount++;
@@ -104,6 +132,22 @@
 	}
 
 	@Override
+	public void setUserLevel(Long uid, UserLevelEnum level) {
+
+		TeamUserLevelStatistic old = selectByUid(uid);
+		if (old == null) {
+			initData(uid);
+			old = selectByUid(uid);
+		}
+
+		TeamUserLevelStatistic update = new TeamUserLevelStatistic();
+		update.setId(old.getId());
+		update.setLevel(level);
+		update.setUpdateTime(new Date());
+		teamUserLevelStatisticMapper.updateByPrimaryKeySelective(update);
+	}
+
+	@Override
 	public void add(TeamUserLevelStatistic statistic) {
 		TeamUserLevelStatistic old = selectByUid(statistic.getId());
 		if (old == null) {

--
Gitblit v1.8.0