多次播放问题

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")
public CzgResult<Void> printDaySettle(SaleSummaryCountParam param) {

View File

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

View File

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