|  | @@ -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         订单项
 |