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 1/4] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E9=85=8D=E7=BD=AE=EF=BC=9A=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E6=9C=BA=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 From 85c25685ea11ee5f1f060da357c1fcf6105c6cfd 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 16:44:31 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=94=AF=E4=BB=98=E6=88=90=E5=8A=9F=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/service/OrderService.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index fdf035e..42a41b8 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -125,6 +125,9 @@ public class OrderService { @Resource private TbOrderPaymentMapper tbOrderPaymentMapper; + @Resource + private MPOrderDetailMapper mpOrderDetailMapper; + public OrderService(WxAccountUtil wxAccountUtil, MPCashierCartMapper mpCashierCartMapper, TbShopOpenIdMapper shopOpenIdMapper, MpShopTableMapper mpShopTableMapper, @@ -1888,5 +1891,15 @@ public class OrderService { } tbOrderPaymentMapper.updateByPrimaryKey(payment); } + mpOrderDetailMapper.update(null, new LambdaUpdateWrapper() + .eq(TbOrderDetail::getOrderId, entity.getId()) + .set(TbOrderDetail::getStatus, "closed") + .set(TbOrderDetail::getUpdateTime, new Date()) + ); + mpCashierCartMapper.update(null, new LambdaUpdateWrapper(). + eq(TbCashierCart::getOrderId, entity.getId()) + .set(TbCashierCart::getStatus, "final") + .set(TbCashierCart::getUpdatedAt, System.currentTimeMillis()) + ); } } From 339cf1241ca59c56da4534e01f74b8d930187a9e 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 17:04:32 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=94=AF=E4=BB=98=E6=88=90=E5=8A=9F=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/OrderService.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 42a41b8..410842a 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -1901,5 +1901,20 @@ public class OrderService { .set(TbCashierCart::getStatus, "final") .set(TbCashierCart::getUpdatedAt, System.currentTimeMillis()) ); + if (StrUtil.isBlank(entity.getTableId())) { + return; + } + mpShopTableMapper.update(null, new LambdaUpdateWrapper() + .eq(TbShopTable::getQrcode, entity.getTableId()) + .eq(TbShopTable::getAutoClear, 1) + .set(TbShopTable::getStatus, "idle") + .set(TbShopTable::getUpdatedAt, System.currentTimeMillis()) + ); + mpShopTableMapper.update(null, new LambdaUpdateWrapper() + .eq(TbShopTable::getQrcode, entity.getTableId()) + .eq(TbShopTable::getAutoClear, 0) + .set(TbShopTable::getStatus, "cleaning") + .set(TbShopTable::getUpdatedAt, System.currentTimeMillis()) + ); } } From 1183132bcf1c20d1d33762bbfab133a2add9b10e 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 17:08:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=94=AF=E4=BB=98=E6=88=90=E5=8A=9F=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/entity/TbShopTable.java | 5 ++++- .../system/cashierservice/service/OrderService.java | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopTable.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopTable.java index 044a26a..3294d8f 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopTable.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopTable.java @@ -41,5 +41,8 @@ public class TbShopTable implements Serializable { private Integer autoClear; - + private Integer productNum; + private BigDecimal totalAmount; + private BigDecimal realAmount; + private Integer useNum; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 410842a..1772411 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -1908,12 +1908,20 @@ public class OrderService { .eq(TbShopTable::getQrcode, entity.getTableId()) .eq(TbShopTable::getAutoClear, 1) .set(TbShopTable::getStatus, "idle") + .set(TbShopTable::getProductNum, 0) + .set(TbShopTable::getTotalAmount, BigDecimal.ZERO) + .set(TbShopTable::getRealAmount, BigDecimal.ZERO) + .set(TbShopTable::getUseNum, 0) .set(TbShopTable::getUpdatedAt, System.currentTimeMillis()) ); mpShopTableMapper.update(null, new LambdaUpdateWrapper() .eq(TbShopTable::getQrcode, entity.getTableId()) .eq(TbShopTable::getAutoClear, 0) .set(TbShopTable::getStatus, "cleaning") + .set(TbShopTable::getProductNum, 0) + .set(TbShopTable::getTotalAmount, BigDecimal.ZERO) + .set(TbShopTable::getRealAmount, BigDecimal.ZERO) + .set(TbShopTable::getUseNum, 0) .set(TbShopTable::getUpdatedAt, System.currentTimeMillis()) ); }