| 
					
				 | 
			
			
				@@ -19,12 +19,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.databind.JsonNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fasterxml.jackson.databind.node.ObjectNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.qmrb.parking.fee.ParkingFeeCalculator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.converter.PayOrderConverter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.qmrb.system.mapper.CouponMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.mapper.OrderMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.pojo.entity.CarPark; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.pojo.entity.ContractPlaceNumberRel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.pojo.entity.Order; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.pojo.entity.ToolWxConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.qmrb.system.pojo.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.form.BarnRecordForm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.form.PayOrderForm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.query.PayOrderQuery; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,10 +32,7 @@ import com.qmrb.system.pojo.vo.PayOrderVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.vo.ReCreateOrderVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.vo.ToCreateOrderVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.pojo.vo.WxLoginVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.service.IBarnRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.service.ICarParkService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.service.OrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.qmrb.system.service.ToolWxConfigService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.qmrb.system.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.utils.WxPayUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.wxpayback.Enum.WxApiType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.qmrb.system.wxpayback.Enum.WxPayStatusEnum; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -64,6 +60,7 @@ import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.net.URISyntaxException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.nio.charset.StandardCharsets; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.security.PrivateKey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.format.DateTimeFormatter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.HashMap; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -100,6 +97,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ICarParkService carParkService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private CouponMapper couponMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private IContractPlaceNumberRelService contractPlaceNumberRelService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**分页查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,6 +322,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         BigDecimal amountsPayable = new BigDecimal(order.getAmountsPayable()).divide(new BigDecimal(100));  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         barnRecordForm.setReceivedAmount(barnRecordForm.getReceivedAmount().add(amountsPayable)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         barnRecordForm.setBillingStartTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 查询优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<Coupon> coupons = couponMapper.selectList(new LambdaQueryWrapper<Coupon>().eq(Coupon::getGoodsId, barnRecordForm.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        log.info("查询优惠券:{}",coupons.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(CollectionUtil.isNotEmpty(coupons)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Coupon coupon = coupons.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 1 扫码抵用金额 2扫码抵用时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if(1 == coupon.getCouponType()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                barnRecordForm.setDiscountAmount(coupon.getDenomination()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }else if(2 == coupon.getCouponType()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                barnRecordForm.setDiscountMinute(coupon.getDenomination()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 判断是否否存在包租协议 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Map<String,Object> map = contractPlaceNumberRelService.getDenomination(barnRecordForm.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if(CollectionUtil.isNotEmpty(map)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                Double denomination = (Double) map.get("denomination"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                BigDecimal discountMinute = new BigDecimal(denomination); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                barnRecordForm.setDiscountMinute(discountMinute); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         barnRecordService.updateForm(barnRecordForm.getId(),barnRecordForm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //支付成功 就返回true 
			 |