From f4c93e7a009a64b09e8a135cbe8e82ee7fc2ce56 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Mon, 11 Aug 2025 01:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=98=AF=E5=90=A6=E9=80=BE=E6=9C=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sczx/order/task/OrderOverdueTask.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sczx/order/task/OrderOverdueTask.java b/src/main/java/com/sczx/order/task/OrderOverdueTask.java index 42e03d2..11072ff 100644 --- a/src/main/java/com/sczx/order/task/OrderOverdueTask.java +++ b/src/main/java/com/sczx/order/task/OrderOverdueTask.java @@ -3,11 +3,13 @@ package com.sczx.order.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.sczx.order.common.enums.OrderStatusEnum; +import com.sczx.order.common.enums.RentCarTypeEnum; import com.sczx.order.po.OrderMainPO; import com.sczx.order.repository.OrderMainRepo; import com.sczx.order.utils.OrderUtil; import lombok.extern.slf4j.Slf4j; import net.javacrumbs.shedlock.spring.annotation.SchedulerLock; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -68,12 +70,15 @@ public class OrderOverdueTask { for (OrderMainPO order : overdueOrders) { try { //先计算逾期天数 - Integer overdueDays = OrderUtil.getOrderOverdueDays(order.getEndRentTime()); - if(overdueDays>0){ + Integer overdueDaysOrHours = OrderUtil.getOrderOverdueDays(order.getEndRentTime()); + if(StringUtils.equalsIgnoreCase(RentCarTypeEnum.HOUR_RENTAL.getCode(), order.getRentalType())){ + overdueDaysOrHours = OrderUtil.getOrderOverdueHours(order.getEndRentTime()); + } + if(overdueDaysOrHours>0){ // 更新订单状态为逾期 LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_OVERDUE.getCode()) - .set(OrderMainPO::getOverdueDays, overdueDays) + .set(!StringUtils.equalsIgnoreCase(RentCarTypeEnum.HOUR_RENTAL.getCode(), order.getRentalType()),OrderMainPO::getOverdueDays, overdueDaysOrHours) .eq(OrderMainPO::getOrderId, order.getOrderId()) // 确保状态未被其他节点修改 .eq(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode());