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 7ee16ace..9423ea37 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 @@ -1038,6 +1038,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override + @Transactional public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean addMaterId, boolean isPrint) { createOrderDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(createOrderDTO.getUseType()) ? null : createOrderDTO.getTableId()); return Utils.runFunAndCheckKey(() -> { @@ -1264,18 +1265,6 @@ public class TbShopTableServiceImpl implements TbShopTableService { mpOrderDetailService.saveOrUpdateBatch(orderDetails); } - if (!addOrderDetails.isEmpty() && shopEatTypeInfoDTO.isDineInAfter()) { - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, addOrderDetails.toArray(new TbOrderDetail[0])); - } - - if (!removeOrderDetailIds.isEmpty()) { - // 退单票 - orderDetailMapper.deleteBatchIds(removeOrderDetailIds); - if (shopEatTypeInfoDTO.isDineInAfter()) { - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, removeOrderDetailList.toArray(new TbOrderDetail[0])); - } - } - // 更新购物车记录的orderId for (TbCashierCart cashierCart : cashierCarts) { if (!"-999".equals(cashierCart.getProductId())) { @@ -1302,6 +1291,19 @@ public class TbShopTableServiceImpl implements TbShopTableService { cashierCartMapper.updateById(cashierCart); } + // 菜品票 + if (!addOrderDetails.isEmpty() && shopEatTypeInfoDTO.isDineInAfter()) { + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, addOrderDetails.toArray(new TbOrderDetail[0])); + } + + if (!removeOrderDetailIds.isEmpty()) { + // 退单票 + orderDetailMapper.deleteBatchIds(removeOrderDetailIds); + if (shopEatTypeInfoDTO.isDineInAfter()) { + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, removeOrderDetailList.toArray(new TbOrderDetail[0])); + } + } + if (isFirst) { // 后付费,不增加当前台桌取餐号 if (!shopEatTypeInfoDTO.isTakeout()) {