Pu Zhibing
2025-02-05 19b7530c7feb8eca1dfecd6502feaf61057fdab8
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
@@ -108,18 +108,12 @@
            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;
            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 out = parkingRecord.getOutParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
            long in = parkingRecord.getInParkingTime().atZone(ZoneId.systemDefault()).toEpochSecond();
            long m = (out - in) / 60;
            long m = parkingRecord.getParkingDuration() - parkingRecord.getFreeDuration();
            parkingRecord.setTimeoutAmount(m > parkingLot.getNonChargeFreeDuration() ? new BigDecimal(m - parkingLot.getNonChargeFreeDuration()).multiply(parkingLot.getChargeRate()) : BigDecimal.ZERO);
         }
      }
@@ -170,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()));
@@ -188,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);
   }