定时任务判断是否逾期修改
This commit is contained in:
@ -3,11 +3,13 @@ package com.sczx.order.task;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.sczx.order.common.enums.OrderStatusEnum;
|
import com.sczx.order.common.enums.OrderStatusEnum;
|
||||||
|
import com.sczx.order.common.enums.RentCarTypeEnum;
|
||||||
import com.sczx.order.po.OrderMainPO;
|
import com.sczx.order.po.OrderMainPO;
|
||||||
import com.sczx.order.repository.OrderMainRepo;
|
import com.sczx.order.repository.OrderMainRepo;
|
||||||
import com.sczx.order.utils.OrderUtil;
|
import com.sczx.order.utils.OrderUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
|
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -68,12 +70,15 @@ public class OrderOverdueTask {
|
|||||||
for (OrderMainPO order : overdueOrders) {
|
for (OrderMainPO order : overdueOrders) {
|
||||||
try {
|
try {
|
||||||
//先计算逾期天数
|
//先计算逾期天数
|
||||||
Integer overdueDays = OrderUtil.getOrderOverdueDays(order.getEndRentTime());
|
Integer overdueDaysOrHours = OrderUtil.getOrderOverdueDays(order.getEndRentTime());
|
||||||
if(overdueDays>0){
|
if(StringUtils.equalsIgnoreCase(RentCarTypeEnum.HOUR_RENTAL.getCode(), order.getRentalType())){
|
||||||
|
overdueDaysOrHours = OrderUtil.getOrderOverdueHours(order.getEndRentTime());
|
||||||
|
}
|
||||||
|
if(overdueDaysOrHours>0){
|
||||||
// 更新订单状态为逾期
|
// 更新订单状态为逾期
|
||||||
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_OVERDUE.getCode())
|
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::getOrderId, order.getOrderId())
|
||||||
// 确保状态未被其他节点修改
|
// 确保状态未被其他节点修改
|
||||||
.eq(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode());
|
.eq(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode());
|
||||||
|
|||||||
Reference in New Issue
Block a user