From cc6ef4d39b154077445fa1e4e84c1b0ca9674b60 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 12 十二月 2024 16:38:30 +0800
Subject: [PATCH] 修改合作商权限功能
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java | 82 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 78 insertions(+), 4 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 bdefd57..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,9 @@
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;
import com.ruoyi.chargingPile.api.model.TParkingLot;
@@ -10,14 +13,18 @@
import com.ruoyi.integration.barrierGate.model.CloudParkingSpace;
import com.ruoyi.integration.barrierGate.model.OfflineParkingOrder;
import com.ruoyi.integration.barrierGate.model.OfflineParkingSpace;
+import com.ruoyi.order.api.feignClient.ChargingOrderClient;
+import com.ruoyi.order.api.model.TChargingOrder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
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;
/**
* @author zhibing.pu
@@ -35,6 +42,12 @@
@Resource
private ParkingLotClient parkingLotClient;
+ @Resource
+ private ChargingOrderClient chargingOrderClient;
+
+ @Resource
+ private AppUserClient appUserClient;
+
@@ -51,8 +64,11 @@
parkingRecord.setCode(code);
parkingRecord.setVehicleColor(order.getPlateColor());
TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
+ parkingRecord.setName(data.getName());
parkingRecord.setParkingLotId(data.getId());
- parkingRecord.setInParkingTime(LocalDateTime.parse(order.getEnterDateTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ LocalDateTime parse = LocalDateTime.parse(order.getEnterDateTime(), DateTimeFormatter.ISO_DATE_TIME);
+ parse = parse.plusHours(8);
+ parkingRecord.setInParkingTime(parse);
parkingRecord.setStatus(1);
parkingRecord.setCreateTime(LocalDateTime.now());
parkingRecord.setSerialnumber(order.getId());
@@ -69,11 +85,39 @@
query.setLicensePlate(order.getPlate());
query.setStatus(1);
TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
- parkingRecord.setOutParkingTime(LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ TParkingLot parkingLot = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
+ LocalDateTime parse = LocalDateTime.parse(order.getLeaveDateTime(), DateTimeFormatter.ISO_DATE_TIME);
+ parse = parse.plusHours(8);
+ parkingRecord.setOutParkingTime(parse);
parkingRecord.setParkingDuration(Integer.valueOf(order.getLongTime()));
parkingRecord.setOrderAmount(new BigDecimal(order.getReceivable()));
+ parkingRecord.setPayment(new BigDecimal(order.getPayment()));
+ parkingRecord.setPayType(order.getPayType());
BigDecimal payment = new BigDecimal(order.getPayment());
parkingRecord.setStatus(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 3);
+ parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
+ parkingRecord.setTitle("【停车缴费】" + payment + "元");
+ TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(parkingRecord.getLicensePlate()).getData();
+ 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);
+ }
+ }
+ parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
parkingRecordClient.updateParkingRecord(parkingRecord);
}
@@ -99,8 +143,11 @@
parkingRecord.setCode(code);
parkingRecord.setVehicleColor(order.getPlatecolor());
TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
+ parkingRecord.setName(data.getName());
parkingRecord.setParkingLotId(data.getId());
- parkingRecord.setInParkingTime(LocalDateTime.parse(order.getEntertime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ LocalDateTime parse = LocalDateTime.parse(order.getEntertime(), DateTimeFormatter.ISO_DATE_TIME);
+ parse = parse.plusHours(8);
+ parkingRecord.setInParkingTime(parse);
parkingRecord.setStatus(1);
parkingRecord.setCreateTime(LocalDateTime.now());
parkingRecord.setSerialnumber(order.getId());
@@ -117,9 +164,36 @@
query.setLicensePlate(order.getPlatenumber());
query.setStatus(1);
TParkingRecord parkingRecord = parkingRecordClient.getParkingRecord(query).getData();
- parkingRecord.setOutParkingTime(LocalDateTime.parse(order.getLeavetime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ 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()));
+ BigDecimal payment = new BigDecimal(order.getMoney());
+ parkingRecord.setStatus(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 3);
+ parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
+ parkingRecord.setTitle("【停车缴费】" + payment + "元");
+ TAppUserCar appUserCar = appUserCarClient.getAppUserCarByLicensePlate(parkingRecord.getLicensePlate()).getData();
+ 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);
+ }
+ }
+ parkingRecord.setFreeAmount(parkingRecord.getOrderAmount().subtract(parkingRecord.getPayment()));
parkingRecordClient.updateParkingRecord(parkingRecord);
}
--
Gitblit v1.7.1