From 0c21d817e4ce8c287cde825ece7835596621d909 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 30 六月 2020 09:42:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java | 169 +++++++++++++++++++++++++++----------------------------
1 files changed, 83 insertions(+), 86 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 7d92754..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,54 +241,48 @@
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;
}
Long wid = firstTeam.getWorker().getId();
- Long succeedTime = firstTeam.getSucceedTime();
- if (succeedTime == null) {
- succeedTime = firstTeam.getCreateTime();
- }
-
- // 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏�
- long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
- if (countValid > 0) {
- countTeam1 ++;
- try {
- String uniqueKey = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_ONE);
- UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
- if (record == null) {
- record = new UserInviteValidRecord();
- record.setUid(uid);
- record.setWorkerId(wid);
- record.setType(UserInviteValidRecord.TYPE_ONE);
- record.setUniqueKey(uniqueKey);
- record.setCreateTime(new Date());
- userInviteValidRecordMapper.insertSelective(record);
- }
- } catch (Exception e) {
-
+ String uniqueKey = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_ONE);
+ UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
+ if (record != null) {
+ countTeam1++;
+ } else {
+ long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
+ if (countValid > 0) {
+ countTeam1++;
+
+ record = new UserInviteValidRecord();
+ record.setUid(uid);
+ record.setWorkerId(wid);
+ record.setType(UserInviteValidRecord.TYPE_ONE);
+ record.setUniqueKey(uniqueKey);
+ record.setCreateTime(new Date());
+ userInviteValidRecordMapper.insertSelective(record);
}
}
}
}
-
+
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();
@@ -288,55 +292,48 @@
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);
+ 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;
}
Long wid = team.getWorker().getId();
- Long succeedTime = team.getSucceedTime();
- if (succeedTime == null) {
- succeedTime = team.getCreateTime();
- }
- // 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏�
- long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
- if (countValid > 0) {
- countTeam2 ++;
- try {
- String uniqueKeySuper = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_TWO);
- UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
- if (recordSuper == null) {
- recordSuper = new UserInviteValidRecord();
- recordSuper.setUid(superUid);
- recordSuper.setWorkerId(wid);
- recordSuper.setType(UserInviteValidRecord.TYPE_TWO);
- recordSuper.setUniqueKey(uniqueKeySuper);
- recordSuper.setCreateTime(new Date());
- userInviteValidRecordMapper.insertSelective(recordSuper);
- }
- } catch (Exception e) {
-
+ String uniqueKeySuper = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_TWO);
+ UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
+ if (recordSuper != null) {
+ countTeam2++;
+ } else {
+ long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY);
+ if (countValid > 0) {
+ countTeam2++;
+
+ recordSuper = new UserInviteValidRecord();
+ recordSuper.setUid(superUid);
+ recordSuper.setWorkerId(wid);
+ recordSuper.setType(UserInviteValidRecord.TYPE_TWO);
+ recordSuper.setUniqueKey(uniqueKeySuper);
+ recordSuper.setCreateTime(new Date());
+ userInviteValidRecordMapper.insertSelective(recordSuper);
}
-
}
}
}
-
+
UserInviteValidNum inviteValid2 = userInviteValidNumMapper.selectForUpdate(superUid);
if (inviteValid2 != null) {
UserInviteValidNum updateObj = new UserInviteValidNum();
@@ -352,5 +349,5 @@
userInviteValidNumMapper.insertSelective(inviteValid2);
}
}
-
+
}
--
Gitblit v1.8.0