Commit d844f06f5c2fb305a28c117f1a0721123426b937

Authored by YunaiV
1 parent 67426d72

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

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> { @@ -13,7 +13,7 @@ public interface AfterSaleLogMapper extends BaseMapperX<AfterSaleLogDO> {
13 default List<AfterSaleLogDO> selectListByAfterSaleId(Long afterSaleId) { 13 default List<AfterSaleLogDO> selectListByAfterSaleId(Long afterSaleId) {
14 return selectList(new LambdaQueryWrapper<AfterSaleLogDO>() 14 return selectList(new LambdaQueryWrapper<AfterSaleLogDO>()
15 .eq(AfterSaleLogDO::getAfterSaleId, afterSaleId) 15 .eq(AfterSaleLogDO::getAfterSaleId, afterSaleId)
16 - .orderByDesc(AfterSaleLogDO::getCreateTime)); 16 + .orderByDesc(AfterSaleLogDO::getId));
17 } 17 }
18 18
19 } 19 }
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 { @@ -79,7 +79,7 @@ public class AfterSaleLogAspect {
79 Integer beforeStatus = BEFORE_STATUS.get(); 79 Integer beforeStatus = BEFORE_STATUS.get();
80 Integer afterStatus = AFTER_STATUS.get(); 80 Integer afterStatus = AFTER_STATUS.get();
81 Map<String, Object> exts = ObjectUtil.defaultIfNull(EXTS.get(), emptyMap()); 81 Map<String, Object> exts = ObjectUtil.defaultIfNull(EXTS.get(), emptyMap());
82 - String content = StrUtil.format(afterSaleLog.operateType().getContent(), exts); 82 + String content = StrUtil.format(operateType.getContent(), exts);
83 83
84 // 2. 记录日志 84 // 2. 记录日志
85 AfterSaleLogCreateReqBO createBO = new AfterSaleLogCreateReqBO() 85 AfterSaleLogCreateReqBO createBO = new AfterSaleLogCreateReqBO()
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 { @@ -258,7 +258,7 @@ public class TradePriceCalculatorHelper {
258 TradeOrderItemDO orderItem = items.get(i); 258 TradeOrderItemDO orderItem = items.get(i);
259 int partPrice; 259 int partPrice;
260 if (i < items.size() - 1) { // 减一的原因,是因为拆分时,如果按照比例,可能会出现.所以最后一个,使用反减 260 if (i < items.size() - 1) { // 减一的原因,是因为拆分时,如果按照比例,可能会出现.所以最后一个,使用反减
261 - partPrice = (int) (price * (1.0D * orderItem.getPrice() / total)); 261 + partPrice = (int) (price * (1.0D * orderItem.getPayPrice() / total));
262 remainPrice -= partPrice; 262 remainPrice -= partPrice;
263 } else { 263 } else {
264 partPrice = remainPrice; 264 partPrice = remainPrice;