|
@@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert;
|
|
|
import cn.newfeifan.mall.framework.common.util.collection.CollectionUtils;
|
|
|
import cn.newfeifan.mall.module.product.api.sku.dto.ProductSkuRespDTO;
|
|
|
import cn.newfeifan.mall.module.product.api.spu.dto.ProductSpuRespDTO;
|
|
|
-import cn.newfeifan.mall.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO;
|
|
|
import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderItemDO;
|
|
|
import cn.newfeifan.mall.module.trade.enums.order.TradeOrderTypeEnum;
|
|
|
import cn.newfeifan.mall.module.trade.service.price.bo.TradePriceCalculateReqBO;
|
|
@@ -20,7 +19,6 @@ import static java.util.Collections.singletonList;
|
|
|
|
|
|
/**
|
|
|
* {@link TradePriceCalculator} 的工具类
|
|
|
- *
|
|
|
* 主要实现对 {@link TradePriceCalculateRespBO} 计算结果的操作
|
|
|
*
|
|
|
* @author 非繁源码
|
|
@@ -50,11 +48,18 @@ public class TradePriceCalculatorHelper {
|
|
|
// 商品项
|
|
|
TradePriceCalculateRespBO.OrderItem orderItem = new TradePriceCalculateRespBO.OrderItem();
|
|
|
result.getItems().add(orderItem);
|
|
|
+
|
|
|
+ // sku 价格
|
|
|
+ if(!spu.getHighPrecision()){
|
|
|
+ orderItem.setPrice(sku.getPrice()).setPayPrice(sku.getPrice() * item.getCount())
|
|
|
+ .setDiscountPrice(0).setDeliveryPrice(0).setCouponPrice(0).setPointPrice(0).setVipPrice(0);
|
|
|
+ }else{
|
|
|
+ orderItem.setPrice(sku.getHighPrecisionPrice().intValue()).setPayPrice((int)(sku.getHighPrecisionPrice().doubleValue() * item.getCount()))
|
|
|
+ .setDiscountPrice(0).setDeliveryPrice(0).setCouponPrice(0).setPointPrice(0).setVipPrice(0);
|
|
|
+ }
|
|
|
+
|
|
|
orderItem.setSpuId(sku.getSpuId()).setSkuId(sku.getId())
|
|
|
.setCount(item.getCount()).setCartId(item.getCartId()).setSelected(item.getSelected());
|
|
|
- // sku 价格
|
|
|
- orderItem.setPrice(sku.getPrice()).setPayPrice(sku.getPrice() * item.getCount())
|
|
|
- .setDiscountPrice(0).setDeliveryPrice(0).setCouponPrice(0).setPointPrice(0).setVipPrice(0);
|
|
|
// sku 信息
|
|
|
orderItem.setPicUrl(sku.getPicUrl()).setProperties(sku.getProperties())
|
|
|
.setWeight(sku.getWeight()).setVolume(sku.getVolume());
|
|
@@ -145,7 +150,6 @@ public class TradePriceCalculatorHelper {
|
|
|
|
|
|
/**
|
|
|
* 重新计算每个订单项的支付金额
|
|
|
- *
|
|
|
* 【目前主要是单测使用】
|
|
|
*
|
|
|
* @param orderItems 订单项数组
|
|
@@ -249,7 +253,6 @@ public class TradePriceCalculatorHelper {
|
|
|
|
|
|
/**
|
|
|
* 计算订单调价价格分摊
|
|
|
- *
|
|
|
* 和 {@link #dividePrice(List, Integer)} 逻辑一致,只是传入的是 TradeOrderItemDO 对象
|
|
|
*
|
|
|
* @param items 订单项
|