From 8c18cb1347025e6d43c0e1c6a33b00ad114266c1 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 16:23:13 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20?= =?UTF-8?q?=E5=B7=B2=E5=87=BA=E9=A4=90=E5=95=86=E5=93=81=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/OrderService.java | 61 +++++++++++++++++-- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 99356df..7587e0d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -177,6 +177,32 @@ public class OrderService { }else if (exists != null && skuWithBLOBs.getSuit() != null && skuWithBLOBs.getSuit() != 0 && number < skuWithBLOBs.getSuit()){ redisUtil.deleteByKey(RedisCst.ORDER_CART_EXISTS + cartId); delCart(masterId, cartId); + if (StrUtil.isNotBlank(cart.getOrderId()) && StrUtil.isNotBlank(cart.getTableId())) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .notIn(TbCashierCart::getStatus, "final", "refund", "closed", "pending") + .eq(TbCashierCart::getShopId, cart.getShopId()); + + TbCashierCart finalCart = cart; + queryWrapper.eq(TbCashierCart::getTableId, cart.getTableId()) + .and(query -> { + query.eq(TbCashierCart::getMasterId, finalCart.getMasterId()) + .or() + .isNull(TbCashierCart::getMasterId) + .or() + .eq(TbCashierCart::getMasterId, ""); + }) + .and(query -> { + query.eq(TbCashierCart::getOrderId, finalCart.getOrderId()) + .or() + .isNull(TbCashierCart::getOrderId); + }); + + List list = mpCashierCartMapper.selectList(queryWrapper.eq(TbCashierCart::getStatus, "create")); + + if (list.isEmpty()) { + tbOrderInfoMapper.deleteByPrimaryKey(Integer.valueOf(finalCart.getOrderId())); + } + } return Result.success(CodeEnum.SUCCESS, masterId); } @@ -497,6 +523,32 @@ public class OrderService { cashierCartMapper.deleteByPrimaryKey(cartId); + if (StrUtil.isNotBlank(cashierCart.getOrderId()) && StrUtil.isNotBlank(cashierCart.getTableId())) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .notIn(TbCashierCart::getStatus, "final", "refund", "closed", "pending") + .eq(TbCashierCart::getShopId, cashierCart.getShopId()); + + queryWrapper.eq(TbCashierCart::getTableId, cashierCart.getTableId()) + .and(query -> { + query.eq(TbCashierCart::getMasterId, cashierCart.getMasterId()) + .or() + .isNull(TbCashierCart::getMasterId) + .or() + .eq(TbCashierCart::getMasterId, ""); + }) + .and(query -> { + query.eq(TbCashierCart::getOrderId, cashierCart.getOrderId()) + .or() + .isNull(TbCashierCart::getOrderId); + }); + + List list = mpCashierCartMapper.selectList(queryWrapper.eq(TbCashierCart::getStatus, "create")); + + if (list.isEmpty()) { + tbOrderInfoMapper.deleteByPrimaryKey(Integer.valueOf(cashierCart.getOrderId())); + } + } + return Result.success(CodeEnum.SUCCESS); } @@ -1082,13 +1134,10 @@ public class OrderService { List productSkuPos = new ArrayList<>(); List skuIds = new ArrayList<>(); ArrayList ids = new ArrayList<>(); - StringBuilder proName = new StringBuilder(); for (TbCashierCart cashierCart : list) { -// if (StrUtil.isNotBlank(cashierCart.getOrderId()) && StrUtil.isNotBlank(cashierCart.getTableId())) { -// orderId = Integer.parseInt(cashierCart.getOrderId()); -// proName.append(cashierCart.getName()).append(","); -// continue; -// } + if (StrUtil.isNotBlank(cashierCart.getOrderId())) { + orderId = Integer.parseInt(cashierCart.getOrderId()); + } ids.add(cashierCart.getId()); // 数量减少, 返还库存