From ae84ae528290f44c66ef14c92f4a68bd3c1ce617 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 11 十一月 2024 08:50:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 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 6628553..75440f0 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
@@ -1,6 +1,8 @@
 package com.ruoyi.integration.barrierGate.server;
 
 import com.ruoyi.account.api.feignClient.AppUserCarClient;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.api.model.TAppUserCar;
 import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
 import com.ruoyi.chargingPile.api.feignClient.ParkingRecordClient;
@@ -19,6 +21,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
@@ -41,6 +44,9 @@
 	
 	@Resource
 	private ChargingOrderClient chargingOrderClient;
+	
+	@Resource
+	private AppUserClient appUserClient;
 	
 	
 	
@@ -79,6 +85,7 @@
 		query.setLicensePlate(order.getPlate());
 		query.setStatus(1);
 		TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
+		TParkingLot parkingLot = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
 		LocalDateTime parse = LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ISO_DATE_TIME);
 		parse = parse.plusHours(8);
 		parkingRecord.setOutParkingTime(parse);
@@ -98,8 +105,19 @@
 				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);
 			}
 		}
+		parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
 		parkingRecordClient.updateParkingRecord(parkingRecord);
 	}
 	
@@ -146,9 +164,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()));
@@ -164,8 +181,19 @@
 				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);
 			}
 		}
+		parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
 		parkingRecordClient.updateParkingRecord(parkingRecord);
 	}
 	

--
Gitblit v1.7.1