From 4c62b64cc158ed07f18ae7060dae71f9d1e3d9fd Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 10 二月 2025 13:57:37 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java              |    5 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                |  192 +++++++++++++++++---------------
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java                            |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                 |    4 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java    |   76 ++++++++----
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java                   |   13 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java              |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                   |   22 +++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java   |    2 
 10 files changed, 200 insertions(+), 120 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index bd97a7c..038ba04 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -182,6 +182,11 @@
             }
     
             @Override
+            public R<List<TChargingOrder>> getCarChargingOrderByPlateNum(String plateNum, String startTime, String endTime) {
+                return R.fail("根据车牌号查询指定时间范围内的数据失败:" + throwable.getMessage());
+            }
+    
+            @Override
             public R addTripartitePlatformOrder(AddTripartitePlatformOrder query) {
                 return R.fail("添加三方平台充电订单数据失败:" + throwable.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
index ea681f5..51e9e2b 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -249,6 +249,19 @@
                                                 @RequestParam("endTime") String endTime);
     
     
+    /**
+     * 根据车牌号查询指定时间范围内的数据
+     * @param plateNum
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @PostMapping("/t-charging-order/getCarChargingOrderByPlateNum")
+    R<List<TChargingOrder>> getCarChargingOrderByPlateNum(@RequestParam("plateNum") String plateNum, @RequestParam("startTime") String startTime,
+                                                @RequestParam("endTime") String endTime);
+    
+    
+    
     
     /**
      * 添加三方平台充电订单数据
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
index 68c1847..8980bbd 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
@@ -29,6 +29,8 @@
     private Long appUserId;
     @ApiModelProperty(value = "用户车辆id")
     private Long appUserCarId;
+    @ApiModelProperty(value = "车牌号")
+    private String plateNum;
     @ApiModelProperty(value = "充电枪id")
     private Integer chargingGunId;
     @ApiModelProperty(value = "订单编号")
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
index ecf60cb..b2a508f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -455,6 +455,8 @@
                         settlementExportVO.setVehicleBrand(data5.get(0).getVehicleBrand());
                     }
 
+                }else{
+                    settlementExportVO.setLicensePlate(chargingOrder.getPlateNum());
                 }
                 settlementExportVO.setSiteCode(data3.get(0).getCode());
                 settlementExportVO.setSiteName(data3.get(0).getName());
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index 2372b5f..2dca847 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -608,6 +608,8 @@
 					if(null != appUserCarId){
 						TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0);
 						gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate());
+					}else{
+						gunMonitoring.setLicensePlate(chargingOrder.getPlateNum());
 					}
 
 					UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
index 75440f0..f5278a4 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
@@ -9,6 +9,7 @@
 import com.ruoyi.chargingPile.api.model.TParkingLot;
 import com.ruoyi.chargingPile.api.model.TParkingRecord;
 import com.ruoyi.chargingPile.api.vo.GetParkingRecord;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.integration.barrierGate.model.CloudParkingOrder;
 import com.ruoyi.integration.barrierGate.model.CloudParkingSpace;
 import com.ruoyi.integration.barrierGate.model.OfflineParkingOrder;
@@ -98,24 +99,33 @@
 		parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
 		parkingRecord.setTitle("【停车缴费】" + payment + "元");
 		TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(parkingRecord.getLicensePlate()).getData();
+		TChargingOrder chargingOrder = null;
+		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 		if(null != appUserCar){
-			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 			List<TChargingOrder> data = chargingOrderClient.getCarChargingOrder(appUserCar.getId(), parkingRecord.getInParkingTime().format(formatter), LocalDateTime.now().format(formatter)).getData();
 			if(null != data && data.size() > 0){
-				TChargingOrder chargingOrder = data.get(0);
-				parkingRecord.setAppUserId(chargingOrder.getAppUserId());
-				parkingRecord.setChargingOrderId(chargingOrder.getId());
-				TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
-				parkingRecord.setPhone(appUser.getPhone());
-				parkingRecord.setFreeDuration(parkingLot.getChargeFreeDuration());
-				long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
-				parkingRecord.setTimeoutAmount(m > parkingLot.getChargeFreeDuration() ? new BigDecimal(m - parkingLot.getChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
-				
-			}else{
-				parkingRecord.setFreeDuration(parkingLot.getNonChargeFreeDuration());
-				long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
-				parkingRecord.setTimeoutAmount(m > parkingLot.getNonChargeFreeDuration() ? new BigDecimal(m - parkingLot.getNonChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
+				chargingOrder = data.get(0);
 			}
+		}else if(StringUtils.isNotEmpty(parkingRecord.getLicensePlate())){
+			List<TChargingOrder> data = chargingOrderClient.getCarChargingOrderByPlateNum(parkingRecord.getLicensePlate(), parkingRecord.getInParkingTime().format(formatter), LocalDateTime.now().format(formatter)).getData();
+			if(null != data && data.size() > 0){
+				chargingOrder = data.get(0);
+			}
+		}
+		
+		
+		if(null != chargingOrder){
+			parkingRecord.setAppUserId(chargingOrder.getAppUserId());
+			parkingRecord.setChargingOrderId(chargingOrder.getId());
+			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
+			parkingRecord.setPhone(appUser.getPhone());
+			parkingRecord.setFreeDuration(parkingLot.getChargeFreeDuration());
+			long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
+			parkingRecord.setTimeoutAmount(m > parkingLot.getChargeFreeDuration() ? new BigDecimal(m - parkingLot.getChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
+		}else{
+			parkingRecord.setFreeDuration(parkingLot.getNonChargeFreeDuration());
+			long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
+			parkingRecord.setTimeoutAmount(m > parkingLot.getNonChargeFreeDuration() ? new BigDecimal(m - parkingLot.getNonChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
 		}
 		parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
 		parkingRecordClient.updateParkingRecord(parkingRecord);
@@ -174,25 +184,35 @@
 		parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
 		parkingRecord.setTitle("【停车缴费】" + payment + "元");
 		TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(parkingRecord.getLicensePlate()).getData();
+		TChargingOrder chargingOrder = null;
+		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 		if(null != appUserCar){
-			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 			List<TChargingOrder> data = chargingOrderClient.getCarChargingOrder(appUserCar.getId(), parkingRecord.getInParkingTime().format(formatter), LocalDateTime.now().format(formatter)).getData();
 			if(null != data && data.size() > 0){
-				TChargingOrder chargingOrder = data.get(0);
-				parkingRecord.setAppUserId(chargingOrder.getAppUserId());
-				parkingRecord.setChargingOrderId(chargingOrder.getId());
-				TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
-				parkingRecord.setPhone(appUser.getPhone());
-				parkingRecord.setFreeDuration(parkingLot.getChargeFreeDuration());
-				long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
-				parkingRecord.setTimeoutAmount(m > parkingLot.getChargeFreeDuration() ? new BigDecimal(m - parkingLot.getChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
-				
-			}else{
-				parkingRecord.setFreeDuration(parkingLot.getNonChargeFreeDuration());
-				long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
-				parkingRecord.setTimeoutAmount(m > parkingLot.getNonChargeFreeDuration() ? new BigDecimal(m - parkingLot.getNonChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
+				chargingOrder = data.get(0);
+			}
+		}else if(StringUtils.isNotEmpty(parkingRecord.getLicensePlate())){
+			List<TChargingOrder> data = chargingOrderClient.getCarChargingOrderByPlateNum(parkingRecord.getLicensePlate(), parkingRecord.getInParkingTime().format(formatter), LocalDateTime.now().format(formatter)).getData();
+			if(null != data && data.size() > 0){
+				chargingOrder = data.get(0);
 			}
 		}
+		
+		if(null != chargingOrder){
+			parkingRecord.setAppUserId(chargingOrder.getAppUserId());
+			parkingRecord.setChargingOrderId(chargingOrder.getId());
+			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
+			parkingRecord.setPhone(appUser.getPhone());
+			parkingRecord.setFreeDuration(parkingLot.getChargeFreeDuration());
+			long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
+			parkingRecord.setTimeoutAmount(m > parkingLot.getChargeFreeDuration() ? new BigDecimal(m - parkingLot.getChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
+			
+		}else{
+			parkingRecord.setFreeDuration(parkingLot.getNonChargeFreeDuration());
+			long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
+			parkingRecord.setTimeoutAmount(m > parkingLot.getNonChargeFreeDuration() ? new BigDecimal(m - parkingLot.getNonChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
+		}
+		
 		parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
 		parkingRecordClient.updateParkingRecord(parkingRecord);
 	}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index 3e23724..e8ca7ea 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -251,8 +251,6 @@
                 tChargingOrderExport.setCarNumber(data1.get(0).getLicensePlate());
                 tChargingOrderExport.setCarType(data1.get(0).getVehicleModel());
                 tChargingOrderExport.setCarBrand(data1.get(0).getVehicleBrand());
-
-
             }
             tChargingOrderExport.setOrderCode(chargingOrderListVO.getCode());
             tChargingOrderExport.setIsSingle("是");
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 64340cf..ef31a30 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -361,6 +361,8 @@
         if (byId.getAppUserCarId()!=null) {
             List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData();
             payOrderChargingInfo.setCarNum(data3.get(0).getLicensePlate());
+        }else{
+            payOrderChargingInfo.setCarNum(byId.getPlateNum());
         }
         payOrderChargingInfo.setTChargingOrder(byId);
 
@@ -371,6 +373,8 @@
             carid.add(byId.getAppUserCarId());
             R<List<TAppUserCar>> carByIds = appUserCarClient.getCarByIds(carid);
             payOrderChargingInfo.setCarNum(carByIds.getData().get(0).getLicensePlate());
+        }else{
+            payOrderChargingInfo.setCarNum(byId.getPlateNum());
         }
         payOrderChargingInfo.setStartTime(byId.getStartTime());
         payOrderChargingInfo.setEndTime(byId.getEndTime());
@@ -515,6 +519,8 @@
                 chargingOrderInfoVO.setVehicleModel(data.getVehicleModel());
                 chargingOrderInfoVO.setVehicleUse(data.getVehicleUse());
             }
+        }else{
+            chargingOrderInfoVO.setLicensePlate(byId.getPlateNum());
         }
         // 时段总服务费
         List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list();
@@ -2096,6 +2102,22 @@
     
     
     /**
+     * 根据车牌号查询指定时间范围内的数据
+     * @param plateNum
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @PostMapping("/getCarChargingOrderByPlateNum")
+    public R<List<TChargingOrder>> getCarChargingOrderByPlateNum(@RequestParam("plateNum") String plateNum, @RequestParam("startTime") String startTime,
+                                                          @RequestParam("endTime") String endTime){
+        List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getPlateNum, plateNum).eq(TChargingOrder::getDelFlag, 0)
+                .in(TChargingOrder::getStatus, Arrays.asList(4, 5)).between(TChargingOrder::getStartTime, startTime, endTime));
+        return R.ok(list);
+    }
+    
+    
+    /**
      * 添加三方平台充电订单数据
      * @return
      */
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index a20b110..11bcf51 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -316,6 +316,8 @@
                         tChargingOrder.setLicensePlate(data4.get(0).getLicensePlate());
                         tChargingOrder.setVehicleModel(data4.get(0).getVehicleModel());
                     }
+                }else{
+                    tChargingOrder.setLicensePlate(tChargingOrder.getPlateNum());
                 }
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付结算金额
@@ -756,6 +758,8 @@
                         tChargingOrder.setLicensePlate(data4.get(0).getLicensePlate());
                         tChargingOrder.setVehicleModel(data4.get(0).getVehicleModel());
                     }
+                }else{
+                    tChargingOrder.setLicensePlate(tChargingOrder.getPlateNum());
                 }
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 if ( tChargingOrder.getPaymentAmount()!=null){
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 6268f1e..9e68b8c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -276,6 +276,8 @@
 			}else{
 				myChargingOrderInfo.setLicensePlate("无");
 			}
+		}else{
+			myChargingOrderInfo.setLicensePlate(chargingOrder.getPlateNum());
 		}
 		myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
 		myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
@@ -459,9 +461,11 @@
 		chargingOrder.setOrderClassification(1);
 		chargingOrder.setAppUserId(userId);
 		chargingOrder.setAppUserCarId(addChargingOrder.getAppUserCarId());
-		TAppUserCar userCar = appUserCarClient.getCarById(addChargingOrder.getAppUserCarId().toString()).getData();
-		if(null != userCar){
-			chargingOrder.setPlateNum(userCar.getLicensePlate());
+		if(null != addChargingOrder.getAppUserCarId()){
+			TAppUserCar userCar = appUserCarClient.getCarById(addChargingOrder.getAppUserCarId().toString()).getData();
+			if(null != userCar){
+				chargingOrder.setPlateNum(userCar.getLicensePlate());
+			}
 		}
 		TChargingGun tChargingGun = chargingGunClient.getChargingGunById(addChargingOrder.getId()).getData();
 		TChargingPile chargingPile = chargingPileClient.getChargingPileById(tChargingGun.getChargingPileId()).getData();
@@ -1345,6 +1349,8 @@
 					if (!data1.isEmpty()){
 						chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
 					}
+				}else{
+					chargingOrderVO.setLicensePlate(chargingOrderVO.getPlateNum());
 				}
 
 			}
@@ -1612,6 +1618,8 @@
 								chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate());
 							}
 						}
+					}else{
+						chargingOrderListVO.setLicensePlate(chargingOrderListVO.getPlateNum());
 					}
 					chargingOrderListVO.setPhone(data3.getPhone());
 				}
@@ -1881,7 +1889,11 @@
 
 		if (chargingOrder.getAppUserCarId()!=null){
 			List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(chargingOrder.getAppUserCarId())).getData();
-			if (data3!=null && !data3.isEmpty())chargingOrderListInfoVO.setLicensePlate(data3.get(0).getLicensePlate());
+			if (data3!=null && !data3.isEmpty()) {
+				chargingOrderListInfoVO.setLicensePlate(data3.get(0).getLicensePlate());
+			}
+		}else{
+			chargingOrderListInfoVO.setLicensePlate(chargingOrder.getPlateNum());
 		}
 		chargingOrderListInfoVO.setStartTime(chargingOrder.getStartTime());
 		chargingOrderListInfoVO.setEndTime(chargingOrder.getEndTime());
@@ -2318,92 +2330,96 @@
 		chargingGun.setChargingPower(BigDecimal.ZERO);
 		chargingGunClient.updateChargingGunById(chargingGun);
 		//推送状态给三方平台
-		tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
+		if(2 == chargingOrder.getOrderSource()){
+			tcecClient.pushChargingGunStatus(chargingGun.getId(), chargingGun.getStatus());
+		}
 		
 		//添加积分
-		TIntegralRule integralRule = integralRuleClient.getSet().getData();
-		if(null != integralRule){
-			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
-			Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1");
-			Integer integral = chargingOrder.getServiceCharge().intValue() * num1;
-			if(null != appUser.getVipId()){
-				TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
-				Integer doubleIntegration = vip.getDoubleIntegration();
-				//双倍积分
-				if(1 == doubleIntegration){
-					integral *= 2;
+		if(1 == chargingOrder.getOrderSource()){
+			TIntegralRule integralRule = integralRuleClient.getSet().getData();
+			if(null != integralRule){
+				TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
+				Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1");
+				Integer integral = chargingOrder.getServiceCharge().intValue() * num1;
+				if(null != appUser.getVipId()){
+					TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+					Integer doubleIntegration = vip.getDoubleIntegration();
+					//双倍积分
+					if(1 == doubleIntegration){
+						integral *= 2;
+					}
+				}
+				
+				if(integral > 0){
+					TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
+					appUserIntegralChange.setAppUserId(appUser.getId());
+					appUserIntegralChange.setChangeType(2);
+					appUserIntegralChange.setHistoricalIntegral(appUser.getPoints());
+					appUser.setPoints(appUser.getPoints() + integral);
+					appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
+					appUserIntegralChange.setCreateTime(LocalDateTime.now());
+					appUserIntegralChange.setOrderCode(chargingOrder.getCode());
+					appUserIntegralChange.setExtension(chargingOrder.getId().toString());
+					appUserClient.updateAppUser(appUser);
+					appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 				}
 			}
 			
-			if(integral > 0){
-				TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
-				appUserIntegralChange.setAppUserId(appUser.getId());
-				appUserIntegralChange.setChangeType(2);
-				appUserIntegralChange.setHistoricalIntegral(appUser.getPoints());
-				appUser.setPoints(appUser.getPoints() + integral);
-				appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
-				appUserIntegralChange.setCreateTime(LocalDateTime.now());
-				appUserIntegralChange.setOrderCode(chargingOrder.getCode());
-				appUserIntegralChange.setExtension(chargingOrder.getId().toString());
-				appUserClient.updateAppUser(appUser);
-				appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
-			}
-		}
-
-		//计算用户标签
-		editUserTag(chargingOrder);
-		//用户推荐奖励
-		referralReward(chargingOrder);
-		
-		//开始构建退款费用
-		refundAmount = refundAmount.setScale(2, RoundingMode.HALF_EVEN);
-		if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
-			Integer rechargePaymentType = chargingOrder.getRechargePaymentType();
-			//构建退款明细
-			TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
-			chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-			chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
-			chargingOrderRefund.setRefundAmount(refundAmount);
-			chargingOrderRefund.setRefundStatus(1);
-			chargingOrderRefund.setPayType(rechargePaymentType);
-			chargingOrderRefund.setRefundStatus(1);
-			chargingOrderRefund.setCode(chargingOrder.getCode());
-			chargingOrderRefund.setRefundTitle("充电完成退款");
-			chargingOrderRefund.setRefundContent("充电完成退款");
-			chargingOrderRefund.setRefundReason("充电完成退款");
-			chargingOrderRefund.setRefundRemark("实际充电消费金额:" + chargingOrder.getPaymentAmount());
-			chargingOrderRefund.setRefundTotalAmount(refundAmount);
-			chargingOrderRefund.setPayAmount(rechargeAmount);
-			if(1 == rechargePaymentType){
-				WxPaymentRefundModel model = new WxPaymentRefundModel();
-				model.setOut_trade_no(chargingOrder.getCode());
-				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
-				model.setReason("充电完成退款");
-				model.setNotify_url("/payment/wx/refund/notify");
-				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
-				amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue());
-				amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
-				amount.setCurrency("CNY");
-				model.setAmount(amount);
-				R<String> orderR = wxPaymentClient.refundOrderR(model);
-				if(200 == orderR.getCode()){
-					chargingOrderRefundService.save(chargingOrderRefund);
-				}
-			}
-			if(2 == rechargePaymentType){
-				RefundReq dto = new RefundReq();
-				dto.setOutTradeNo(chargingOrder.getCode());
-				dto.setOutRequestNo(chargingOrderRefund.getRefundCode());
-				dto.setRefundAmount(refundAmount.toString());
-				dto.setRefundReason("充电完成退款");
-				RefundResp resp = aliPaymentClient.refund(dto).getData();
-				if(null != resp){
-					chargingOrderRefundService.save(chargingOrderRefund);
-					this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null);
-				}
-			}
+			//计算用户标签
+			editUserTag(chargingOrder);
+			//用户推荐奖励
+			referralReward(chargingOrder);
 			
+			//开始构建退款费用
+			refundAmount = refundAmount.setScale(2, RoundingMode.HALF_EVEN);
+			if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+				Integer rechargePaymentType = chargingOrder.getRechargePaymentType();
+				//构建退款明细
+				TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
+				chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
+				SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+				chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+				chargingOrderRefund.setRefundAmount(refundAmount);
+				chargingOrderRefund.setRefundStatus(1);
+				chargingOrderRefund.setPayType(rechargePaymentType);
+				chargingOrderRefund.setRefundStatus(1);
+				chargingOrderRefund.setCode(chargingOrder.getCode());
+				chargingOrderRefund.setRefundTitle("充电完成退款");
+				chargingOrderRefund.setRefundContent("充电完成退款");
+				chargingOrderRefund.setRefundReason("充电完成退款");
+				chargingOrderRefund.setRefundRemark("实际充电消费金额:" + chargingOrder.getPaymentAmount());
+				chargingOrderRefund.setRefundTotalAmount(refundAmount);
+				chargingOrderRefund.setPayAmount(rechargeAmount);
+				if(1 == rechargePaymentType){
+					WxPaymentRefundModel model = new WxPaymentRefundModel();
+					model.setOut_trade_no(chargingOrder.getCode());
+					model.setOut_refund_no(chargingOrderRefund.getRefundCode());
+					model.setReason("充电完成退款");
+					model.setNotify_url("/payment/wx/refund/notify");
+					WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
+					amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue());
+					amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
+					amount.setCurrency("CNY");
+					model.setAmount(amount);
+					R<String> orderR = wxPaymentClient.refundOrderR(model);
+					if(200 == orderR.getCode()){
+						chargingOrderRefundService.save(chargingOrderRefund);
+					}
+				}
+				if(2 == rechargePaymentType){
+					RefundReq dto = new RefundReq();
+					dto.setOutTradeNo(chargingOrder.getCode());
+					dto.setOutRequestNo(chargingOrderRefund.getRefundCode());
+					dto.setRefundAmount(refundAmount.toString());
+					dto.setRefundReason("充电完成退款");
+					RefundResp resp = aliPaymentClient.refund(dto).getData();
+					if(null != resp){
+						chargingOrderRefundService.save(chargingOrderRefund);
+						this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null);
+					}
+				}
+				
+			}
 		}
 	}
 	
@@ -3154,11 +3170,7 @@
 	 */
 	@Override
 	public TChargingOrder getChargingOrderByLicensePlate(GetChargingOrderByLicensePlate query) {
-		TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(query.getLicensePlate()).getData();
-		if(null == appUserCar){
-			return null;
-		}
-		TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserCarId, appUserCar.getId())
+		TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getPlateNum, query.getLicensePlate())
 				.eq(TChargingOrder::getDelFlag, 0).between(TChargingOrder::getStartTime, query.getStartTime(), LocalDateTime.now())
 				.eq(TChargingOrder::getRechargePaymentStatus, 2).in(TChargingOrder::getStatus, Arrays.asList(4, 5)));
 		return one;
@@ -4034,7 +4046,7 @@
 			return R.fail("充电枪正在充电中,启动失败");
 		}
 		
-		//构建新的待支付订单
+		//构建订单数据
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
 		TChargingOrder chargingOrder = new TChargingOrder();
 		String code = "CD" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());

--
Gitblit v1.7.1