fix: 子单待上门超时

This commit is contained in:
YiFei Kuang 2025-01-21 16:50:00 +08:00
parent 0975f12e39
commit 934afa402a
1 changed files with 4 additions and 4 deletions

View File

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