From 7e37f77192fa701e309fa04f821aa5fd5259ca33 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 01 四月 2020 09:28:31 +0800
Subject: [PATCH] 队员列表

---
 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..4801f09 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,14 +5,24 @@
 
 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.dto.msg.MsgOtherVIPDTO;
+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.msg.UserOtherMsgNotificationService;
+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.vip.UserVIPPreInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
+import com.yeshi.fanli.util.TimeUtil;
 
 @Service
 public class UserInviteSeparateServiceImpl implements UserInviteSeparateService {
@@ -23,7 +33,21 @@
 	@Resource
 	private UserVipConfigService userVipConfigService;
 	
+	@Lazy
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
 	
+	@Lazy
+	@Resource
+	private UserVIPPreInfoService userVIPPreInfoService;
+	
+	@Lazy
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Lazy
+	@Resource
+	private UserOtherMsgNotificationService userOtherMsgNotificationService;
 
 	@Override
 	public void insertSelective(UserInviteSeparate record) {
@@ -51,8 +75,6 @@
 		userInviteSeparateMapper.insertSelective(inviteSeparate);
 	}
 	
-	
-	
 	@Override
 	public void updateInvalidByBossId(Long uid) {
 		userInviteSeparateMapper.updateInvalidByBossId(uid);
@@ -75,5 +97,52 @@
 	
 	
 	
+	@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);
+
+			int limitDays = Integer.parseInt(userVipConfigService.getValueByKey("invite_separate_limit_days"));
+			
+			// 娑堟伅 TODO
+			UserInfo userInfo = userInfoService.selectByPKey(workerId);
+			MsgOtherVIPDTO msgboss = new MsgOtherVIPDTO();
+			msgboss.setContent1(userInfo.getNickName() + workerId + "浜�"+ TimeUtil.formatDateDot(record.getCreateTime()) + "鎴愬姛鍗囩骇鎴愪负浼氬憳 ");
+			msgboss.setContent2("寰堥仐鎲撅紝浣犳湭鑳藉湪" + limitDays + "澶╁崌绾т负浼氬憳 ");
+			msgboss.setContent3("宸蹭笌鍏惰劚绂婚個璇峰叧绯�");
+			userOtherMsgNotificationService.teamSplitCallBoss(bossId, "濡傛湁鐤戦棶璇疯仈绯绘垜鐨�-浜哄伐瀹㈡湇", msgboss);
+		}
+	}
+	
 	
 }

--
Gitblit v1.8.0