From 388be9f734f5b80c348bcc956726c206002e832a Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期日, 23 二月 2020 12:55:01 +0800
Subject: [PATCH] 保存bug

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java |  134 ++++++++++++++++----------------------------
 1 files changed, 48 insertions(+), 86 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
index addd16c..14c3df9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
@@ -15,7 +15,6 @@
 
 import com.aliyun.openservices.ons.api.Message;
 import com.aliyun.openservices.ons.api.Producer;
-import com.google.gson.Gson;
 import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
 import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
@@ -87,7 +86,7 @@
 		return threeSaleMapper.selectBoss(uid);
 	}
 
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
 	public void bind(UserInfo worker, UserInfo inviter) throws ThreeSaleException {
 		if (worker == null || inviter == null)
 			throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
@@ -501,100 +500,47 @@
 	}
 
 	@Override
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
 	public void bindRelationshipByInviteCode(UserInfo invitee, UserInfo inviter) throws ThreeSaleException {
-
 		if (invitee == null || inviter == null)
 			throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
 
-		// 鑾峰彇鏈夋晥鐨勯個璇峰叧绯�
-		ThreeSale threeSale = threeSaleMapper.getRelationshipByBossIdAndWorkerId(inviter.getId(), invitee.getId());
-
-		if (threeSale != null) {
-			// 鏈夋晥鍏崇郴--鐢熸晥
-			threeSale.setBoss(inviter);
-			threeSale.setWorker(invitee);
-			threeSale.setState(true);
-			threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
-			threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
-			threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
-			threeSaleMapper.updateByPrimaryKeySelective(threeSale);
-		} else {
-			// 鏂板缓绔嬬‘瀹氬叧绯�
-			threeSale = new ThreeSale();
-			threeSale.setBoss(inviter);
-			threeSale.setWorker(invitee);
-			threeSale.setState(true);
-			threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
-			threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
-			threeSale.setCreateTime(java.lang.System.currentTimeMillis());
-			threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
-			threeSaleMapper.insertSelective(threeSale);
-		}
-
-		List<ThreeSale> listExpire = threeSaleMapper.getExpireRecord(inviter.getId(), invitee.getId());
-		if (listExpire != null && listExpire.size() > 0) {
-			// 鍒犻櫎鍘嗗彶閫氱煡
-			for (ThreeSale saleExpire : listExpire) {
-				msgInviteDetailService.deleteByThreeSale(saleExpire);
-			}
-			// 鍒犻櫎宸插け鏁堝叧绯�
-			threeSaleMapper.deleteExpireRecord(inviter.getId(), invitee.getId());
-		}
+		// 鏂板缓绔嬬‘瀹氬叧绯�
+		ThreeSale threeSale = new ThreeSale();
+		threeSale.setBoss(inviter);
+		threeSale.setWorker(invitee);
+		threeSale.setState(true);
+		threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
+		threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
+		threeSale.setCreateTime(java.lang.System.currentTimeMillis());
+		threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
+		threeSaleMapper.insertSelective(threeSale);
 
 		inviteSuccess(inviter.getId(), invitee.getId(), threeSale);
 	}
 
 	@Override
-	@Transactional
-	public void bindRelationshipByWX(UserInfo invitee, Long inviterId, ThreeSale threeSaleOld)
-			throws ThreeSaleException {
-
-		if (invitee == null || (inviterId == null && threeSaleOld == null))
+	@Transactional(rollbackFor = Exception.class)
+	public void bindRelationshipByWX(UserInfo invitee, Long inviterId) throws ThreeSaleException {
+		if (invitee == null || inviterId == null)
 			throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
-
-		ThreeSale threeSale = null;
-		if (inviterId != null) {
-			// 鏂板缓绔嬬‘瀹氬叧绯�
-			threeSale = new ThreeSale();
-			threeSale.setBoss(new UserInfo(inviterId));
-			threeSale.setWorker(invitee);
-			threeSale.setState(true);
-			threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
-			threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
-			threeSale.setCreateTime(java.lang.System.currentTimeMillis());
-			threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
-			threeSaleMapper.insertSelective(threeSale);
-
-			// 閭�璇峰叧绯诲け鏁� 1.5.3 涔嬪墠澶辨晥
-			if (threeSaleOld != null) {
-				ThreeSale three = new ThreeSale();
-				three.setId(threeSaleOld.getId());
-				three.setExpire(ThreeSale.EXPIRE_OUTOFDATE);
-				three.setUpdateTime(java.lang.System.currentTimeMillis());
-				threeSaleMapper.updateByPrimaryKeySelective(three);
-			}
-		} else if (threeSaleOld != null && inviterId == null) {
-			// 1.5.3 涔嬪墠鐢熸晥
-			threeSaleOld.setState(true);
-			threeSaleOld.setExpire(ThreeSale.EXPIRE_NORMAL);
-			threeSaleOld.setSucceedTime(java.lang.System.currentTimeMillis());
-			threeSaleOld.setUpdateTime(java.lang.System.currentTimeMillis());
-			threeSaleMapper.updateByPrimaryKeySelective(threeSaleOld);
-
-			threeSale = threeSaleOld;
-		}
-
-		if (threeSale == null) {
-			throw new ThreeSaleException(1, "鍏崇郴缁戝畾澶辫触");
-		}
+		// 鏂板缓绔嬬‘瀹氬叧绯�
+		ThreeSale threeSale = new ThreeSale();
+		threeSale.setBoss(new UserInfo(inviterId));
+		threeSale.setWorker(invitee);
+		threeSale.setState(true);
+		threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
+		threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
+		threeSale.setCreateTime(java.lang.System.currentTimeMillis());
+		threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
+		threeSaleMapper.insertSelective(threeSale);
 
 		UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId());
 		threeSale.setBoss(boss);
 		threeSale.setWorker(invitee);
 
+		// 閭�璇锋垚鍔燂細娑堟伅銆佺浉鍏冲鐞�
 		inviteSuccess(boss.getId(), invitee.getId(), threeSale);
-
 	}
 
 	/**
@@ -604,13 +550,13 @@
 	private void inviteSuccess(Long bossId, Long workerId, ThreeSale threeSale) {
 		// 閭�璇锋秷鎭�
 		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
-		if (activeLog != null && VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
-				activeLog.getVersionCode())) { // 2.1鐗堟湰浠ヤ笂
+		if (activeLog != null && VersionUtil.greaterThan_2_0_5(
+				"appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android", activeLog.getVersionCode())) { // 2.1鐗堟湰浠ヤ笂
 			userInviteMsgNotificationService.inviteSuccess2_1(bossId, threeSale);
 		} else { // 鏈�鍒濇秷鎭�
 			userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale);
 		}
-		
+
 		executor.execute(new Runnable() {
 			@Override
 			public void run() {
@@ -619,9 +565,9 @@
 			}
 		});
 		UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), UserInviteMQMsg.STATE_SUCCESS);
-		Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess,
-				msg);
-		producer.send(message);
+		Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess, msg);
+		if (!Constant.IS_TEST)
+			producer.send(message);
 	}
 
 	/**
@@ -643,6 +589,11 @@
 	@Override
 	public ThreeSale selectByWorkerId(Long workerId) {
 		return threeSaleMapper.selectSuccessByWorkerId(workerId);
+	}
+
+	@Override
+	public ThreeSale getNearRelationByBossIdAndWorkerId(Long bossId, Long workerId) {
+		return threeSaleMapper.getNearRelationByBossIdAndWorkerId(bossId, workerId);
 	}
 
 	@Override
@@ -669,4 +620,15 @@
 	public ThreeSale getByWorkerIdAndTime(Long workerId, long time) {
 		return threeSaleMapper.getByWorkerIdAndTime(workerId, time);
 	}
+
+	@Override
+	public void inviteSeparate(Long workerId, Long bossId) {
+		threeSaleMapper.inviteSeparate(workerId, bossId);
+	}
+
+	@Override
+	public long getTeamOrderNumByWorkerId(Long workerId) {
+		return threeSaleMapper.getTeamOrderNumByWorkerId(workerId);
+	}
+
 }

--
Gitblit v1.8.0