| 
					
				 | 
			
			
				@@ -73,6 +73,7 @@ import com.github.binarywang.wxpay.config.WxPayConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.github.binarywang.wxpay.exception.WxPayException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.github.binarywang.wxpay.service.WxPayService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.Synchronized; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.aop.framework.AopContext; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,6 +99,7 @@ import static com.fs.store.constants.StoreConstants.DELIVERY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Slf4j 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -570,6 +572,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Long prescribe = carts.stream().filter(item -> item.getProductType()!=null&&item.getProductType()==2).count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(prescribe>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 storeOrder.setIsPrescribe(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                storeOrder.setIsPrescribe(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Integer flag=fsStoreOrderMapper.insertFsStoreOrder(storeOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (flag==0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -651,10 +655,15 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String payLimitTime = format.format(calendar.getTime() ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //删除推荐订单KEY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(StringUtils.isNotEmpty(param.getCreateOrderKey())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                redisCache.deleteObject("createOrderKey:"+param.getCreateOrderKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                redisCache.deleteObject("orderCarts:" +param.getCreateOrderKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                redisCache.deleteObject("createOrderMoney:" +param.getCreateOrderKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String createOrderKey = param.getCreateOrderKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(StringUtils.isNotEmpty(createOrderKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                redisCache.deleteObject("createOrderKey:"+ createOrderKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                redisCache.deleteObject("orderCarts:" + createOrderKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                redisCache.deleteObject("createOrderMoney:" + createOrderKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //货到付款自定义金额 key改为id存储 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                BigDecimal amount=redisCache.getCacheObject("createOrderAmount:"+createOrderKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                redisCache.deleteObject("createOrderAmount:" + createOrderKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                redisCache.setCacheObject("orderAmount:"+storeOrder.getId(), amount, 24, TimeUnit.HOURS);//物流代收自定义金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return R.ok().put("order", storeOrder).put("payLimitTime",payLimitTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1143,6 +1152,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Long prescribe = carts.stream().filter(item -> item.getProductType()!=null&&item.getProductType()==2).count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(prescribe>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 storeOrder.setIsPrescribe(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                storeOrder.setIsPrescribe(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Integer flag=fsStoreOrderMapper.insertFsStoreOrder(storeOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (flag==0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1349,8 +1360,14 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void createOmsOrder(Long orderId) throws ParseException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IErpOrderService erpOrderService = getErpService(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FsStoreOrder order=fsStoreOrderMapper.selectFsStoreOrderById(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FsErpConfig erpConfig = configUtil.getErpConfig(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> noErpCompany = erpConfig.getNoErpCompany(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (noErpCompany.contains(order.getCompanyId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("订单:{},相关公司不推送erp", order.getOrderCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IErpOrderService erpOrderService = getErpService(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(!StringUtils.isEmpty(order.getExtendOrderId())&&order.getStatus()!=1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1852,8 +1869,14 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public R updateExpress(FsStoreOrderExpressEditParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IErpOrderService erpOrderService = getErpService(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderById(param.getOrderId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FsErpConfig erpConfig = configUtil.getErpConfig(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> noErpCompany = erpConfig.getNoErpCompany(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (noErpCompany.contains(order.getCompanyId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("订单:{},相关公司不推送erp", order.getOrderCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return R.ok("订单:"+ order.getOrderCode()+"相关公司不推送erp"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IErpOrderService erpOrderService = getErpService(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(order.getStatus()!=1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return R.error("只有待发货状态可以同步"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1999,7 +2022,18 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public R updateSalseOrderMoney(String createOrderKey, BigDecimal money) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public R updateSalseOrderMoney(String createOrderKey, BigDecimal money,BigDecimal payAmount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //货到付款自定义金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (payAmount==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String configJson=configService.selectConfigByKey("store.config"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StoreConfig config=JSONUtil.toBean(configJson,StoreConfig.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Integer amount = config.getPayAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (amount!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                payAmount = new BigDecimal(amount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(money==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return R.error("请输入价格"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2027,6 +2061,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         redisCache.setCacheObject("createOrderMoney:"+createOrderKey, money, 24, TimeUnit.HOURS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        redisCache.setCacheObject("createOrderAmount:"+createOrderKey, payAmount, 24, TimeUnit.HOURS);//物流代收自定义金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return R.ok(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |