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

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java |   87 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 71 insertions(+), 16 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 200a87b..ca2e963 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
@@ -5,8 +5,8 @@
 
 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;
@@ -14,7 +14,6 @@
 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.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
 import com.yeshi.fanli.util.Constant;
@@ -42,29 +41,94 @@
 	 *  鐩存帴绮変笣 +1
 	 * @param uid
 	 */
+	@Transactional(rollbackFor = Exception.class)
 	private void addNumFirst(Long uid) {
 		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
 		if (inviteValid != null) {
 			userInviteValidNumMapper.addNumFirst(uid, 1);
 		} else {
 			inviteValid = new UserInviteValidNum();
+			inviteValid.setId(uid);
 			inviteValid.setNumFirst(1);
 			inviteValid.setNumSecond(0);
 			inviteValid.setUpdateTime(new Date());
 			userInviteValidNumMapper.insertSelective(inviteValid);
 		}
 	}
+	
+	/**
+	 *  鐩存帴绮変笣 -1
+	 * @param uid
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void reduceValidNumFirst(Long uid, Long  workerId) {
+		UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId,
+				UserInviteValidRecord.TYPE_ONE);
+		if (record == null) {
+			return;
+		}
+		
+		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
+		if (inviteValid != null) {
+			int num = 0;
+			if (inviteValid.getNumFirst() > 0) {
+				num = inviteValid.getNumFirst() - 1;
+			}
+			inviteValid.setId(uid);
+			inviteValid.setNumFirst(num);
+			inviteValid.setUpdateTime(new Date());
+			userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
+		}
+		
+		// 鍒犻櫎鏈夋晥璁板綍
+		userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
+	}
+	
+	/**
+	 *  鐩存帴绮変笣 -1
+	 * @param uid
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void reduceValidNumSecond(Long uid, Long workerId) {
+		UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId,
+				UserInviteValidRecord.TYPE_TWO);
+		if (record == null) {
+			return;
+		}
+		
+		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
+		if (inviteValid != null) {
+			int num = 0;
+			if (inviteValid.getNumFirst() > 0) {
+				num = inviteValid.getNumSecond() - 1;
+			}
+			inviteValid.setId(uid);
+			inviteValid.setNumSecond(num);
+			inviteValid.setUpdateTime(new Date());
+			userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
+		}
+		
+		// 鍒犻櫎鏈夋晥璁板綍
+		userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
+	}
+	
+	
+	
 
 	/**
 	 *  闂存帴绮変笣 +1
 	 * @param uid
 	 */
+	@Transactional(rollbackFor = Exception.class)
 	private void addNumSecond(Long uid) {
 		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
 		if (inviteValid != null) {
 			userInviteValidNumMapper.addNumSecond(uid, 1);
 		} else {
 			inviteValid = new UserInviteValidNum();
+			inviteValid.setId(uid);
 			inviteValid.setNumFirst(0);
 			inviteValid.setNumSecond(1);
 			inviteValid.setUpdateTime(new Date());
@@ -73,6 +137,7 @@
 	}
 	
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void addValidTeamNum(Long uid, BigDecimal payment, Date payDate) {
 		if (uid == null || payment == null || payDate == null) {
 			return;
@@ -102,7 +167,7 @@
 			}
 			
 			Long bossId = threeSale.getBoss().getId();
-			String uniqueKey = StringUtil.Md5(bossId + "#" + uid + "#" + UserInviteValidRecord.TYPE_ONE);
+			String uniqueKey = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_ONE);
 			UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
 			if (record == null) {
 				record = new UserInviteValidRecord();
@@ -122,14 +187,14 @@
 			if (threeSaleSuper == null) {
 				return;
 			}
-			
+			// 闂存帴鍏崇郴
 			Long bossIdSuper = threeSaleSuper.getBoss().getId();
-			String uniqueKeySuper = StringUtil.Md5(bossIdSuper + "#" + bossId + "#" + UserInviteValidRecord.TYPE_TWO);
+			String uniqueKeySuper = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_TWO);
 			UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
 			if (recordSuper == null) {
 				recordSuper = new UserInviteValidRecord();
 				recordSuper.setUid(bossIdSuper);
-				recordSuper.setWorkerId(bossId);
+				recordSuper.setWorkerId(uid);
 				recordSuper.setType(UserInviteValidRecord.TYPE_TWO);
 				recordSuper.setUniqueKey(uniqueKeySuper);
 				recordSuper.setCreateTime(new Date());
@@ -142,15 +207,5 @@
 			LogHelper.error(e);
 		}
 	}
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
 	 
 }

--
Gitblit v1.8.0