From 6cb04a3c75f46001a55be402c6650d5600748dc7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 14 五月 2020 21:50:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java |  101 ++++++++++++++++++++++++++++----------------------
 1 files changed, 56 insertions(+), 45 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 432814e..6163f42 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
@@ -10,8 +10,12 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.user.UserInviteValidNumMapper;
 import com.yeshi.fanli.dao.mybatis.user.UserInviteValidRecordMapper;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
+import com.yeshi.fanli.dto.mq.user.body.BeComeValidUserMQMsg;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
@@ -23,6 +27,8 @@
 import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 @Service
 public class UserInviteValidNumServiceImpl implements UserInviteValidNumService {
@@ -31,26 +37,26 @@
 
 	@Resource
 	private UserInviteValidRecordMapper userInviteValidRecordMapper;
-	
+
 	@Lazy
 	@Resource
 	private ThreeSaleSerivce threeSaleSerivce;
-	
+
 	@Lazy
 	@Resource
 	private UserInfoService userInfoService;
-	
+
 	@Lazy
 	@Resource
 	private CommonOrderService commonOrderService;
-	
-	
-	
+
+	@Resource(name = "producer")
+	private Producer producer;
+
 	@Override
 	public UserInviteValidNum selectByPrimaryKey(Long id) {
 		return userInviteValidNumMapper.selectByPrimaryKey(id);
 	}
-	
 
 	/**
 	 *  鐩存帴绮変笣 +1
@@ -70,20 +76,20 @@
 			userInviteValidNumMapper.insertSelective(inviteValid);
 		}
 	}
-	
+
 	/**
 	 *  鐩存帴绮変笣 -1
 	 * @param uid
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void reduceValidNumFirst(Long uid, Long  workerId) {
+	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;
@@ -95,11 +101,11 @@
 			inviteValid.setUpdateTime(new Date());
 			userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
 		}
-		
+
 		// 鍒犻櫎鏈夋晥璁板綍
 		userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
 	}
-	
+
 	/**
 	 *  鐩存帴绮変笣 -1
 	 * @param uid
@@ -112,7 +118,7 @@
 		if (record == null) {
 			return;
 		}
-		
+
 		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
 		if (inviteValid != null) {
 			int num = 0;
@@ -124,13 +130,10 @@
 			inviteValid.setUpdateTime(new Date());
 			userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
 		}
-		
+
 		// 鍒犻櫎鏈夋晥璁板綍
 		userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
 	}
-	
-	
-	
 
 	/**
 	 *  闂存帴绮変笣 +1
@@ -150,37 +153,37 @@
 			userInviteValidNumMapper.insertSelective(inviteValid);
 		}
 	}
-	
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addValidTeamNum(Long uid, BigDecimal payment, Date payDate) {
 		if (uid == null || payment == null || payDate == null) {
 			return;
 		}
-		
+
 		try {
 			// 浠樻閲戦灏忎簬1
 			if (payment.compareTo(Constant.VIP_ORDER_PAY) < 0) {
 				return;
 			}
-			
+
 			// 鏄惁涓婄骇
 			ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
 			if (threeSale == null) {
 				return;
 			}
-			
+
 			// 闃熷憳鍏崇郴鏈夋晥鏃堕棿
 			Long succeedTime = threeSale.getSucceedTime();
 			if (succeedTime == null) {
 				succeedTime = threeSale.getCreateTime();
 			}
-			
+
 			// 涓嬪崟鏃堕棿鍦ㄧ敓浜у叧绯讳箣鍓�
 			if (payDate.getTime() <= succeedTime.longValue()) {
 				return;
 			}
-			
+
 			Long bossId = threeSale.getBoss().getId();
 			String uniqueKey = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_ONE);
 			UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
@@ -192,11 +195,19 @@
 				record.setUniqueKey(uniqueKey);
 				record.setCreateTime(new Date());
 				userInviteValidRecordMapper.insertSelective(record);
-				
+
 				// 鏇存柊涓婄骇鐨勭洿鎺ョ矇涓濇暟閲�
 				addNumFirst(bossId);
 			}
-			
+
+			// 鍙戦�佹垚涓烘湁鏁堢矇涓濈殑娑堟伅
+			if (!Constant.IS_TEST) {
+				BeComeValidUserMQMsg msg = new BeComeValidUserMQMsg(uid, new Date());
+				Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.becomeValidUser,
+						msg);
+				producer.send(message);
+			}
+
 			// 鏄惁涓婁笂绾�
 			ThreeSale threeSaleSuper = threeSaleSerivce.getMyBoss(bossId);
 			if (threeSaleSuper == null) {
@@ -214,7 +225,7 @@
 				recordSuper.setUniqueKey(uniqueKeySuper);
 				recordSuper.setCreateTime(new Date());
 				userInviteValidRecordMapper.insertSelective(recordSuper);
-				
+
 				// 鏇存柊涓婁笂绾х殑闂存帴绮変笣鏁伴噺
 				addNumSecond(bossIdSuper);
 			}
@@ -222,8 +233,7 @@
 			LogHelper.error(e);
 		}
 	}
-	
-	
+
 	@Override
 	public void syncInfoAgain(Long workerId) {
 		// 鏇存柊涓婄骇
@@ -231,17 +241,17 @@
 		if (threeSale == null) {
 			return;
 		}
-		
+
 		Long uid = threeSale.getBoss().getId();
 		UserInfo userInfo = userInfoService.selectByPKey(uid);
 		if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) {
 			return;
 		}
-		
+
 		int countTeam1 = 0;
 		List<ThreeSale> listFirstTeam = threeSaleSerivce.listFirstTeam(0, Integer.MAX_VALUE, uid);
 		if (listFirstTeam != null && listFirstTeam.size() > 0) {
-			for (ThreeSale firstTeam: listFirstTeam) {
+			for (ThreeSale firstTeam : listFirstTeam) {
 				if (firstTeam.getWorker() == null || firstTeam.getWorker().getId() == null) {
 					continue;
 				}
@@ -249,12 +259,12 @@
 				String uniqueKey = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_ONE);
 				UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
 				if (record != null) {
-					countTeam1 ++;
+					countTeam1++;
 				} else {
 					long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
 					if (countValid > 0) {
-						countTeam1 ++;
-						
+						countTeam1++;
+
 						record = new UserInviteValidRecord();
 						record.setUid(uid);
 						record.setWorkerId(wid);
@@ -266,12 +276,13 @@
 				}
 			}
 		}
-		
+
 		UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
 		if (inviteValid != null) {
 			UserInviteValidNum updateObj = new UserInviteValidNum();
 			updateObj.setId(uid);
-			updateObj.setNumFirst(countTeam1);;
+			updateObj.setNumFirst(countTeam1);
+			;
 			userInviteValidNumMapper.updateByPrimaryKeySelective(updateObj);
 		} else {
 			inviteValid = new UserInviteValidNum();
@@ -281,23 +292,23 @@
 			inviteValid.setUpdateTime(new Date());
 			userInviteValidNumMapper.insertSelective(inviteValid);
 		}
-		
+
 		// 鏇存柊涓婁笂绾т俊鎭�
 		ThreeSale superThreeSale = threeSaleSerivce.getByWorkerId(uid);
 		if (superThreeSale == null) {
 			return;
 		}
-		
+
 		Long superUid = superThreeSale.getBoss().getId();
 		UserInfo superUserInfo = userInfoService.selectByPKey(superUid);
 		if (superUserInfo == null || superUserInfo.getState() != UserInfo.STATE_NORMAL) {
 			return;
 		}
-		
+
 		int countTeam2 = 0;
 		List<ThreeSale> listSecondTeam = threeSaleSerivce.listSecondTeam(0, Integer.MAX_VALUE, superUid);
 		if (listSecondTeam != null && listSecondTeam.size() > 0) {
-			for (ThreeSale team: listSecondTeam) {
+			for (ThreeSale team : listSecondTeam) {
 				if (team.getWorker() == null || team.getWorker().getId() == null) {
 					continue;
 				}
@@ -305,12 +316,12 @@
 				String uniqueKeySuper = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_TWO);
 				UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
 				if (recordSuper != null) {
-					countTeam2 ++;
+					countTeam2++;
 				} else {
 					long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
 					if (countValid > 0) {
-						countTeam2 ++;
-						
+						countTeam2++;
+
 						recordSuper = new UserInviteValidRecord();
 						recordSuper.setUid(superUid);
 						recordSuper.setWorkerId(wid);
@@ -322,7 +333,7 @@
 				}
 			}
 		}
-		
+
 		UserInviteValidNum inviteValid2 = userInviteValidNumMapper.selectForUpdate(superUid);
 		if (inviteValid2 != null) {
 			UserInviteValidNum updateObj = new UserInviteValidNum();
@@ -338,5 +349,5 @@
 			userInviteValidNumMapper.insertSelective(inviteValid2);
 		}
 	}
-	
+
 }

--
Gitblit v1.8.0