|
@@ -1,5 +1,6 @@
|
|
|
package com.qmrb.parking.fee;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -218,6 +219,40 @@ public class ParkingFeeCalculator {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 包租协议测试
|
|
|
+ */
|
|
|
+ public static void e3(){
|
|
|
+ // 示例计费规则
|
|
|
+ FeeRule feeRule = new FeeRule();
|
|
|
+ feeRule.freeDurationMinutes = 0;//免费时长
|
|
|
+ feeRule.firstCycleFee = 20.0;//首周期计费金额
|
|
|
+ feeRule.firstCycleDurationMinutes = 60;//首周期计费时长
|
|
|
+ feeRule.cycleDurationMinutes = 30;//计费周期
|
|
|
+ feeRule.cycleFee = 2;//每周期计费金额
|
|
|
+ feeRule.dailyCapFee = 30;//24小时封顶费用
|
|
|
+ feeRule.gracePeriodMinutes = 15;// 离场时长宽容度(分钟)
|
|
|
+
|
|
|
+ // 示例停车记录
|
|
|
+ ParkingRecord parkingRecord = new ParkingRecord();
|
|
|
+ parkingRecord.entryTime = LocalDateTime.of(2025, 3, 28, 14, 0);
|
|
|
+ parkingRecord.exitTime = LocalDateTime.of(2025, 3, 29, 15, 50);
|
|
|
+ parkingRecord.monthlyCardExpiryTime = null;
|
|
|
+ /*parkingRecord.paidAmount = 0.01;//已支付金额
|
|
|
+ parkingRecord.paymentRecords=new ArrayList<>();*/
|
|
|
+ /*PaymentRecord paymentRecord = new PaymentRecord();
|
|
|
+ paymentRecord.paymentTime = LocalDateTime.of(2025, 3, 14, 10, 0);
|
|
|
+ parkingRecord.paymentRecords.add(paymentRecord);*/
|
|
|
+ List<ContractPlaceNumberRel> registrations = new ArrayList<>();
|
|
|
+ ContractPlaceNumberRel placeNumberRel = new ContractPlaceNumberRel();
|
|
|
+ placeNumberRel.setStartTime(DateUtil.parse("2025-03-28 12:00:00"));
|
|
|
+ placeNumberRel.setEndTime(DateUtil.parse(" 2025-03-29 14:00:00"));
|
|
|
+ registrations.add(placeNumberRel);
|
|
|
+ // 计算费用
|
|
|
+ Map<String, Object> result = calculateParkingFee(parkingRecord, feeRule, registrations);
|
|
|
+ System.out.println("停车费用: " + result.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 设【免费时长】=0;【24小时收费金额】=30元;【首周期计费时长】=60分钟;【首周期计费金额】=20元;【计费周期】=30分钟;【每周期计费金额】=2元
|
|
|
*/
|
|
|
public static void e1(){
|
|
@@ -319,6 +354,7 @@ public class ParkingFeeCalculator {
|
|
|
*/
|
|
|
public static void main(String[] args) {
|
|
|
// e1();
|
|
|
- e2();
|
|
|
+// e2();
|
|
|
+ e3();
|
|
|
}
|
|
|
}
|