From 7c74ee47c3f1ec69b9494d363621f43ad8b9c640 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期日, 26 四月 2020 12:14:59 +0800
Subject: [PATCH] 后台调整

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java |  147 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 1 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java
index ca2e963..7d92754 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java
@@ -2,18 +2,23 @@
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
 
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.user.UserInviteValidNumMapper;
 import com.yeshi.fanli.dao.mybatis.user.UserInviteValidRecordMapper;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
 import com.yeshi.fanli.util.Constant;
@@ -27,8 +32,18 @@
 	@Resource
 	private UserInviteValidRecordMapper userInviteValidRecordMapper;
 	
+	@Lazy
 	@Resource
 	private ThreeSaleSerivce threeSaleSerivce;
+	
+	@Lazy
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Lazy
+	@Resource
+	private CommonOrderService commonOrderService;
+	
 	
 	
 	@Override
@@ -207,5 +222,135 @@
 			LogHelper.error(e);
 		}
 	}
-	 
+	
+	
+	@Override
+	public void syncInfoAgain(Long workerId) {
+		// 鏇存柊涓婄骇
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId);
+		if (threeSale == null) {
+			return;
+		}
+		
+		Long uid = threeSale.getBoss().getId();
+		UserInfo userInfo = userInfoService.selectByPKey(uid);
+		if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) {
+			return;
+		}
+		
+		int countTeam1 = 0;
+		List<ThreeSale> listFirstTeam = threeSaleSerivce.listFirstTeam(0, Integer.MAX_VALUE, uid);
+		if (listFirstTeam != null && listFirstTeam.size() > 0) {
+			for (ThreeSale firstTeam: listFirstTeam) {
+				if (firstTeam.getWorker() == null || firstTeam.getWorker().getId() == null) {
+					continue;
+				}
+				Long wid = firstTeam.getWorker().getId();
+				Long succeedTime = firstTeam.getSucceedTime();
+				if (succeedTime == null) {
+					succeedTime = firstTeam.getCreateTime();
+				}
+				
+				// 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏�
+				long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
+				if (countValid > 0) {
+					countTeam1 ++;
+					try {
+						String uniqueKey = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_ONE);
+						UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
+						if (record == null) {
+							record = new UserInviteValidRecord();
+							record.setUid(uid);
+							record.setWorkerId(wid);
+							record.setType(UserInviteValidRecord.TYPE_ONE);
+							record.setUniqueKey(uniqueKey);
+							record.setCreateTime(new Date());
+							userInviteValidRecordMapper.insertSelective(record);
+						}
+					} catch (Exception e) {
+						 
+					}
+				}
+			}
+		}
+		
+		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
+		if (inviteValid != null) {
+			UserInviteValidNum updateObj = new UserInviteValidNum();
+			updateObj.setId(uid);
+			updateObj.setNumFirst(countTeam1);;
+			userInviteValidNumMapper.updateByPrimaryKeySelective(updateObj);
+		} else {
+			inviteValid = new UserInviteValidNum();
+			inviteValid.setId(uid);
+			inviteValid.setNumFirst(countTeam1);
+			inviteValid.setNumSecond(0);
+			inviteValid.setUpdateTime(new Date());
+			userInviteValidNumMapper.insertSelective(inviteValid);
+		}
+		
+		// 鏇存柊涓婁笂绾т俊鎭�
+		ThreeSale superThreeSale = threeSaleSerivce.getByWorkerId(uid);
+		if (superThreeSale == null) {
+			return;
+		}
+		
+		Long superUid = superThreeSale.getBoss().getId();
+		UserInfo superUserInfo = userInfoService.selectByPKey(superUid);
+		if (superUserInfo == null || superUserInfo.getState() != UserInfo.STATE_NORMAL) {
+			return;
+		}
+		
+		int countTeam2 = 0;
+		List<ThreeSale> listSecondTeam = threeSaleSerivce.listSecondTeam(0,  Integer.MAX_VALUE, superUid);
+		if (listSecondTeam != null && listSecondTeam.size() > 0) {
+			for (ThreeSale team: listSecondTeam) {
+				if (team.getWorker() == null || team.getWorker().getId() == null) {
+					continue;
+				}
+				Long wid = team.getWorker().getId();
+				Long succeedTime = team.getSucceedTime();
+				if (succeedTime == null) {
+					succeedTime = team.getCreateTime();
+				}
+				// 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏�
+				long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
+				if (countValid > 0) {
+					countTeam2 ++;
+					try {
+						String uniqueKeySuper = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_TWO);
+						UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
+						if (recordSuper == null) {
+							recordSuper = new UserInviteValidRecord();
+							recordSuper.setUid(superUid);
+							recordSuper.setWorkerId(wid);
+							recordSuper.setType(UserInviteValidRecord.TYPE_TWO);
+							recordSuper.setUniqueKey(uniqueKeySuper);
+							recordSuper.setCreateTime(new Date());
+							userInviteValidRecordMapper.insertSelective(recordSuper);
+						}
+					} catch (Exception e) {
+					 
+					}
+					
+				}
+			}
+		}
+		
+		UserInviteValidNum inviteValid2 = userInviteValidNumMapper.selectForUpdate(superUid);
+		if (inviteValid2 != null) {
+			UserInviteValidNum updateObj = new UserInviteValidNum();
+			updateObj.setId(superUid);
+			updateObj.setNumSecond(countTeam2);
+			userInviteValidNumMapper.updateByPrimaryKeySelective(updateObj);
+		} else {
+			inviteValid2 = new UserInviteValidNum();
+			inviteValid2.setId(superUid);
+			inviteValid2.setNumFirst(0);
+			inviteValid2.setNumSecond(countTeam2);
+			inviteValid2.setUpdateTime(new Date());
+			userInviteValidNumMapper.insertSelective(inviteValid2);
+		}
+	}
+	
 }

--
Gitblit v1.8.0