From ca20ce6afc5abe164767c87b5332df223c3b8063 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 05 三月 2019 15:31:31 +0800
Subject: [PATCH] 增加福利中心推送 二维码识别邀请关系修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
index e1b144c..2733077 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
@@ -99,13 +99,13 @@
 	}
 
 	@Transactional
-	public void bind(UserInfo invitee, UserInfo inviter) throws ThreeSaleException {
-		if (invitee == null || inviter == null)
+	public void bind(UserInfo worker, UserInfo inviter) throws ThreeSaleException {
+		if (worker == null || inviter == null)
 			throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
-		if (invitee.getId() == null)// 璇ョ敤鎴疯繕涓嶅瓨鍦�
+		if (worker.getId() == null)// 璇ョ敤鎴疯繕涓嶅瓨鍦�
 		{
 			// 淇濆瓨鐢ㄦ埛
-			UserInfo inviteeUser = userInfoService.addUser(invitee, Constant.APPID);
+			UserInfo inviteeUser = userInfoService.addUser(worker, Constant.APPID);
 			if (inviteeUser == null)
 				throw new ThreeSaleException(2, "鍒涘缓鐢ㄦ埛澶辫触");
 			// 淇濆瓨鍏崇郴
@@ -132,13 +132,14 @@
 			userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale);
 
 		} else {// 鏄凡缁忓瓨鍦ㄧ殑鐢ㄦ埛
+			worker = userInfoService.selectByPKey(worker.getId());
 
 			// 鐢ㄦ埛宸茬粡瀛樺湪鎴戜滑鐨勭敤鎴峰簱涓�
-			if (invitee.getLastLoginTime() == null || invitee.getLastLoginTime() == 0L) {
+			if (worker.getLastLoginTime() == null || worker.getLastLoginTime() == 0L) {
 				// 鐢ㄦ埛鏈櫥褰�
 				int outOfDateCount = 0;// 杩囨湡鏁伴噺
 				// 鏌ヨ閭�璇峰叧绯�
-				List<ThreeSale> list = listByWorkerId(invitee.getId());
+				List<ThreeSale> list = listByWorkerId(worker.getId());
 				if (list != null && list.size() > 0) {
 					for (ThreeSale ts : list) {
 						if (!ts.getState() && ts.getExpire() == ThreeSale.EXPIRE_OUTOFDATE) {
@@ -154,20 +155,20 @@
 						threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
 						threeSale.setState(false);
 						threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
-						threeSale.setWorker(invitee);
+						threeSale.setWorker(worker);
 						threeSaleMapper.insertSelective(threeSale);
 
 						// 鍒犻櫎宸插け鏁堝叧绯�
-						threeSaleMapper.deleteExpireRecord(inviter.getId(), invitee.getId());
+						threeSaleMapper.deleteExpireRecord(inviter.getId(), worker.getId());
 
-						List<ThreeSale> listExpire = threeSaleMapper.getExpireRecord(inviter.getId(), invitee.getId());
+						List<ThreeSale> listExpire = threeSaleMapper.getExpireRecord(inviter.getId(), worker.getId());
 						if (listExpire != null && listExpire.size() > 0) {
 							// 鍒犻櫎鍘嗗彶閫氱煡
 							for (ThreeSale saleExpire : listExpire) {
 								msgInviteDetailService.deleteByThreeSale(saleExpire);
 							}
 							// 鍒犻櫎宸插け鏁堝叧绯�
-							threeSaleMapper.deleteExpireRecord(inviter.getId(), invitee.getId());
+							threeSaleMapper.deleteExpireRecord(inviter.getId(), worker.getId());
 						}
 
 						userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale);
@@ -180,7 +181,41 @@
 					// 鐢ㄦ埛鏈櫥褰�,鍙堜笉瀛樺湪閭�璇峰叧绯�,涓嶅仛澶勭悊
 				}
 			} else {
-				// 宸茬粡鐧诲綍锛屼笉鍋氬鐞�
+				// 宸茬粡鐧诲綍锛岃�屼笖娌℃湁涓婁笅绾у叧绯绘垨鑰呬笂涓嬬骇鍏崇郴鏈敓鏁堬紝鍒欑粦瀹氬叧绯�
+				List<ThreeSale> list = threeSaleMapper.listByWorkerId(worker.getId());
+				// 鍒犻櫎鏃犳晥鐨�
+				if (list != null)
+					for (int i = 0; i < list.size(); i++) {
+						if (list.get(i).getState() != null && list.get(i).getState() == false
+								&& list.get(i).getExpire() == ThreeSale.EXPIRE_OUTOFDATE) {// 杩囨湡鐨�
+							list.remove(i);
+							i--;
+						}
+					}
+				// 鏌ヨ涓婄骇鏄惁鏈夊拰鐜板湪涓婄骇涓�鏍风殑
+				if (list == null || list.size() == 0)// 灏氭湭纭珛鍏崇郴锛屽缓绔嬪叧绯�
+				{
+					ThreeSale ts = new ThreeSale();
+					ts.setBoss(inviter);
+					ts.setCreateTime(System.currentTimeMillis());
+					ts.setExpire(ThreeSale.EXPIRE_NORMAL);
+					ts.setState(true);
+					ts.setSucceedTime(System.currentTimeMillis());
+					ts.setWorker(worker);
+					threeSaleMapper.insertSelective(ts);
+					ThreeSaleCMQManager.getInstance().addThreeSaleMsg(ts);
+					userInviteMsgNotificationService.inviteSuccess(inviter.getId(), ts);
+				} else {
+					if (!list.get(0).getState() && list.get(0).getExpire() == ThreeSale.EXPIRE_NORMAL
+							&& list.get(0).getBoss().getId() == inviter.getId().longValue()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥
+						ThreeSale update = new ThreeSale(list.get(0).getId());
+						update.setState(true);
+						update.setSucceedTime(System.currentTimeMillis());
+						threeSaleMapper.updateByPrimaryKeySelective(update);
+						ThreeSaleCMQManager.getInstance().addThreeSaleMsg(list.get(0));//娣诲姞閫氱煡
+						userInviteMsgNotificationService.inviteSuccess(inviter.getId(), list.get(0));
+					}
+				}
 			}
 		}
 	}

--
Gitblit v1.8.0