diff --git a/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java b/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java index 4fc4f90..a2d1352 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java @@ -2,6 +2,8 @@ package com.aircraft.modules.quartz.task; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.aircraft.exception.BadRequestException; import com.aircraft.modules.order.domain.OrderMain; import com.aircraft.modules.order.domain.enums.MainOrderStatusEnum; import com.aircraft.modules.order.service.IOrderMainService; @@ -32,11 +34,22 @@ public class OrderTask { * * @param hour 小时 */ - public void orderAutoFinishTask(Integer hour) { + public void orderAutoFinishTask(String hour) { log.info("订单自动完成定时任务开始执行,参数:{}", hour); // 订单状态为飞行中,且确认状态为飞行员确认,距离时间是超过xx小时,就会自动完成 + + if (StrUtil.isBlank(hour)) { + hour = "24"; + } + Integer hourInt = null; + try { + hourInt = Integer.parseInt(hour); + } catch (NumberFormatException e) { + throw new BadRequestException("参数不合法,请调整为正整数类型"); + } + Date currentTime = new Date(); - Date finishTime = DateUtil.offsetHour(currentTime, -hour); + Date finishTime = DateUtil.offsetHour(currentTime, - hourInt); List orderMainList = orderMainService.obtainOrderNotFinish(finishTime); diff --git a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java index 273445b..29ff1c8 100644 --- a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java +++ b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java @@ -31,7 +31,7 @@ public class EladminSystemApplicationTests { */ @Test public void orderAutoFinishTask() { - orderTask.orderAutoFinishTask(1); + orderTask.orderAutoFinishTask("1"); } }