From 6ba38ae9d75f986703e26750c47d7088a1ab6dac Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sat, 28 Sep 2024 15:05:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E5=BA=A7=E8=B4=B9=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B8=85=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/CartService.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 2ceca3c..1cde8ed 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -848,8 +848,14 @@ public class CartService { }); boolean hasNewInfo = false; + // 外带模式去除餐位费 + TbCashierCart seatCartInfo = null; //校验 库存 耗材 for (TbCashierCart cart : cashierCartList) { + if (shopEatTypeInfoDTO.isTakeout() && "-999".equals(cart.getProductId())) { + seatCartInfo = cart; + continue; + } // 设置用餐类型 cart.setUseType(shopEatTypeInfoDTO.getUseType()); // 设置打包费 @@ -927,7 +933,6 @@ public class CartService { } else { tbProduct = null; saleAmount = saleAmount.add(shopEatTypeInfoDTO.getShopInfo().getTableFee()); - } totalAmount = totalAmount.add(cart.getTotalAmount()); @@ -981,7 +986,6 @@ public class CartService { } } - //生成订单 TbOrderInfo orderInfo = orderInfoMapper.selectByPrimaryKey(orderId); @@ -1122,6 +1126,9 @@ public class CartService { } } + // 去除餐位费信息 + cashierCartList = cashierCartList.stream().filter(item -> !"-999".equals(item.getProductId())).collect(Collectors.toList()); + List outRecords = new ArrayList<>(); for (TbCashierCart cashierCart : cashierCartList) { if (cashierCart.getIsVip().equals((byte) 1)) { @@ -1154,6 +1161,11 @@ public class CartService { mpCashierCartMapper.updateById(cashierCart); } + // 删除旧的餐位费信息 + if (shopEatTypeInfoDTO.isTakeout() && seatCartInfo != null) { + cashierCartMapper.deleteByPrimaryKey(seatCartInfo.getId()); + } + if (!CollectionUtils.isEmpty(outRecords)) outRecordMapper.insertBatch(outRecords); // 打印票据