diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderConfirmEventHandler.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderConfirmEventHandler.java index 129c224b..6a3a4231 100644 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderConfirmEventHandler.java +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/integration/consumer/CleanOrderConfirmEventHandler.java @@ -98,14 +98,14 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener { // 4. 状态检查 // 如果已在进行中 (CONFIRMED or ARRIVED),提示"工单已在进行中" if (currentStatus == WorkOrderStatusEnum.CONFIRMED || currentStatus == WorkOrderStatusEnum.ARRIVED) { - sendTTS(event.getDeviceId(), TTS_ORDER_IN_PROGRESS); + sendTts(event.getDeviceId(), TTS_ORDER_IN_PROGRESS); return; } // 检查是否可以确认 if (!currentStatus.canConfirm()) { log.warn("[CleanOrderConfirmEventHandler] 当前状态无法确认工单: orderId={}, status={}", orderId, currentStatus); - sendTTS(event.getDeviceId(), TTS_CANNOT_CONFIRM); + sendTts(event.getDeviceId(), TTS_CANNOT_CONFIRM); return; } @@ -130,7 +130,7 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener { // 7. 发送 TTS 通知 // "工单已确认,请前往{AreaName}开始作业" - sendTTS(event.getDeviceId(), TTS_CONFIRM_SUCCESS); + sendTts(event.getDeviceId(), TTS_CONFIRM_SUCCESS); } catch (Exception e) { log.error("[CleanOrderConfirmEventHandler] 消息处理失败: message={}", message, e); @@ -141,22 +141,30 @@ public class CleanOrderConfirmEventHandler implements RocketMQListener { /** * 发送 TTS 语音播报 */ - private void sendTTS(Long deviceId, String text) { + private void sendTts(Long deviceId, String text) { if (deviceId == null) { return; } try { Map params = new HashMap<>(); params.put("text", text); + params.put("volume", 80); IotDeviceServiceInvokeReqDTO req = IotDeviceServiceInvokeReqDTO.builder() .deviceId(deviceId) - .identifier("TTS") + .identifier("playVoice") .params(params) - .timeoutSeconds(10) + .timeoutSeconds(30) .build(); - iotDeviceControlApi.invokeService(req); + var result = iotDeviceControlApi.invokeService(req); + + if (result.getData() != null && result.getData().getSuccess()) { + log.info("[CleanOrderConfirmEventHandler] TTS 下发成功: deviceId={}, text={}", deviceId, text); + } else { + log.warn("[CleanOrderConfirmEventHandler] TTS 下发失败: deviceId={}, error={}", + deviceId, result.getData() != null ? result.getData().getErrorMsg() : "Unknown error"); + } } catch (Exception e) { log.error("[CleanOrderConfirmEventHandler] TTS 发送失败: deviceId={}", deviceId, e); }