From f0d06601a6be8c09ef5e8e7e76666cb1e8ef72a5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 20 三月 2020 16:41:55 +0800 Subject: [PATCH] 团队补贴按照下单时间兼容 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java | 64 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 24 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java index 30be748..dbbece5 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java @@ -136,6 +136,8 @@ throw new CommonOrderException(1, "璁㈠崟涓嶅瓨鍦�"); } + Date orderTime = commonOrderList.get(0).getThirdCreateTime(); + Long sourceUid = commonOrderList.get(0).getUserInfo().getId(); List<ThreeSale> bossList = threeSaleSerivce.getMyBossDeepList(sourceUid, 4); @@ -147,7 +149,8 @@ for (int i = 2; i < bossList.size(); i++) { rewardUid.add(bossList.get(i).getBoss().getId()); } - // 鍒犻櫎鏈ˉ璐寸敤鎴风殑涓嬬骇 + + // 鍒犻櫎琛ヨ创鐢ㄦ埛鐨勪笅绾х敤鎴� for (int i = 0; i < bossList.size(); i++) { if (bossList.get(i).getBoss().getId().longValue() == subsidy.getUid()) { break; @@ -157,30 +160,36 @@ } } - // 鑾峰彇琛ヨ创鐢ㄦ埛鐨勭洿鎺ヤ笂绾� - if (bossList.size() > 1 && bossList.get(1).getSucceedTime() < subsidy.getCreateTime().getTime()) { - UserInfo boss = bossList.get(1).getBoss(); - UserLevelEnum userLevel = userLevelManager.getUserLevel(boss.getId()); - BigDecimal rewardMoney = orderHongBaoMoneyComputeService.computeFirstTeamReward(subsidy.getMoney(), - subsidy.getCreateTime(), userLevel); + for (int i = 1; i < bossList.size(); i++) { + if (rewardUid.contains(bossList.get(i).getBoss().getId())) { + UserInfo boss = bossList.get(i).getBoss(); + if (i == 1) { + if (bossList.get(i).getSucceedTime() < subsidy.getCreateTime().getTime()) { + UserLevelEnum userLevel = userLevelManager.getUserLevel(boss.getId(), orderTime); + BigDecimal rewardMoney = orderHongBaoMoneyComputeService + .computeFirstTeamReward(subsidy.getMoney(), subsidy.getCreateTime(), userLevel); - if (rewardMoney != null) { - // 娣诲姞濂栧姳 - orderTeamRewardService.addOrUpdate(subsidy, rewardMoney, boss.getId(), OrderTeamReward.LEVEL_ONE); - } + if (rewardMoney != null) { + // 娣诲姞濂栧姳 + orderTeamRewardService.addOrUpdate(subsidy, rewardMoney, boss.getId(), + OrderTeamReward.LEVEL_ONE); + } + } + } else if (i == 2) { + if (bossList.get(i).getSucceedTime() < subsidy.getCreateTime().getTime()) { + UserLevelEnum userLevel = userLevelManager.getUserLevel(boss.getId(), orderTime); + BigDecimal rewardMoney = orderHongBaoMoneyComputeService + .computeSecondTeamReward(subsidy.getMoney(), subsidy.getCreateTime(), userLevel); - // 鑾峰彇琛ヨ创鐨勯棿鎺ヤ笂绾� - if (bossList.size() > 2 && bossList.get(2).getSucceedTime() < subsidy.getCreateTime().getTime()) { - boss = bossList.get(2).getBoss(); - userLevel = userLevelManager.getUserLevel(boss.getId()); - rewardMoney = orderHongBaoMoneyComputeService.computeSecondTeamReward(subsidy.getMoney(), - subsidy.getCreateTime(), userLevel); - if (rewardMoney != null) { - // 娣诲姞濂栧姳 - orderTeamRewardService.addOrUpdate(subsidy, rewardMoney, boss.getId(), OrderTeamReward.LEVEL_TWO); + if (rewardMoney != null) { + // 娣诲姞濂栧姳 + orderTeamRewardService.addOrUpdate(subsidy, rewardMoney, boss.getId(), + OrderTeamReward.LEVEL_TWO); + } + } } - } + } } } @@ -191,7 +200,9 @@ if (list != null && list.size() > 0) { // 蹇呴』鏄嚜璐鍗曟墠杩斿埄 HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId()); - if (parent != null && parent.getUrank() != UserLevelEnum.superVIP.getOrderRank()) {// 涓嶆槸瓒呯骇浼氬憳鐨勮嚜璐�/鍒嗕韩鎵嶈ˉ璐� + if (parent != null && parent.getUrank() != UserLevelEnum.superVIP.getOrderRank() + && (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {// 涓嶆槸瓒呯骇浼氬憳鐨勮嚜璐�/鍒嗕韩鎵嶈ˉ璐� + boolean isShare = (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS); List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId); if (orderList == null || orderList.size() == 0) @@ -249,7 +260,7 @@ // 璁$畻濂栧姳閲� for (Iterator<Long> its = uidHongBaoMap.keySet().iterator(); its.hasNext();) { Long uid = its.next(); - UserLevelEnum userLevel = userLevelManager.getUserLevel(uid); + UserLevelEnum userLevel = userLevelManager.getUserLevel(uid, placeOrderTime); int type = uidHongBaoMap.get(uid); if (type == HongBaoV2.TYPE_YIJI || type == HongBaoV2.TYPE_ERJI) { @@ -273,7 +284,7 @@ else orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_TWO); // 浼氬憳鎵嶈兘琛ヨ创 - if (userLevel != UserLevelEnum.daRen) + if (userLevel != UserLevelEnum.daRen) { try { addOrderSubsidy(orderSubsidy); } catch (OrderTeamRewardException e) { @@ -281,6 +292,11 @@ } catch (CommonOrderException e) { throw new InviteOrderSubsidyException(e.getCode(), e.getMsg()); } + // 鍒嗕韩璧氫笉鑳戒娇鐢ㄨ繑鍒╁鍔卞埜锛屼笉鐢ㄧ瓑寰�5澶� + if (isShare) { + validByOrderIdAndSourceType(orderId, sourceType); + } + } } } } -- Gitblit v1.8.0