增加标签打印机 订单打印简化

This commit is contained in:
2024-10-10 14:33:45 +08:00
parent 5612d687da
commit 4c7aaf8183
5 changed files with 174 additions and 12 deletions

View File

@@ -66,6 +66,8 @@ public class PrintConsumer {
if (orderDetails.isEmpty()) {
return;
}
// 菜品票
getPrintMachine(Integer.valueOf(orderInfo.getShopId()), "cash", "one").forEach(machine -> {
log.info("打印机信息: {}", machine);
machine.setCurrentUserId(currentUserId);
@@ -74,6 +76,15 @@ public class PrintConsumer {
printerHandler.handleRequest(machine, isReturn, orderInfo, orderDetails, null);
});
// 标签打印
getPrintMachine(Integer.valueOf(orderInfo.getShopId()), "label", "one").forEach(machine -> {
log.info("打印机信息: {}", machine);
machine.setCurrentUserId(currentUserId);
machine.setCurrentUserName(currentUserName);
machine.setCurrentUserNickName(currentUserNickName);
printerHandler.handleRequest(machine, isReturn, orderInfo, orderDetails, null);
});
} catch (Exception e) {
log.warn("打印菜品失败", e);
}

View File

@@ -28,7 +28,7 @@ public class FeiPrinter extends PrinterHandler{
private final TbProductSkuMapper tbProductSkuMapper;
public FeiPrinter(TbProductMapper productMapper, TbProductSkuMapper tbProductSkuMapper, TbShopUserMapper tbShopUserMapper, MPOrderInfoMapper mPOrderInfoMapper, MpShopInfoMapper mpShopInfoMapper, MpShopInfoMapper mpShopInfoMapper1, MPOrderDetailMapper mPOrderDetailMapper) {
super("Feie", productMapper, tbProductSkuMapper, tbShopUserMapper);
super("fePrinter", productMapper, tbProductSkuMapper, tbShopUserMapper);
this.mPOrderInfoMapper = mPOrderInfoMapper;
this.mpShopInfoMapper = mpShopInfoMapper1;
this.mPOrderDetailMapper = mPOrderDetailMapper;
@@ -37,6 +37,7 @@ public class FeiPrinter extends PrinterHandler{
@Override
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
log.error("未实现打印方法");
}
@@ -81,6 +82,7 @@ public class FeiPrinter extends PrinterHandler{
@Override
protected void callNumPrint(CallNumPrintDTO printDTO) {
log.error("未实现打印方法");
}
}

View File

@@ -0,0 +1,69 @@
package com.chaozhanggui.system.cashierservice.rabbit.print;
import cn.hutool.core.util.ObjectUtil;
import com.chaozhanggui.system.cashierservice.dao.TbProductMapper;
import com.chaozhanggui.system.cashierservice.dao.TbProductSkuMapper;
import com.chaozhanggui.system.cashierservice.dao.TbShopUserMapper;
import com.chaozhanggui.system.cashierservice.entity.*;
import com.chaozhanggui.system.cashierservice.entity.dto.CallNumPrintDTO;
import com.chaozhanggui.system.cashierservice.model.OrderDetailPO;
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderDetailMapper;
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderInfoMapper;
import com.chaozhanggui.system.cashierservice.mybatis.MpShopInfoMapper;
import com.chaozhanggui.system.cashierservice.util.DateUtils;
import com.chaozhanggui.system.cashierservice.util.FeieyunPrintUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
@Component
@Slf4j
public class LocalLabelPrinter extends PrinterHandler{
private final MPOrderDetailMapper mPOrderDetailMapper;
private final TbProductSkuMapper tbProductSkuMapper;
public LocalLabelPrinter(TbProductMapper productMapper, TbProductSkuMapper tbProductSkuMapper, TbShopUserMapper tbShopUserMapper, MPOrderDetailMapper mPOrderDetailMapper) {
super("local", productMapper, tbProductSkuMapper, tbShopUserMapper);
this.mPOrderDetailMapper = mPOrderDetailMapper;
this.tbProductSkuMapper = tbProductSkuMapper;
}
@Override
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
log.error("未实现打印方法");
}
@Override
protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(orderDetail.getProductSkuId());
if (sku == null) {
log.warn("打印菜品标签票失败 sku商品不存在: {}", orderDetail);
return;
}
for (int i = 0; i < orderDetail.getNum(); i++) {
FeieyunPrintUtil.printLabelMsg(machine.getAddress(), orderInfo.getTableName(), orderDetail.getProductName(),
1, DateUtils.getTimes(new Date(orderInfo.getCreatedAt())), sku.getSalePrice().toPlainString(), sku.getSpecSnap());
}
}
@Override
protected void returnOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
log.error("未实现打印方法");
}
@Override
protected void normalOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
log.error("未实现打印方法");
}
@Override
protected void callNumPrint(CallNumPrintDTO printDTO) {
log.error("未实现打印方法");
}
}