|  | @@ -56,9 +56,7 @@ import cn.newfeifan.mall.module.trade.service.price.TradePriceService;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.trade.service.price.bo.TradePriceCalculateReqBO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.trade.service.price.bo.TradePriceCalculateRespBO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.trade.service.price.calculator.TradePriceCalculatorHelper;
 | 
	
		
			
				|  |  | -import io.swagger.v3.oas.annotations.media.Schema;
 | 
	
		
			
				|  |  |  import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  | -import org.ehcache.shadow.org.terracotta.offheapstore.HashingMap;
 | 
	
		
			
				|  |  |  import org.jetbrains.annotations.NotNull;
 | 
	
		
			
				|  |  |  import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
	
		
			
				|  | @@ -375,7 +373,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        payPoints = 4;//为了测试方便,临时写死
 | 
	
		
			
				|  |  | +        payPoints = 3;//为了测试方便,临时写死
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //计算订单含积分的各项商品价格
 | 
	
		
			
				|  |  |          TradePriceCalculateRespBO tradePriceCalculateRespBO = calculatePriceWithPoints(userId, createReqVO);
 | 
	
	
		
			
				|  | @@ -393,7 +391,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |              itemPayPointsMap.put(orderItem.getSkuId(),orderItem);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        Integer allShopPainRMB = 0;//所有店铺订单实际支付的金额
 | 
	
		
			
				|  |  | +        Integer allShopPayRMB = 0;//所有店铺订单实际支付的金额
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Map<String,Object>> orderMapList = new ArrayList<Map<String,Object>>();
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -435,7 +433,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |                  Long skuId = orderItem.getSkuId();
 | 
	
		
			
				|  |  |                  TradePriceCalculateRespBO.OrderItem orderItemTmp = itemPayPointsMap.get(skuId);
 | 
	
		
			
				|  |  |                  orderItem.setPayPoints(orderItemTmp.getPayPoints()); //本商品使用积分
 | 
	
		
			
				|  |  | -                Integer payRmb = orderItem.getPrice()-orderItemTmp.getPayPoints();//本商品实付人民币
 | 
	
		
			
				|  |  | +                Integer payRmb = orderItem.getPrice()*orderItem.getCount()-orderItemTmp.getPayPoints();//本商品实付人民币
 | 
	
		
			
				|  |  |                  orderItem.setPayRmb(payRmb);//本商品实付人民币
 | 
	
		
			
				|  |  |                  orderItem.setPayPrice(payRmb);//本商品实付人民币
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -443,7 +441,9 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |                  shopPayPrice += payRmb;//一间店铺订单总支付价格
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            allShopPainRMB+=shopPayPrice;
 | 
	
		
			
				|  |  | +            shopPayPrice+=order.getDeliveryPrice();//店铺支付总金额,加上运费
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            allShopPayRMB +=shopPayPrice;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              Long merchantId = shopMerchantMap.get(shopId);//商户ID
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -473,8 +473,8 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |          List<TradeOrderItemDO> firstOrderItems = (List<TradeOrderItemDO>)(orderMapList.get(0).get("orderItems"));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          BeanUtils.copyProperties(firstOrder, virtualOrder);
 | 
	
		
			
				|  |  | -        virtualOrder.setPayPrice(allShopPainRMB);
 | 
	
		
			
				|  |  | -        virtualOrder.setPayRmb(allShopPainRMB);
 | 
	
		
			
				|  |  | +        virtualOrder.setPayPrice(allShopPayRMB);
 | 
	
		
			
				|  |  | +        virtualOrder.setPayRmb(allShopPayRMB);
 | 
	
		
			
				|  |  |          virtualOrder.setId(0l);//为了让payOrder中的tradeOrderId为0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 3. 生成预支付:生成支付订单记录
 | 
	
	
		
			
				|  | @@ -555,6 +555,9 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 | 
	
		
			
				|  |  |          // 创建支付单,用于后续的支付
 | 
	
		
			
				|  |  |          PayOrderCreateReqDTO payOrderCreateReqDTO = TradeOrderConvert.INSTANCE.convert(
 | 
	
		
			
				|  |  |                  order, orderItems, tradeOrderProperties);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        payOrderCreateReqDTO.setPrice(order.getPayRmb());//同步订单价格
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          Long payOrderId = payOrderApi.createOrder(payOrderCreateReqDTO);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // update By Ben  因为订单与支付订单表的关系已经变成多对一了,所以把下面为订单表设置支付订单ID要移到外面做。
 |