From 616115c93c53ac410cbfa0e871d2869376317876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Fri, 20 Dec 2024 09:39:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=A8=E9=83=A8=E9=80=80=E8=8F=9C?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E8=B4=AD=E7=89=A9=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/shopimpl/TbShopTableServiceImpl.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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 fcfe737c..bb60c48c 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 @@ -926,9 +926,26 @@ public class TbShopTableServiceImpl implements TbShopTableService { .multiply(removeCartDTO.getNum())); } + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(cashierCart.getShopId(), cashierCart.getTableId()); + checkTakeOutEmptyAndClear(cashierCart, shopEatTypeInfoDTO); } + /** + * 检查订单购物车是否为空并删除订单 + */ + private void checkTakeOutEmptyAndClear(TbCashierCart cashierCart, ShopEatTypeInfoDTO shopEatTypeInfoDTO) { + 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) { + mpOrderDetailService.remove(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, cashierCart.getOrderId())); + mpOrderInfoService.removeById(cashierCart.getOrderId()); + } + } + @Override public void clearCart(ClearCartDTO clearCartDTO) { ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(clearCartDTO.getShopId(), clearCartDTO.getTableId(), clearCartDTO.getUseType()); @@ -3403,7 +3420,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { for (TbCashierCart allCart : allCarts) { if (switchTableDTO.getCartIds().contains(allCart.getId())) { cashierCarts.add(allCart); - }else if (TableConstant.CART_SEAT_ID.equals(allCart.getProductId())) { + } else if (TableConstant.CART_SEAT_ID.equals(allCart.getProductId())) { seatCart = allCart; } }