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-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java | 76 ++++++++++++++++++++++++-------------- 1 files changed, 48 insertions(+), 28 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 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); } -- Gitblit v1.7.1