From da54cc30b788b2cc91178a8bc4a46bde76e29fdd Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 21 Aug 2024 17:00:08 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=89=93=E7=A5=A8=E5=A2=9E=E5=8A=A0=E4=BB=A3?= =?UTF-8?q?=E5=AE=A2=E4=B8=8B=E5=8D=95=E9=87=8D=E5=A4=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/rabbit/PrintMechineConsumer.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java index bd5f754..997b3b4 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java @@ -262,7 +262,7 @@ public class PrintMechineConsumer { tbOrderDetails.parallelStream().forEach(it -> { // 已经打印过的菜品不再打印 - if ("postPay".equals(orderInfo.getUseType()) && isPrint(it.getId())) { + if ("postPay".equals(orderInfo.getUseType()) && isPrint(it)) { return; } String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId(); @@ -300,15 +300,16 @@ public class PrintMechineConsumer { /** * 判断商品是否已打票 - * @param orderDetailId 订单详情id * @return true 已打 false 未打 */ - private boolean isPrint(Integer orderDetailId) { - Object info = redisUtils.getMessage(RedisCst.ORDER_PRINT + orderDetailId); + private boolean isPrint(TbOrderDetail orderDetail) { + String key = RedisCst.ORDER_PRINT + orderDetail.getProductId() + ":" + orderDetail.getProductSkuId(); + String info = redisUtils.getMessage(key); + redisUtils.saveMessage(key, String.valueOf(orderDetail.getNum()), 60 * 60 * 24); if (info == null) { - redisUtils.saveMessage(RedisCst.ORDER_PRINT + orderDetailId, "1", 60 * 60 * 24); return false; } + orderDetail.setNum(orderDetail.getNum() - Integer.parseInt(info)); return true; }