From 493f8563b380052ef1702d65063edd0849f4da04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Fri, 11 Oct 2024 10:45:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=AE=A1=E7=90=86-=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E9=85=8D=E7=BD=AE=EF=BC=9A=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/entity/TbPrintMachine.java | 10 +++++++ .../entity/TbPrintMachineLog.java | 2 +- .../entity/dto/ShopPrintLogDTO.java | 2 +- .../rabbit/print/FeiPrinter.java | 4 +-- .../rabbit/print/LocalLabelPrinter.java | 4 +-- .../rabbit/print/PrinterHandler.java | 26 +++++++------------ .../rabbit/print/YxyPrinter.java | 6 ++--- .../mapper/TbPrintMachineLogMapper.xml | 2 +- 8 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachine.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachine.java index 61ef6b4..9f11261 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachine.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachine.java @@ -28,6 +28,8 @@ public class TbPrintMachine implements Serializable { private String categoryIds; + private String categoryList; + private String contentType; private Long createdAt; @@ -200,6 +202,14 @@ public class TbPrintMachine implements Serializable { return receiptSize; } + public String getCategoryList() { + return categoryList; + } + + public void setCategoryList(String categoryList) { + this.categoryList = categoryList; + } + public void setReceiptSize(String receiptSize) { this.receiptSize = receiptSize; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachineLog.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachineLog.java index f74d311..1236732 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachineLog.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbPrintMachineLog.java @@ -65,7 +65,7 @@ public class TbPrintMachineLog implements Serializable { */ private String printQty; /** - * 打印方式 1-普通 2-单个菜 + * 打印方式 normal-普通出单 one-一菜一品 callTicket-排队取号 */ private String printMethod; /** diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrintLogDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrintLogDTO.java index c857921..0fc219b 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrintLogDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ShopPrintLogDTO.java @@ -59,7 +59,7 @@ public class ShopPrintLogDTO implements Serializable { */ private String printQty; /** - * 打印方式 1-普通 2-单个菜 + * 打印方式 normal-普通出单 one-一菜一品 callTicket-排队取号 */ private String printMethod; /** 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 3e539c0..d2a048b 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 @@ -22,7 +22,7 @@ import java.util.List; @Component @Slf4j -public class FeiPrinter extends PrinterHandler{ +public class FeiPrinter extends PrinterHandler { private final MPOrderInfoMapper mPOrderInfoMapper; private final MpShopInfoMapper mpShopInfoMapper; @@ -88,7 +88,7 @@ public class FeiPrinter extends PrinterHandler{ } @Override - protected void callNumPrint(CallNumPrintDTO printDTO) { + protected void callNumPrint(TbPrintMachine machine, CallNumPrintDTO printDTO) { log.error("未实现打印方法"); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/LocalLabelPrinter.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/LocalLabelPrinter.java index 5985e43..d61639d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/LocalLabelPrinter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/LocalLabelPrinter.java @@ -22,7 +22,7 @@ import java.util.List; @Component @Slf4j -public class LocalLabelPrinter extends PrinterHandler{ +public class LocalLabelPrinter extends PrinterHandler { private final MPOrderDetailMapper mPOrderDetailMapper; private final TbProductSkuMapper tbProductSkuMapper; @@ -67,7 +67,7 @@ public class LocalLabelPrinter extends PrinterHandler{ } @Override - protected void callNumPrint(CallNumPrintDTO printDTO) { + protected void callNumPrint(TbPrintMachine machine, CallNumPrintDTO printDTO) { log.error("未实现打印方法"); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java index 3fc5dfc..a3dae45 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/PrinterHandler.java @@ -1,27 +1,22 @@ package com.chaozhanggui.system.cashierservice.rabbit.print; -import cn.hutool.core.lang.func.Func0; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; 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.exception.MsgException; import com.chaozhanggui.system.cashierservice.model.CategoryInfo; import com.chaozhanggui.system.cashierservice.model.OrderDetailPO; -import com.chaozhanggui.system.cashierservice.util.DateUtils; import com.chaozhanggui.system.cashierservice.util.JSONUtil; -import com.chaozhanggui.system.cashierservice.util.PrinterUtils; import com.chaozhanggui.system.cashierservice.util.Utils; import lombok.Setter; import lombok.ToString; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; import java.util.ArrayList; -import java.util.Date; import java.util.List; @Slf4j @@ -43,14 +38,13 @@ public abstract class PrinterHandler { } protected void print(TbPrintMachine machine, boolean isReturn, TbOrderInfo orderInfo, List tbOrderDetailList, CallNumPrintDTO printDTO) { - String configStr = machine.getConfig(); - Utils.checkValueUnReturn(configStr, "打印机配置为空"); - JSONObject config = JSONObject.parseObject(configStr); - String model = JSONObject.parseObject(configStr).getString("model"); + String printMethod = machine.getPrintMethod(); + if (StrUtil.isBlank(printMethod)) { + throw new MsgException("打印机配置为空"); + } + List categoryInfos = JSONUtil.parseJSONStr2TList(StrUtil.emptyToDefault(machine.getCategoryList(), "[]"), CategoryInfo.class); - List categoryInfos = JSONUtil.parseJSONStr2TList(config.getJSONArray("categoryList").toString(), CategoryInfo.class); - - switch (model) { + switch (printMethod) { case "one": tbOrderDetailList.forEach(item -> { log.info("开始打印退单菜品,商品名:{}", item.getProductName()); @@ -122,10 +116,10 @@ public abstract class PrinterHandler { } break; case "callTicket": - callNumPrint(printDTO); + callNumPrint(machine, printDTO); break; default: - log.warn("未知打印类型: {}", model); + log.warn("未知打印类型: {}", printMethod); } } @@ -149,7 +143,7 @@ public abstract class PrinterHandler { protected abstract void normalOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List detailList); - protected abstract void callNumPrint(CallNumPrintDTO printDTO); + protected abstract void callNumPrint(TbPrintMachine machine, CallNumPrintDTO printDTO); // 抽象方法,子类实现判断能否处理请求 boolean canHandleRequest(String currentBrand, String connectType) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/YxyPrinter.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/YxyPrinter.java index a1f0e2f..da2f20b 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/YxyPrinter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/print/YxyPrinter.java @@ -121,7 +121,7 @@ public class YxyPrinter extends PrinterHandler { } @Override - protected void callNumPrint(CallNumPrintDTO printDTO) { + protected void callNumPrint(TbPrintMachine machine, CallNumPrintDTO printDTO) { TbCallQueue queue = tbCallQueueMapper.selectById(printDTO.getCallQueueId()); if (queue == null) { log.warn("叫号记录不存在"); @@ -146,9 +146,7 @@ public class YxyPrinter extends PrinterHandler { po.setShopNote(StrUtil.format("过号顺延{}桌 {}桌后需重新排号 谢谢理解!", tbCallTable.getPostponeNum(), tbCallTable.getPostponeNum())); String data = PrinterUtils.getCallNumPrintData(po); String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一条新的排号记录\"}"; - String resp = PrinterUtils.printTickets(voiceJson, 3, 1, "ZF544PG03W00005", data); - TbPrintMachine machine = new TbPrintMachine(); - machine.setAddress("ZF544PG03W00005"); + String resp = PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data); shopPrintLogService.save(machine, "叫号单", data, resp); } diff --git a/src/main/resources/mapper/TbPrintMachineLogMapper.xml b/src/main/resources/mapper/TbPrintMachineLogMapper.xml index 0646fab..8e8ed76 100644 --- a/src/main/resources/mapper/TbPrintMachineLogMapper.xml +++ b/src/main/resources/mapper/TbPrintMachineLogMapper.xml @@ -1,7 +1,7 @@ - + \ No newline at end of file