| 
					
				 | 
			
			
				@@ -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要移到外面做。 
			 |