From d4588f4e43336b26b356b869c29d0c76390167d5 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 15 四月 2020 10:22:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java
index 4aa4dab..2dd4cef 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java
@@ -5,13 +5,21 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.yeshi.utils.DateUtil;
 
 import com.yeshi.fanli.dao.mybatis.user.UserInviteSeparateMapper;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserInviteSeparateService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
 
 @Service
@@ -23,7 +31,21 @@
 	@Resource
 	private UserVipConfigService userVipConfigService;
 	
+	@Lazy
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
 	
+	@Lazy
+	@Resource
+	private UserVIPPreInfoService userVIPPreInfoService;
+	
+	@Lazy
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Lazy
+	@Resource
+	private UserInviteMsgNotificationService userInviteMsgNotificationService;
 
 	@Override
 	public void insertSelective(UserInviteSeparate record) {
@@ -51,8 +73,6 @@
 		userInviteSeparateMapper.insertSelective(inviteSeparate);
 	}
 	
-	
-	
 	@Override
 	public void updateInvalidByBossId(Long uid) {
 		userInviteSeparateMapper.updateInvalidByBossId(uid);
@@ -74,6 +94,55 @@
 	}
 	
 	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void inviteSeparate(UserInviteSeparate record) {
+		if (record == null)
+			return;
+
+		Long workerId = record.getWorkerId();
+		Long bossId = record.getBossId();
+		ThreeSale threeSale = threeSaleSerivce.getMyBoss(workerId);
+		if (threeSale == null) {
+			// 鎴愬姛鑴辩 涓嶅彂娑堟伅
+			userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS);
+			return;
+		} 
+		
+		boolean separate = false;
+		UserVIPPreInfo info = userVIPPreInfoService.getVipByProcess(bossId, UserVIPPreInfo.PROCESS_1);
+		if (info == null) {
+			separate = true;
+		} else if (info.getCreateTime().getTime() >= record.getEndTime().getTime()) {
+			separate = true;	 
+		}
+		
+
+		if (!separate) { 
+			// 鏈劚绂�
+			userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_INVALID);
+		} else { 
+			// 鑴辩鍏崇郴
+			userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS);
+			// 鑴辩閭�璇峰叧绯�
+			threeSaleSerivce.inviteSeparate(workerId, bossId);
+
+			
+			UserInfo worker = userInfoService.selectByPKey(workerId);
+			
+			// 鎻愰啋涓婄骇鑴辩
+			userInviteMsgNotificationService.fansDivorced(bossId, worker.getNickName(), new Date());
+			
+			// 鎻愰啋涓婁笂绾ц劚绂�
+			ThreeSale threeSaleSuper = threeSaleSerivce.getMyBoss(bossId);
+			if (threeSaleSuper != null) { // 绮変笣鍗囩骇鎻愰啋
+				Long bossIdSuper = threeSaleSuper.getBoss().getId();
+				UserInfo boss = userInfoService.selectByPKey(workerId);
+				userInviteMsgNotificationService.fansDivorcedIndirect(bossIdSuper, worker.getNickName(),
+						boss.getNickName(), new Date());
+			}
+		}
+	}
 	
 	
 }

--
Gitblit v1.8.0