多次播放问题

This commit is contained in:
2026-04-21 09:57:47 +08:00
parent d3391278af
commit 40bdb2a5c3
3 changed files with 7 additions and 14 deletions

View File

@@ -51,7 +51,7 @@ public class FinanceStsController {
} }
/** /**
* 日结单 * 打印日结单
*/ */
@GetMapping("/printDaySettle") @GetMapping("/printDaySettle")
public CzgResult<Void> printDaySettle(SaleSummaryCountParam param) { public CzgResult<Void> printDaySettle(SaleSummaryCountParam param) {

View File

@@ -148,18 +148,19 @@ public class PrintConfig implements ApplicationRunner {
log.info("准备开始打印菜品单"); log.info("准备开始打印菜品单");
//后厨单菜品 //后厨单菜品
boolean isNotice = true; boolean isNotice = true;
tbOrderDetailList.forEach(item -> { for (OrderDetail item : tbOrderDetailList) {
Boolean b = redisService.hasKey(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId())); Boolean b = redisService.hasKey(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()));
if (!b) { if (!b) {
if (!isNotice) { if (!isNotice) {
machine.setVolumeSwitch(0); machine.setVolumeSwitch(0);
} }
isNotice = false;
FunUtils.safeRunVoid(() -> printer.onlyKitchenPrint(orderInfo, item, machine), FunUtils.safeRunVoid(() -> printer.onlyKitchenPrint(orderInfo, item, machine),
"订单id:{} ,后厨分单打印失败", orderInfo.getId()); "订单id:{} ,后厨分单打印失败", orderInfo.getId());
// 保存已打印信息 // 保存已打印信息
redisService.set(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()), "", 20); redisService.set(RedisCst.kitchenOnly(orderInfo.getId(), machine.getId(), item.getId()), "", 20);
} }
}); }
break; break;
case PrinterHandler.PrintTypeEnum.ALL_KITCHEN: case PrinterHandler.PrintTypeEnum.ALL_KITCHEN:
// 判断订单是否是先付费或者已结算 // 判断订单是否是先付费或者已结算

View File

@@ -71,7 +71,7 @@ public class YxyPrinter extends PrinterHandler implements PrinterImpl {
String buildDishPrintData = buildAllKitchenPrintData(orderPrintDTO, orderDetails); String buildDishPrintData = buildAllKitchenPrintData(orderPrintDTO, orderDetails);
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}"; String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
if (1 == machine.getVolumeSwitch()) { if (1 == machine.getVolumeSwitch()) {
voiceJson = "{\"bizType\":\"2\",\"content\":\"有客人退菜了,请注意查看\"}"; voiceJson = "{\"bizType\":\"2\",\"content\":\"新单来了,请注意查看\"}";
} }
String resp = sendPrintRequest(machine.getAddress(), buildDishPrintData, voiceJson, machine.getPrintNum() == null ? "1" : machine.getPrintNum().toString()); String resp = sendPrintRequest(machine.getAddress(), buildDishPrintData, voiceJson, machine.getPrintNum() == null ? "1" : machine.getPrintNum().toString());
printMachineLogService.save(orderInfo.getId(), machine, "后厨总单", buildDishPrintData, resp); printMachineLogService.save(orderInfo.getId(), machine, "后厨总单", buildDishPrintData, resp);
@@ -221,20 +221,13 @@ public class YxyPrinter extends PrinterHandler implements PrinterImpl {
@Override @Override
public String sendPrintRequest(String address, String metaPrintData, String voiceData, String printNum) { public String sendPrintRequest(String address, String metaPrintData, String voiceData, String printNum) {
log.info("开始请求云享印,请求数据:{}, {}", voiceData, metaPrintData); log.info("开始请求云享印,请求数据:{}, {}", voiceData, metaPrintData);
//设备名称
//行为方式 1:只打印数据 2:只播放信息 3:打印数据并播放信息
// actWay = 3;
//打印联数
// int cn = 1;
//打印内容
//播报语音数据体,字段参考文档IOT_XY_API11001
String time = String.valueOf(System.currentTimeMillis()); String time = String.valueOf(System.currentTimeMillis());
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
//参数 //参数
MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>(); MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
multiValueMap.add("token", getToken(time, uuid)); multiValueMap.add("token", getToken(time, uuid));
multiValueMap.add("devName", address); multiValueMap.add("devName", address);
//1:只打印数据 2:只播放信息 3:打印数据并播放信息
multiValueMap.add("actWay", 3); multiValueMap.add("actWay", 3);
multiValueMap.add("cn", printNum); multiValueMap.add("cn", printNum);
multiValueMap.add("data", metaPrintData); multiValueMap.add("data", metaPrintData);
@@ -256,8 +249,7 @@ public class YxyPrinter extends PrinterHandler implements PrinterImpl {
/** /**
* 获取TOKEN值 * 签名Token
*
* @param timestamp 时间戳13位 * @param timestamp 时间戳13位
* @param requestId 请求ID自定义 * @param requestId 请求ID自定义
* @return token信息 * @return token信息