From ff55c5334fc35594d2f0c680c29afd309cf367a2 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 22 May 2025 10:51:36 +0800 Subject: [PATCH] feat(mall): 添加商品佣金设置并调整相关功能 --- src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java index ffd0c68..31a2347 100644 --- a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java @@ -42,6 +42,7 @@ public class VipCommonServiceImpl implements IVipCommonService { private final MallOrderInfoMapper mallOrderInfoMapper; + private final MallOrderItemMapper mallOrderItemMapper; private final IMallVipConfigService mallVipConfigService; private final IMallMoneyFlowService mallMoneyFlowService; private final IApiMallMemberWalletService mallMemberWalletService; @@ -298,15 +299,24 @@ return; } // 计算返佣金额 + List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectList( + new LambdaQueryWrapper<MallOrderItem>() + .eq(MallOrderItem::getOrderId, orderId) + .eq(MallOrderItem::getState, 1) + ); + if(CollUtil.isEmpty(mallOrderItems)){ + return; + } + BigDecimal amount = mallOrderItems.stream().map(MallOrderItem::getLevelOnePrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal returnPercent = happySaleLevel.getReturnPercent(); - BigDecimal multiply = mallOrderInfo.getAmount().multiply(returnPercent).setScale(2, RoundingMode.HALF_DOWN); + BigDecimal multiply = amount.multiply(returnPercent).setScale(2, RoundingMode.HALF_DOWN); log.info("团长获得返佣:{}",multiply); // 如果返佣金额小于等于0,则直接返回 if(BigDecimal.ZERO.compareTo(multiply) >=0){ return; } // 如果返佣金额大于等于订单金额,则直接返回 - if(multiply.compareTo(mallOrderInfo.getAmount()) >= 0){ + if(multiply.compareTo(amount) > 0){ return; } // 记录团长获得返佣 -- Gitblit v1.9.1