From c3f556e2413fbb5817f3907a73c4d4d2a2521cdb Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 23 四月 2020 14:36:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java | 255 +++++++++++++++++---------------------------------
1 files changed, 87 insertions(+), 168 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 9cecfe1..119559b 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
@@ -21,7 +21,6 @@
import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
-import com.yeshi.fanli.entity.bus.user.UserActiveLog;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.user.ThreeSaleException;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
@@ -35,7 +34,6 @@
import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -107,19 +105,6 @@
threeSale.setWorker(inviteeUser);
threeSaleMapper.insertSelective(threeSale);
- List<ThreeSale> listExpire = threeSaleMapper.getExpireRecord(inviter.getId(), inviteeUser.getId());
- if (listExpire != null && listExpire.size() > 0) {
- // 鍒犻櫎澶辨晥
- for (ThreeSale saleExpire : listExpire) {
- msgInviteDetailService.deleteByThreeSale(saleExpire);
- }
- // 鍒犻櫎宸插け鏁堝叧绯�
- threeSaleMapper.deleteExpireRecord(inviter.getId(), inviteeUser.getId());
- }
-
- // 鍒涘缓閫氱煡
- userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale);
-
} else {// 鏄凡缁忓瓨鍦ㄧ殑鐢ㄦ埛
if (worker.getId().longValue() == inviter.getId())
throw new ThreeSaleException(4, "涓嶈兘缁戝畾鑷繁");
@@ -134,7 +119,7 @@
List<ThreeSale> list = listByWorkerId(worker.getId());
if (list != null && list.size() > 0) {
for (ThreeSale ts : list) {
- if (!ts.getState() && ts.getExpire() == ThreeSale.EXPIRE_OUTOFDATE) {
+ if (!ts.getState() && ts.getExpire() == ThreeSale.EXPIRE_BREAK) {
outOfDateCount++;
}
}
@@ -149,23 +134,6 @@
threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
threeSale.setWorker(worker);
threeSaleMapper.insertSelective(threeSale);
-
- // 鍒犻櫎宸插け鏁堝叧绯�
- threeSaleMapper.deleteExpireRecord(inviter.getId(), worker.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(), worker.getId());
- }
-
- userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale);
- // threeSaleSerivce.bind(invitee, inviter);
-
} else {
// 杩樺瓨鍦ㄦ湁鏁堢殑閭�璇凤紝鍒欎笉鍋氬鐞�
}
@@ -179,7 +147,7 @@
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.get(i).getExpire() == ThreeSale.EXPIRE_BREAK) {// 杩囨湡鐨�
list.remove(i);
i--;
}
@@ -195,7 +163,6 @@
ts.setSucceedTime(System.currentTimeMillis());
ts.setWorker(worker);
threeSaleMapper.insertSelective(ts);
- inviteSuccess(inviter.getId(), worker.getId(), ts);
} else {
if (!list.get(0).getState() && list.get(0).getExpire() == ThreeSale.EXPIRE_NORMAL
&& list.get(0).getBoss().getId() == inviter.getId().longValue()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥
@@ -203,7 +170,6 @@
update.setState(true);
update.setSucceedTime(System.currentTimeMillis());
threeSaleMapper.updateByPrimaryKeySelective(update);
- inviteSuccess(list.get(0).getBoss().getId(), list.get(0).getWorker().getId(), list.get(0));
}
}
}
@@ -238,80 +204,31 @@
// if (inviter != null)
// reComputeUserRank(inviter.getId());
// 娣诲姞鍒伴槦鍒�
- inviteSuccess(oldSale.getBoss().getId(), oldSale.getWorker().getId(), oldSale);
+ inviteSuccess(worker.getId(), oldSale.getBoss().getId());
}
}
- @Override
- public long getFirstUsersCount(Long uid) {
- return threeSaleMapper.countFirstTeam(uid, null);
- }
-
- @Override
- public long getSecondUsersCount(Long uid) {
- return threeSaleMapper.countSecondTeam(uid, null);
- }
-
- @Override
- public List<ThreeSale> queryMyFirstTeamList(int start, int count, String key, Long bossId) {
- return threeSaleMapper.queryMyFirstTeamList(start, count, key, bossId);
- }
-
- @Override
- public long queryCountMyFirstTeamList(String key, Long bossId) {
- return threeSaleMapper.queryCountMyFirstTeamList(key, bossId);
- }
-
- @Override
- public List<ThreeSale> queryMySecondTeamList(int start, int count, String key, Long bossId) {
- return threeSaleMapper.queryMySecondTeamList(start, count, key, bossId);
- }
-
- @Override
- public long queryCountMySecondTeamList(String key, Long bossId) {
- return threeSaleMapper.queryCountMySecondTeamList(key, bossId);
- }
-
- @Override
- public int deleteByPrimaryKey(Long id) {
- return threeSaleMapper.deleteByPrimaryKey(id);
- }
-
- @Override
- public List<Long> queryLongTimeFailed(int daysNum) {
- return threeSaleMapper.queryLongTimeFailed(daysNum);
- }
-
- @Override
- public List<ThreeSale> queryLongTimeSuccess(int daysNum) {
- return threeSaleMapper.queryLongTimeSuccess(daysNum);
- }
-
- @Override
- public int updateExpire(List<Long> list) {
- return threeSaleMapper.updateExpire(list);
- }
@Override
public List<ThreeSale> listFirstTeamQuery(long start, int count, Long uid, Integer state, String startTime,
- String endTime) {
- return threeSaleMapper.listFirstTeamQuery(start, count, uid, state, startTime, endTime);
+ String endTime, Integer validState) {
+ return threeSaleMapper.listFirstTeamQuery(start, count, uid, state, startTime, endTime, validState);
}
@Override
- public long countFirstTeamQuery(Long uid, Integer state, String startTime, String endTime) {
- return threeSaleMapper.countFirstTeamQuery(uid, state, startTime, endTime);
+ public long countFirstTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) {
+ return threeSaleMapper.countFirstTeamQuery(uid, state, startTime, endTime, validState);
}
@Override
public List<ThreeSale> listSecondTeamQuery(long start, int count, Long uid, Integer state, String startTime,
- String endTime) {
- return threeSaleMapper.listSecondTeamQuery(start, count, uid, state, startTime, endTime);
+ String endTime, Integer validState) {
+ return threeSaleMapper.listSecondTeamQuery(start, count, uid, state, startTime, endTime, validState);
}
@Override
- public long countSecondTeamQuery(Long uid, Integer state, String startTime, String endTime) {
- return threeSaleMapper.countSecondTeamQuery(uid, state, startTime, endTime);
+ public long countSecondTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) {
+ return threeSaleMapper.countSecondTeamQuery(uid, state, startTime, endTime, validState);
}
@Override
@@ -322,16 +239,6 @@
@Override
public long countSuperiorQuery(Integer state, Long uid) {
return threeSaleMapper.countSuperiorQuery(state, uid);
- }
-
- @Override
- public long countFirstTeam(Long uid, Integer state) {
- return threeSaleMapper.countFirstTeam(uid, state);
- }
-
- @Override
- public long countSecondTeam(Long uid, Integer state) {
- return threeSaleMapper.countSecondTeam(uid, state);
}
@Override
@@ -350,27 +257,22 @@
}
@Override
- public JSONObject getMyFirstTeam(long start, int count, Long uid, Integer state) {
-
- List<ThreeSale> list = threeSaleMapper.listFirstTeam(start, count, uid, state);
+ public JSONObject getMyFirstTeam(long start, int count, Long uid) {
+ List<ThreeSale> list = threeSaleMapper.listFirstTeam(start, count, uid);
if (list == null) {
list = new ArrayList<ThreeSale>();
}
-
- long countTotal = threeSaleMapper.countFirstTeam(uid, state);
-
+ long countTotal = threeSaleMapper.countFirstTeam(uid);
return organizeTeam(countTotal, list);
}
@Override
- public JSONObject getMySecondTeam(long start, int count, Long uid, Integer state) {
- List<ThreeSale> list = threeSaleMapper.listSecondTeam(start, count, uid, state);
+ public JSONObject getMySecondTeam(long start, int count, Long uid) {
+ List<ThreeSale> list = threeSaleMapper.listSecondTeam(start, count, uid);
if (list == null) {
list = new ArrayList<ThreeSale>();
}
-
- long countTotal = threeSaleMapper.countSecondTeam(uid, state);
-
+ long countTotal = threeSaleMapper.countSecondTeam(uid);
return organizeTeam(countTotal, list);
}
@@ -499,75 +401,66 @@
return threeSaleMapper.getSuccessRelationshipNum(uid);
}
+
@Override
@Transactional(rollbackFor = Exception.class)
- public void bindRelationshipByInviteCode(UserInfo invitee, UserInfo inviter) throws ThreeSaleException {
- if (invitee == null || inviter == null)
+ public void bindInviteRelationship(Long workerId, Long bossId) throws ThreeSaleException {
+ if (workerId == null || bossId == null)
throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
-
+
// 鏂板缓绔嬬‘瀹氬叧绯�
ThreeSale threeSale = new ThreeSale();
- threeSale.setBoss(inviter);
- threeSale.setWorker(invitee);
+ threeSale.setBoss(new UserInfo(bossId));
+ threeSale.setWorker(new UserInfo(workerId));
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(rollbackFor = Exception.class)
- public void bindRelationshipByWX(UserInfo invitee, Long inviterId) throws ThreeSaleException {
- if (invitee == null || inviterId == 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);
+ inviteSuccess(workerId, bossId);
}
/**
* 閭�璇锋垚鍔�
*/
@Transactional
- private void inviteSuccess(Long bossId, Long workerId, ThreeSale threeSale) {
- // 閭�璇锋秷鎭�
- UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
- 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);
+ private void inviteSuccess(Long workerId, Long bossId) {
+ if (!Constant.IS_TEST) {
+ 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);
}
executor.execute(new Runnable() {
@Override
public void run() {
- // 閭�璇烽噾甯�
- integralGetService.addInviteLevelOne(bossId, workerId);
+ try { // 閭�璇烽噾甯�
+ integralGetService.addInviteLevelOne(bossId, workerId);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ try {
+ // 鐩存帴绮変笣閭�璇锋垚鍔�
+ UserInfo invitee = userInfoService.selectByPKey(workerId);
+ userInviteMsgNotificationService.directInviteSuccess(bossId, invitee.getNickName(),
+ invitee.getPortrait(), new Date());
+
+ // 闂存帴绮変笣閭�璇锋垚鍔�
+ ThreeSale myBoss = threeSaleMapper.getMyBoss(bossId);
+ if (myBoss != null) {
+ UserInfo boss = userInfoService.selectByPKey(bossId);
+ userInviteMsgNotificationService.indirectInviteSuccess(myBoss.getBoss().getId(),
+ boss.getNickName(), invitee.getNickName(), invitee.getPortrait(), new Date());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
});
- UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), UserInviteMQMsg.STATE_SUCCESS);
- Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess, msg);
- if (!Constant.IS_TEST)
- producer.send(message);
}
/**
@@ -581,11 +474,7 @@
return threeSaleMapper.getByWorkerId(workerId);
}
- @Override
- public long countSuccessFirstTeam(Long uid) {
- return threeSaleMapper.countFirstTeam(uid, 1);
- }
-
+
@Override
public ThreeSale selectByWorkerId(Long workerId) {
return threeSaleMapper.selectSuccessByWorkerId(workerId);
@@ -602,14 +491,25 @@
}
@Override
- public List<ThreeSale> listFirstTeam(long start, int count, Long uid, Integer state) {
- return threeSaleMapper.listFirstTeam(start, count, uid, state);
+ public List<ThreeSale> listFirstTeam(long start, int count, Long uid) {
+ return threeSaleMapper.listFirstTeam(start, count, uid);
}
@Override
- public List<ThreeSale> listSecondTeam(long start, int count, Long uid, Integer state) {
- return threeSaleMapper.listSecondTeam(start, count, uid, state);
+ public List<ThreeSale> listSecondTeam(long start, int count, Long uid) {
+ return threeSaleMapper.listSecondTeam(start, count, uid);
}
+
+ @Override
+ public long countFirstTeam(Long uid) {
+ return threeSaleMapper.countFirstTeam(uid);
+ }
+
+ @Override
+ public long countSecondTeam(Long uid) {
+ return threeSaleMapper.countSecondTeam(uid);
+ }
+
@Override
public ThreeSale selectLatestByWorkerIdAndState(Long workerId, int state) {
@@ -631,10 +531,29 @@
return threeSaleMapper.getTeamOrderNumByWorkerId(workerId);
}
-
@Override
public List<ThreeSale> getValidWorkerIdsByTime(Long bossId, long limitTime) {
return threeSaleMapper.getValidWorkerIdsByTime(bossId, limitTime);
}
+ @Override
+ public List<ThreeSale> getMyBossDeepList(Long uid, int deep) {
+
+ List<ThreeSale> deepList = new ArrayList<>();
+ ThreeSale boss = getMyBoss(uid);
+ while (deep > 0 && boss != null) {
+ deep--;
+ deepList.add(boss);
+ boss = getMyBoss(boss.getBoss().getId());
+ }
+
+ return deepList;
+ }
+
+ @Override
+ public List<ThreeSale> getMyBossDeepList(Long uid) {
+ //TODO 闇�瑕佹洿鍔犵畝渚跨殑鏂瑰紡澶勭悊
+ return getMyBossDeepList(uid, 100);
+ }
+
}
--
Gitblit v1.8.0