KKSU
2024-12-05 bfdf5fb50141c41246d26523d6e335223962fa94
fix(mall): 修复退款金额计算逻辑

- 修改了退款金额计算逻辑,优先考虑已完成的订单项
- 注释掉了原逻辑,以便后续参考或回滚
- 优化了代码结构,提高了可读性
1 files modified
14 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java 14 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -423,13 +423,21 @@
            //退款退款金额
            BigDecimal refundAmount = mallRefundEntity.getAmount();
            List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
            List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId);
            if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){
                if(1 == mallOrderItemListIng.size() ){
            if(CollUtil.isNotEmpty(mallOrderItemListOnly)){
                if(1==mallOrderItemListOnly.size()){
                    refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
                    log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
                }
            }
//            BigDecimal refundAmount = mallRefundEntity.getAmount();
//            List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
//            List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId);
//            if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){
//                if(1 == mallOrderItemListIng.size() ){
//                    refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
//                    log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
//                }
//            }
//            refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
            BigDecimal bb = new BigDecimal(100);
            int refundMoney = refundAmount.multiply(bb).intValue();