diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java index 7f38a0f..077be2c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java @@ -36,6 +36,14 @@ public class JDOrderProfitServiceImpl implements IJDOrderProfitService { boolean profitLocked = order.getProfitManual() != null && order.getProfitManual() == 1; boolean sellingLocked = order.getSellingPriceManual() != null && order.getSellingPriceManual() == 1; + // 已退款:不参与利润计算,自动利润清空(手填利润保留由调用方传入的 profit 与 profitManual 决定;此处仅清未锁定利润) + if (order.getIsRefunded() != null && order.getIsRefunded() == 1) { + if (!profitLocked) { + order.setProfit(null); + } + return; + } + if ("H-TF".equals(mark)) { if (!profitLocked) { // 与 F 单一致:利润 = 对客实收 − (下单付款 − 后返)。列表未填售价时默认直款并从型号配置取价。 @@ -141,6 +149,9 @@ public class JDOrderProfitServiceImpl implements IJDOrderProfitService { if (order == null) { continue; } + if (order.getIsRefunded() != null && order.getIsRefunded() == 1) { + continue; + } if (order.getProfitManual() != null && order.getProfitManual() == 1) { continue; }