From 42563c3ce032d290ed556754ec2a12a3e2b02a4d Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 25 Oct 2024 17:36:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0=E5=8F=B0=E6=A1=8C=E4=B8=8B?= =?UTF-8?q?=E5=8D=95=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/shopimpl/TbShopTableServiceImpl.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) 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 dfee8e9e..9358448d 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 @@ -1122,15 +1122,18 @@ public class TbShopTableServiceImpl implements TbShopTableService { queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); } else { - queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); - - tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper() - .eq(TbShopTable::getQrcode, createOrderDTO.getTableId()) - .in(TbShopTable::getStatus, "idle", "using")); - if (tbShopTable == null) { - throw new BadRequestException("台桌未开台或不存在"); + if (StrUtil.isNotBlank(createOrderDTO.getTableId())) { + tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper() + .eq(TbShopTable::getQrcode, createOrderDTO.getTableId()) + .in(TbShopTable::getStatus, "idle", "using")); + if (tbShopTable == null) { + throw new BadRequestException("台桌未开台或不存在"); + } + queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); + }else { + queryWrapper.isNull(TbCashierCart::getTableId); } - queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); + } List allCashierCarts = cashierCartMapper @@ -1350,7 +1353,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } // 先付费模式,结束购物车状态 - if (shopEatTypeInfoDTO.isDineInBefore() || shopEatTypeInfoDTO.isTakeout()) { + if (shopEatTypeInfoDTO.isDineInBefore() || shopEatTypeInfoDTO.isTakeout() || StrUtil.isBlank(createOrderDTO.getTableId())) { cashierCart.setStatus("final"); } cashierCartMapper.updateById(cashierCart); @@ -1384,7 +1387,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 推送耗材信息 pushConsMsg(orderInfo, cashierCarts); - if (!shopEatTypeInfoDTO.isTakeout()) { + if (!shopEatTypeInfoDTO.isTakeout() && StrUtil.isNotBlank(createOrderDTO.getTableId())) { // 清空台桌信息 if (shopEatTypeInfoDTO.isDineInBefore()) { mpShopTableMapper.update(null, new LambdaUpdateWrapper() @@ -1414,8 +1417,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { } - String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString()); - redisTemplate.delete(tableCartKey); + if (StrUtil.isNotBlank(createOrderDTO.getTableId())) { + String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString()); + redisTemplate.delete(tableCartKey); + } return orderInfo; }, stringRedisTemplate, RedisConstant.getLockKey(RedisConstant.CREATE_ORDER, createOrderDTO.getShopId(), createOrderDTO.getTableId(), createOrderDTO.getMasterId(), createOrderDTO.getUseType()));