From 68971d2b62be52e7ccab7b90c64caceb5ee7ef21 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 15 七月 2025 11:55:52 +0800
Subject: [PATCH] 政务云数据上传
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java | 81 +++++++++++++++++++++++++++-------------
1 files changed, 54 insertions(+), 27 deletions(-)
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 613a09e..070eb77 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;
@@ -85,6 +86,9 @@
query.setLicensePlate(order.getPlate());
query.setStatus(1);
TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
+ if(null == parkingRecord){
+ return;
+ }
TParkingLot parkingLot = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
LocalDateTime parse = LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ISO_DATE_TIME);
parse = parse.plusHours(8);
@@ -98,30 +102,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 out = parkingRecord.getOutParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
- long in = parkingRecord.getInParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
- long m = (out - in) / 60;
- parkingRecord.setTimeoutAmount(m > parkingLot.getChargeFreeDuration() ? new BigDecimal(m - parkingLot.getChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
-
- }else{
- parkingRecord.setFreeDuration(parkingLot.getNonChargeFreeDuration());
- //超时占位费
- long out = parkingRecord.getOutParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
- long in = parkingRecord.getInParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
- long m = (out - in) / 60;
- 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);
@@ -170,9 +177,8 @@
query.setLicensePlate(order.getPlatenumber());
query.setStatus(1);
TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
- LocalDateTime parse = LocalDateTime.parse(order.getLeavetime(), DateTimeFormatter.ISO_DATE_TIME);
- parse = parse.plusHours(8);
- parkingRecord.setOutParkingTime(parse);
+ TParkingLot parkingLot = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
+ parkingRecord.setOutParkingTime(LocalDateTime.now());
parkingRecord.setParkingDuration(Integer.valueOf(order.getLongTime()));
parkingRecord.setOrderAmount(new BigDecimal(order.getMoney()));
parkingRecord.setPayment(new BigDecimal(order.getMoney()));
@@ -181,15 +187,36 @@
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());
+ 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);
}
--
Gitblit v1.7.1