From e7693366162c56bfe7ec299c556fa5964daa0354 Mon Sep 17 00:00:00 2001 From: stream Date: Tue, 14 Oct 2025 14:53:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BF=9E=E7=BB=AD=E8=AF=AD=E6=96=99?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=92=E5=BA=8F=E5=AD=97=E6=AE=B5=EF=BC=8C?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=B0=83=E7=94=A8=E6=97=B6=E6=8C=89=E7=85=A7?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operator/vi/ViPlayOperateService.java | 30 +++++++++---------- .../operator/vi/ViSchemeOperateService.java | 11 ++++++- .../com/cmvr/vi/model/domain/ViCorpus.java | 4 +++ .../vi/model/vo/ViContinuousCorpusVO.java | 3 ++ .../vi/service/impl/IViCorpusServiceImpl.java | 4 +++ 5 files changed, 36 insertions(+), 16 deletions(-) diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViPlayOperateService.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViPlayOperateService.java index c6a387e..7c5073a 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViPlayOperateService.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViPlayOperateService.java @@ -41,23 +41,23 @@ public class ViPlayOperateService implements VIOperateService { String audioPath = inputParams.getString("audioPath"); String terminalId = message.getTerminalId(); // log.info("播放语料成功,deviceId={},audioPath={},terminalId={}", deviceId, audioPath, terminalId); - edgeSpeakerService.playAudio(terminalId, deviceId, audioPath); - // 等待播放完成 - while (true) { - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - SpeakerCommand.GetSpeakerStateCommand.Feedback status = edgeSpeakerService.getStatus(terminalId, deviceId); - boolean isRunning = status.getState().getIsRunning(); - if (!isRunning) { - break; - } - } +// edgeSpeakerService.playAudio(terminalId, deviceId, audioPath); +// // 等待播放完成 +// while (true) { +// try { +// Thread.sleep(1000); +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } +// SpeakerCommand.GetSpeakerStateCommand.Feedback status = edgeSpeakerService.getStatus(terminalId, deviceId); +// boolean isRunning = status.getState().getIsRunning(); +// if (!isRunning) { +// break; +// } +// } // todo 本机测试播放 -// playAudio(audioPath); + playAudio(audioPath); return TaskNodeExecuteResult.success(); } diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViSchemeOperateService.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViSchemeOperateService.java index cc70591..d321a09 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViSchemeOperateService.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/vi/ViSchemeOperateService.java @@ -73,8 +73,17 @@ public class ViSchemeOperateService implements VIOperateService { obj -> obj.getString("parentId") )); - // 转成 List> + // 转成 List> 并排序 List> continuousCorpusGroup = new ArrayList<>(grouped.values()); + continuousCorpusGroup.sort((group1, group2) -> { + Integer sort1 = group1.get(0).getInteger("sortParent"); + Integer sort2 = group2.get(0).getInteger("sortParent"); + + if (sort1 == null && sort2 == null) return 0; + if (sort1 == null) return 1; // null 排后面 + if (sort2 == null) return -1; // null 排后面 + return Integer.compare(sort1, sort2); + }); output.put("testCorpus", continuousCorpusGroup); break; diff --git a/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/domain/ViCorpus.java b/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/domain/ViCorpus.java index 0af674e..51c39c6 100644 --- a/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/domain/ViCorpus.java +++ b/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/domain/ViCorpus.java @@ -49,6 +49,10 @@ public class ViCorpus extends BaseEntity { @ApiModelProperty("预期结果(预留)") private String expectedResult; + @Excel(name = "连续语料的顺序") + @ApiModelProperty("连续语料的顺序") + private Integer sortParent; + @Excel(name = "同一父语料下的顺序") @ApiModelProperty("同一父语料下的顺序") private Integer sortOrder; diff --git a/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/vo/ViContinuousCorpusVO.java b/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/vo/ViContinuousCorpusVO.java index 54c3ab1..a1ad0ea 100644 --- a/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/vo/ViContinuousCorpusVO.java +++ b/cmvr-iot-vi/src/main/java/com/cmvr/vi/model/vo/ViContinuousCorpusVO.java @@ -23,6 +23,9 @@ public class ViContinuousCorpusVO { @ApiModelProperty("方言") private String dialect; + @ApiModelProperty("连续语料的顺序") + private Integer sortParent; + @ApiModelProperty("子语料列表") private List children; } diff --git a/cmvr-iot-vi/src/main/java/com/cmvr/vi/service/impl/IViCorpusServiceImpl.java b/cmvr-iot-vi/src/main/java/com/cmvr/vi/service/impl/IViCorpusServiceImpl.java index 46bcbee..238f391 100644 --- a/cmvr-iot-vi/src/main/java/com/cmvr/vi/service/impl/IViCorpusServiceImpl.java +++ b/cmvr-iot-vi/src/main/java/com/cmvr/vi/service/impl/IViCorpusServiceImpl.java @@ -98,6 +98,10 @@ public class IViCorpusServiceImpl extends ServiceImpl .orderByAsc(ViCorpus::getSortOrder) ); vo.setChildren(children); + if (CollUtil.isNotEmpty(children)) { + Integer sortParent = children.get(0).getSortParent(); + vo.setSortParent(sortParent); + } } return list;