From 5612d687da76966e82285aa6d60aa85ca7bd679b Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 10 Oct 2024 13:52:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E9=B9=85=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rabbit/print/FeiPrinter.java | 52 ++++++++++++++++--- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java index 89ec1ec..389d7e7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/FeiPrinter.java @@ -1,22 +1,38 @@ 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.TbOrderDetail; -import com.chaozhanggui.system.cashierservice.entity.TbOrderInfo; -import com.chaozhanggui.system.cashierservice.entity.TbPrintMachine; +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 FeiPrinter extends PrinterHandler{ - public FeiPrinter(TbProductMapper productMapper, TbProductSkuMapper tbProductSkuMapper, TbShopUserMapper tbShopUserMapper) { + private final MPOrderInfoMapper mPOrderInfoMapper; + private final MpShopInfoMapper mpShopInfoMapper; + private final MPOrderDetailMapper mPOrderDetailMapper; + 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); + this.mPOrderInfoMapper = mPOrderInfoMapper; + this.mpShopInfoMapper = mpShopInfoMapper1; + this.mPOrderDetailMapper = mPOrderDetailMapper; + this.tbProductSkuMapper = tbProductSkuMapper; } @Override @@ -26,17 +42,41 @@ public class FeiPrinter extends PrinterHandler{ @Override protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) { + TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(orderDetail.getProductSkuId()); + if (sku == null) { + log.warn("打印菜品票失败 sku商品不存在: {}", orderDetail); + return; + } + String remark = sku.getSpecSnap(); + FeieyunPrintUtil.getPrintData(machine.getAddress(), orderInfo.getMasterId(), + DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum(), remark); } @Override protected void returnOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List detailList) { - + TbShopInfo shopInfo = mpShopInfoMapper.selectById(orderInfo.getShopId()); + OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", + orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), + orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), + "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, + (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), + "0", detailList, orderInfo.getRemark(), null, null); + String printType = "退款单"; + FeieyunPrintUtil.getCashPrintData(detailPO, machine.getAddress(), printType, printType); } @Override protected void normalOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List detailList) { - + TbShopInfo shopInfo = mpShopInfoMapper.selectById(orderInfo.getShopId()); + OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", + orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), + orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), + "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, + (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), + "0", detailList, orderInfo.getRemark(), null, null); + String printType = "结算单"; + FeieyunPrintUtil.getCashPrintData(detailPO, machine.getAddress(), printType, printType); } @Override