From 0034eb6767719f0cbe4d3ee6a10851d4c90cbc43 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 15 Nov 2023 19:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9Elisten?= =?UTF-8?q?=EF=BC=8C=E6=96=B9=E4=BE=BF=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E6=98=AF=E5=90=A6=E8=81=86=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/box/websocket/api/command/TimeActionCommand.java | 2 +- .../iot/box/websocket/api/domain/BaseMessageResp.java | 5 +++++ .../qiuguo/iot/box/websocket/api/domain/BaseSession.java | 4 ++++ .../iot/box/websocket/api/domain/box/BoxSession.java | 4 ++++ .../box/websocket/api/handler/BoxWebSocketHandler.java | 1 + .../box/websocket/api/service/BaseWebSocketService.java | 8 +++++++- 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/command/TimeActionCommand.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/command/TimeActionCommand.java index 9360c19..d0198ca 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/command/TimeActionCommand.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/command/TimeActionCommand.java @@ -64,7 +64,7 @@ public class TimeActionCommand extends ActionCommand implements IActionCommand{ resp.setText(action.getAsk().replaceAll(action.getAction(), getDayOfWeek(action.getTime().getDetailTime().getLocalDateTime().format(df)))); resp.setTime(dateTimeResp); - return baseWebSocketService.sendMessage( + return baseWebSocketService.send .Message( action, baseSession, resp); diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseMessageResp.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseMessageResp.java index 7703a68..6cd9a82 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseMessageResp.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseMessageResp.java @@ -14,6 +14,11 @@ public class BaseMessageResp { */ protected String text; + /** + * 播放完成后是否继续聆听 1:聆听 0:不聆听(需要唤醒) + */ + protected Integer listen = 1; + /** * 在线播放音乐信息 diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseSession.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseSession.java index 6c78d77..89bb5a1 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseSession.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/BaseSession.java @@ -8,6 +8,10 @@ import reactor.core.publisher.FluxSink; @Data public class BaseSession { + /** + * 透传给box是否继续聆听 1 是 0:不聆听(需要唤醒) + */ + Integer listen = 1; /** * session类型,0 box 1 用户 */ diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/box/BoxSession.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/box/BoxSession.java index 1e72b06..3546c57 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/box/BoxSession.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/domain/box/BoxSession.java @@ -11,4 +11,8 @@ public class BoxSession extends BaseSession { * 阿里token */ String aliToken; + + /** + * + */ } diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java index bb0d896..6ec7aa7 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/handler/BoxWebSocketHandler.java @@ -172,6 +172,7 @@ public class BoxWebSocketHandler implements WebSocketHandler { return Mono.empty(); }else{ boxTalkMessage.setMessage(alarm.getAction()); + boxSession.setListen(YesNo.NO.getCode()); return processMessage(boxSession, boxTalkMessage); } }); diff --git a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java index 1e36fdf..54b47bc 100644 --- a/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java +++ b/iot-modules/iot-box-websocket-api/src/main/java/com/qiuguo/iot/box/websocket/api/service/BaseWebSocketService.java @@ -153,10 +153,12 @@ public class BaseWebSocketService { BaseMessageResp resp = new BaseMessageResp(); resp.setType(type); resp.setText(message); + resp.setListen(baseSession.getListen()); return sendMessage(action, baseSession, resp); } public Mono sendMessage(Action action, BaseSession baseSession, BaseMessageResp resp){ + resp.setListen(baseSession.getListen()); DeviceUserTalkRecordEntity talkRecord = new DeviceUserTalkRecordEntity(); talkRecord.setAskType(resp.getType()); talkRecord.setAskValue(action.getAsk()); @@ -194,6 +196,7 @@ public class BaseWebSocketService { BoxMessageResp resp = new BoxMessageResp(); resp.setType(type); resp.setText(message); + resp.setListen(baseSession.getListen()); sendMsg(baseSession, resp); } @@ -202,7 +205,7 @@ public class BaseWebSocketService { resp.setType(type); resp.setText(message); resp.getTts().setStatus(finish); - + resp.setListen(baseSession.getListen()); return sendMsgWithMono(baseSession, resp); } @@ -266,6 +269,7 @@ public class BaseWebSocketService { BoxMessageResp boxMessageResp = new BoxMessageResp(); BeanUtils.copyProperties(baseMessageResp, boxMessageResp); boxMessageResp.setText(text); + boxMessageResp.setListen(baseSession.getListen()); return sendAudioMessage(baseSession, boxMessageResp).flatMap(s -> { return Mono.just(true); }); @@ -299,6 +303,7 @@ public class BaseWebSocketService { BoxMessageResp boxMessageResp = new BoxMessageResp(); BeanUtils.copyProperties(baseMessageResp, boxMessageResp); boxMessageResp.setText(text); + boxMessageResp.setListen(baseSession.getListen()); sendAudioMessage(baseSession, boxMessageResp).subscribe(); } return; @@ -344,6 +349,7 @@ public class BaseWebSocketService { BeanUtils.copyProperties(baseMessageResp, boxMessageResp); boxMessageResp.setText(message); boxMessageResp.getTts().setStatus(status); + boxMessageResp.setListen(baseSession.getListen()); return sendAudioMessage(baseSession, boxMessageResp).flatMap(s -> { return sendAudioMessage(baseSession, baseMessageResp, builder, text, m, length, requestId); });