From 9ceda280a65332a1fc93dfd08bf796700e957ab1 Mon Sep 17 00:00:00 2001 From: 18650502300 <18650502300@163.com> Date: Mon, 9 Dec 2024 09:54:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E9=A1=B6=E9=87=91=E9=A2=9D=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/system/service/impl/AsDeviceServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java index b07a3db..fba86cb 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java @@ -2070,6 +2070,9 @@ public class AsDeviceServiceImpl extends ServiceImpl i if(cycle == 1){ order.setCycle(1);//在第几个计费周期内 rule, rule.getRidingRuleJson(), rentalUnit ridingFee = calculateRidingFee(order,order.getUnlockTime(), order.getReturnTime()); + if(ridingFee.compareTo(order.getCappedAmount()) > 0){ + ridingFee = order.getCappedAmount(); + } }else { // 判断一个计费周期是否超过封顶费用,如果超出 骑行费 = (第几个周期 - 1) * 封顶费用 + 骑行费 // 如果不超出,骑行费 = 骑行费 @@ -2079,6 +2082,9 @@ public class AsDeviceServiceImpl extends ServiceImpl i order.setCycle(cycle); Date afterXHours = DateUtils.getTimeAfterXHours(order.getUnlockTime(), Integer.parseInt(chargingCycleValue)*(cycle-1)); BigDecimal remainingFee = calculateRidingFee(order,afterXHours,order.getReturnTime()); + if(remainingFee.compareTo(order.getCappedAmount()) > 0){ + remainingFee = order.getCappedAmount(); + } ridingFee = new BigDecimal(cycle - 1).multiply(order.getCappedAmount()).add(remainingFee); }else{ ridingFee = calculateRidingFee(order, order.getUnlockTime(), order.getReturnTime());