后厨打印机 打印菜品问题

This commit is contained in:
2026-04-17 11:10:21 +08:00
parent 45c681d18e
commit 513baf34cd

View File

@@ -103,8 +103,14 @@ public class PrintConfig implements ApplicationRunner {
orderInfo.setPlaceNum(placeNum);
yield orderDetailService.list(new QueryWrapper().eq(OrderDetail::getOrderId, orderInfo.getId()).eq(OrderDetail::getPlaceNum, placeNum));
}
case PrinterHandler.PrintTypeEnum.ORDER, PrinterHandler.PrintTypeEnum.PRE_ORDER,
PrinterHandler.PrintTypeEnum.ONLY_KITCHEN, PrinterHandler.PrintTypeEnum.ALL_KITCHEN ->
case PrinterHandler.PrintTypeEnum.ONLY_KITCHEN, PrinterHandler.PrintTypeEnum.ALL_KITCHEN -> {
QueryWrapper queryWrapper = new QueryWrapper().eq(OrderDetail::getOrderId, orderInfo.getId());
if ("after-pay".equals(orderInfo.getPayMode())) {
queryWrapper.eq(OrderDetail::getPlaceNum, orderInfo.getPlaceNum());
}
yield orderDetailService.list(queryWrapper);
}
case PrinterHandler.PrintTypeEnum.ORDER, PrinterHandler.PrintTypeEnum.PRE_ORDER ->
orderDetailService.list(new QueryWrapper().eq(OrderDetail::getOrderId, orderInfo.getId()));
default -> orderDetailList;
};
@@ -138,20 +144,20 @@ public class PrintConfig implements ApplicationRunner {
log.info("准备开始打印菜品单");
//后厨单菜品
tbOrderDetailList.forEach(item -> {
// Boolean b = redisService.hasKey(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()));
// if (!b) {
Boolean b = redisService.hasKey(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()));
if (!b) {
FunUtils.safeRunVoid(() -> printer.onlyKitchenPrint(orderInfo, item, machine),
"订单id:{} ,后厨分单打印失败", orderInfo.getId());
// 保存已打印信息
// redisService.set(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()), "", 180);
// }
redisService.set(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()), "", 20);
}
});
break;
case PrinterHandler.PrintTypeEnum.ALL_KITCHEN:
// Boolean exit = redisService.hasKey(RedisCst.kitchenAll(orderInfo.getId(), machine.getId()));
// if (exit) {
// break;
// }
Boolean exit = redisService.hasKey(RedisCst.kitchenAll(orderInfo.getId(), machine.getId()));
if (exit) {
break;
}
// 判断订单是否是先付费或者已结算
if (!"after-pay".equals(orderInfo.getPayMode()) && (OrderStatusEnums.UNPAID.getCode().equals(orderInfo.getStatus()) || OrderStatusEnums.CANCELLED.getCode().equals(orderInfo.getStatus()))) {
log.warn("此订单未支付, 订单信息: {}", orderInfo.getId());
@@ -163,7 +169,7 @@ public class PrintConfig implements ApplicationRunner {
}
log.info("准备开始打印后厨整单");
printer.allKitchenPrint(orderInfo, allOrderDetailList, machine);
// redisService.set(RedisCst.kitchenAll(orderInfo.getId(), machine.getId()), "", 180);
redisService.set(RedisCst.kitchenAll(orderInfo.getId(), machine.getId()), "", 20);
break;
}
}