From 6b12805b53f7a6d131b5cffcf45e3b3c68336568 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 09 十二月 2024 10:35:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 35 insertions(+), 15 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java index 2efa1cb..a2d00ce 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java @@ -20,6 +20,7 @@ import java.time.ZoneId; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; @Service @@ -49,7 +50,7 @@ } @Override - public void calculationCommission(List<Long> orderIds) { + public void calculationCommission(Set<String> orderIds) { List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>() .in(OrderGood::getOrderId, orderIds)); @@ -77,32 +78,51 @@ throw new RuntimeException("获取用户信息失败"); } Long inviteUserId = appUser.getInviteUserId(); + // 直推上级用户 AppUser inviteUser = appUserClient.getAppUserById(inviteUserId); + + // 获取直帮上级用户 + R<AppUser> superiorLeaderR = appUserClient.getSuperiorLeader(appUserId); + if (!R.isSuccess(superiorLeaderR)) { + throw new RuntimeException("获取直帮上级信息失败"); + } + AppUser superiorLeader = superiorLeaderR.getData(); for (OrderGood og : v) {// 累计分销金额 - // 上级分销金额 - if (inviteUser != null){ + // 直推上级分佣金额 + Integer superiorType = og.getSuperiorType(); + if (superiorType == 1 && inviteUser != null){ + // 分佣金额 BigDecimal superiorSubcommission = og.getSuperiorSubcommission(); BigDecimal totalDistributionAmount = inviteUser.getTotalDistributionAmount(); totalDistributionAmount = totalDistributionAmount.add(superiorSubcommission); - // - Integer superiorType = og.getSuperiorType(); + inviteUser.setTotalDistributionAmount(totalDistributionAmount); + + // 分佣积分 Integer sharePoint = inviteUser.getSharePoint(); - if (superiorType == 1) { + Integer superiorRebatePoints = og.getSuperiorRebatePoints(); + sharePoint = sharePoint + superiorRebatePoints; + inviteUser.setSharePoint(sharePoint); + + appUserClient.editAppUserById(inviteUser); + }else + // 直帮上级分佣金额 + if (superiorType == 2 && superiorLeader != null){ + // 分佣金额 + BigDecimal superiorSubcommission = og.getSuperiorSubcommission(); + BigDecimal totalDistributionAmount = superiorLeader.getTotalDistributionAmount(); + totalDistributionAmount = totalDistributionAmount.add(superiorSubcommission); + superiorLeader.setTotalDistributionAmount(totalDistributionAmount); + + // 分佣积分 + Integer sharePoint = superiorLeader.getSharePoint(); Integer superiorRebatePoints = og.getSuperiorRebatePoints(); sharePoint = sharePoint + superiorRebatePoints; - } else if (superiorType == 2) { + superiorLeader.setSharePoint(sharePoint); - } else { - continue; + appUserClient.editAppUserById(superiorLeader); } - inviteUser.setTotalDistributionAmount(totalDistributionAmount); - inviteUser.setSharePoint(sharePoint); - } - - // 门店分销金额 - og.getBoundShopCharges(); } } -- Gitblit v1.7.1