diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index a8898860..129a22ab 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -938,11 +938,19 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (TableConstant.OrderInfo.UseType.TAKEOUT.equalsVals(cashierCart.getUseType())) { return; } - List cashierCarts = mpCashierCartService.selectByShopEatTypeAndOrderId(shopEatTypeInfoDTO, cashierCart.getMasterId(), cashierCart.getOrderId() == null ? null : cashierCart.getOrderId(), false, TableConstant.OrderInfo.Status.CREATE); - if (cashierCarts.isEmpty() && cashierCart.getOrderId() != null) { + List cashierCarts = mpCashierCartService.selectByShopEatTypeAndOrderId(shopEatTypeInfoDTO, cashierCart.getMasterId(), cashierCart.getOrderId() == null ? null : cashierCart.getOrderId(), false); + int activateCount = 0; + ArrayList cartIds = new ArrayList<>(); + for (TbCashierCart item : cashierCarts) { + if (TableConstant.OrderInfo.Status.CREATE.equalsVals(item.getStatus())) { + activateCount++; + } + } + if (activateCount == 0 && cashierCart.getOrderId() != null) { mpOrderDetailService.remove(new LambdaQueryWrapper() .eq(TbOrderDetail::getOrderId, cashierCart.getOrderId())); mpOrderInfoService.removeById(cashierCart.getOrderId()); + mpCashierCartService.removeByIds(cashierCarts); } }