Browse Source

fix(trade): 修复订单项价格计算逻辑,分摊比例修改成用子订单支付金额来计算

YunaiV 4 months ago
parent
commit
d844f06f5c

+ 1 - 1
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/aftersale/AfterSaleLogMapper.java

@@ -13,7 +13,7 @@ public interface AfterSaleLogMapper extends BaseMapperX<AfterSaleLogDO> {
     default List<AfterSaleLogDO> selectListByAfterSaleId(Long afterSaleId) {
         return selectList(new LambdaQueryWrapper<AfterSaleLogDO>()
                 .eq(AfterSaleLogDO::getAfterSaleId, afterSaleId)
-                .orderByDesc(AfterSaleLogDO::getCreateTime));
+                .orderByDesc(AfterSaleLogDO::getId));
     }
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/framework/aftersale/core/aop/AfterSaleLogAspect.java

@@ -79,7 +79,7 @@ public class AfterSaleLogAspect {
             Integer beforeStatus = BEFORE_STATUS.get();
             Integer afterStatus = AFTER_STATUS.get();
             Map<String, Object> exts = ObjectUtil.defaultIfNull(EXTS.get(), emptyMap());
-            String content = StrUtil.format(afterSaleLog.operateType().getContent(), exts);
+            String content = StrUtil.format(operateType.getContent(), exts);
 
             // 2. 记录日志
             AfterSaleLogCreateReqBO createBO = new AfterSaleLogCreateReqBO()

+ 1 - 1
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePriceCalculatorHelper.java

@@ -258,7 +258,7 @@ public class TradePriceCalculatorHelper {
             TradeOrderItemDO orderItem = items.get(i);
             int partPrice;
             if (i < items.size() - 1) { // 减一的原因,是因为拆分时,如果按照比例,可能会出现.所以最后一个,使用反减
-                partPrice = (int) (price * (1.0D * orderItem.getPrice() / total));
+                partPrice = (int) (price * (1.0D * orderItem.getPayPrice() / total));
                 remainPrice -= partPrice;
             } else {
                 partPrice = remainPrice;