From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java | 168 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 127 insertions(+), 41 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 7017628..07bb037 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 @@ -86,7 +86,7 @@ return threeSaleMapper.selectBoss(uid); } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) public void bind(UserInfo worker, UserInfo inviter) throws ThreeSaleException { if (worker == null || inviter == null) throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); @@ -117,9 +117,6 @@ threeSaleMapper.deleteExpireRecord(inviter.getId(), inviteeUser.getId()); } - // 鍒涘缓閫氱煡 - userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale); - } else {// 鏄凡缁忓瓨鍦ㄧ殑鐢ㄦ埛 if (worker.getId().longValue() == inviter.getId()) throw new ThreeSaleException(4, "涓嶈兘缁戝畾鑷繁"); @@ -134,7 +131,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++; } } @@ -163,9 +160,6 @@ threeSaleMapper.deleteExpireRecord(inviter.getId(), worker.getId()); } - userInviteMsgNotificationService.inviteScan(inviter.getId(), threeSale); - // threeSaleSerivce.bind(invitee, inviter); - } else { // 杩樺瓨鍦ㄦ湁鏁堢殑閭�璇凤紝鍒欎笉鍋氬鐞� } @@ -179,7 +173,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 +189,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 +196,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,7 +230,7 @@ // if (inviter != null) // reComputeUserRank(inviter.getId()); // 娣诲姞鍒伴槦鍒� - inviteSuccess(oldSale.getBoss().getId(), oldSale.getWorker().getId(), oldSale); + inviteSuccess(oldSale.getBoss().getId(), worker); } } @@ -500,7 +492,7 @@ } @Override - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) public void bindRelationshipByInviteCode(UserInfo invitee, UserInfo inviter) throws ThreeSaleException { if (invitee == null || inviter == null) throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); @@ -516,15 +508,15 @@ threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); threeSaleMapper.insertSelective(threeSale); - inviteSuccess(inviter.getId(), invitee.getId(), threeSale); + inviteSuccess(inviter.getId(), invitee); } @Override - @Transactional(rollbackFor=Exception.class) - public void bindRelationshipByWX(UserInfo invitee, Long inviterId)throws ThreeSaleException { + @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); @@ -535,39 +527,48 @@ 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(inviterId, invitee); } /** * 閭�璇锋垚鍔� */ @Transactional - 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鐗堟湰浠ヤ笂 - userInviteMsgNotificationService.inviteSuccess2_1(bossId, threeSale); - } else { // 鏈�鍒濇秷鎭� - userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale); + private void inviteSuccess(Long bossId, UserInfo invitee) { + if (!Constant.IS_TEST) { + UserInviteMQMsg msg = new UserInviteMQMsg(bossId, invitee.getId(), 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, invitee.getId()); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + // 鐩存帴绮変笣閭�璇锋垚鍔� + userInviteMsgNotificationService.directInviteSuccess(bossId, invitee.getNickName(), + invitee.getPortrait(), new Date()); + + // 闂存帴绮変笣閭�璇锋垚鍔� + ThreeSale myBoss = threeSaleMapper.getMyBoss(bossId); + if (myBoss != null) { + UserInfo boss = userInfoService.selectByPKey(bossId); + userInviteMsgNotificationService.indirectInviteSuccess(bossId, 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); - producer.send(message); } /** @@ -590,7 +591,7 @@ public ThreeSale selectByWorkerId(Long workerId) { return threeSaleMapper.selectSuccessByWorkerId(workerId); } - + @Override public ThreeSale getNearRelationByBossIdAndWorkerId(Long bossId, Long workerId) { return threeSaleMapper.getNearRelationByBossIdAndWorkerId(bossId, workerId); @@ -607,6 +608,26 @@ } @Override + public List<ThreeSale> listFirstTeamByUndeleted(long start, int count, Long uid) { + return threeSaleMapper.listFirstTeamByUndeleted(start, count, uid); + } + + @Override + public long countFirstTeamByUndeleted(Long uid) { + return threeSaleMapper.countFirstTeamByUndeleted(uid); + } + + @Override + public List<ThreeSale> listSecondTeamByUndeleted(long start, int count, Long uid) { + return threeSaleMapper.listSecondTeamByUndeleted(start, count, uid); + } + + @Override + public long countSecondTeamByUndeleted(Long uid) { + return threeSaleMapper.countSecondTeamByUndeleted(uid); + } + + @Override public List<ThreeSale> listSecondTeam(long start, int count, Long uid, Integer state) { return threeSaleMapper.listSecondTeam(start, count, uid, state); } @@ -620,15 +641,80 @@ 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); } - + + @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); + } + + @Override + public void remvoeBreak(Long id, Long uid, Long tid) { + ThreeSale threeSale = threeSaleMapper.selectByPrimaryKey(id); + if (threeSale == null) { + return; + } + + Long workerId = threeSale.getWorker().getId(); + if (tid.longValue() != workerId.longValue()) { + return; + } + + Integer expire = threeSale.getExpire(); + if (expire == ThreeSale.EXPIRE_NORMAL) { + return; + } + + int upExpire = expire; + Long bossId = threeSale.getBoss().getId(); + if (bossId.longValue() == uid.longValue()) { // 鐩存帴绮変笣 + if (expire == ThreeSale.EXPIRE_BREAK_VIP_DEL4) { + upExpire = ThreeSale.EXPIRE_BREAK_VIP_DEL34; + } else { + upExpire = ThreeSale.EXPIRE_BREAK_VIP_DEL3; + } + } else { // 闂存帴绮変笣 + if (expire == ThreeSale.EXPIRE_BREAK_VIP_DEL3) { + upExpire = ThreeSale.EXPIRE_BREAK_VIP_DEL34; + } else { + upExpire = ThreeSale.EXPIRE_BREAK_VIP_DEL4; + } + } + + ThreeSale update = new ThreeSale(); + update.setId(id); + update.setExpire(upExpire); + update.setUpdateTime(java.lang.System.currentTimeMillis()); + threeSaleMapper.updateByPrimaryKeySelective(update); + } + } -- Gitblit v1.8.0