diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java index a32a3205..92afb834 100644 --- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java +++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java @@ -42,7 +42,7 @@ public class OrderServiceImpl implements OrderService { * * @see OrderStatus */ - @Value("${order.timeout.status:-4,-3,0,1,3}") + @Value("${order.timeout.status:-4,-3,-2,0,2,1,3}") private List timeoutOrderStatus; private static final List orderMasterTimeoutStatus = Arrays.asList(0, 1); @@ -114,7 +114,7 @@ public class OrderServiceImpl implements OrderService { // 是否已经超时 boolean timeout = ONE.equals(order.getTimeout()); if (!timeout) { - if (overTime30min.before(now) && overTime1h.after(now)) { + if (overTime30min.before(now)) { // 30min未接单为超时 log.info("主订单[{}]超时30分钟", order.getId()); orderMasterService.updateTimeout(order.getId(), 1); @@ -192,7 +192,7 @@ public class OrderServiceImpl implements OrderService { // 待上门超时 if(order.getOrderStatus().equals(OrderStatus.GOING.code())){ // 服务中状态要按预计上门时间计算4h超时 - Date overTime = getOverTime(order.getExpectTimeStart(), 30 * 60 * 1000); + Date overTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), 30 * 60 * 1000); if (overTime.before(now)) { log.info("订单[{}]待上门状态超时30分钟", order.getId()); OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus()); @@ -205,7 +205,7 @@ public class OrderServiceImpl implements OrderService { // 未超时的单 if (order.getOrderStatus().equals(OrderStatus.SERVER.code())) { // 服务中状态要按预计上门时间计算4h超时 - Date overTime = getOverTime(order.getExpectTimeStart(), 4 * 60 * 60 * 1000); + Date overTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), 4 * 60 * 60 * 1000); if (overTime.before(now)) { log.info("订单[{}]服务中状态超时4小时 扣款", order.getId()); OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus());