diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java index 894c03563..c931fabca 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java @@ -1690,6 +1690,18 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { orderInfoService.updateById(new OrderInfo().setId(orderId) .setStatus(OrderStatusEnums.CANCELLED.getCode()) .setOriginAmount(BigDecimal.ZERO)); + ShopTable table = shopTableService.getOneByTableCode(orderInfo.getShopId(), orderInfo.getTableCode()); + if (table != null) { + ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId()); + if ("auto".equals(shopInfo.getTableClearType())) { + table.setStatus(ShopTableStatusEnum.IDLE.getValue()); + } else { + DateTime dateTime = DateUtil.offsetMinute(DateUtil.date(), shopInfo.getTableClearTime()); + table.setCreateTime(LocalDateTimeUtil.of(dateTime)); + redisService.set(RedisCst.classKeyExpired.EXPIRED_TABLE + table.getId(), "", 60L * shopInfo.getTableClearTime()); + } + shopTableService.updateById(table); + } return true; } else { BigDecimal totalAmount = BigDecimal.ZERO;