From a2fa449ca2ebd19aa18fe50eec7f6273d2bfcdcd Mon Sep 17 00:00:00 2001 From: like <1025687351@qq.com> Date: Wed, 2 Apr 2025 20:16:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=96=8A=E8=AF=9D=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/mqtt/property/PropertySetPublish.java | 5 +- .../controller/MegaphoneController.java | 70 ++++++++++++++----- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetPublish.java b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetPublish.java index f240de8..812c364 100644 --- a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetPublish.java +++ b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/mqtt/property/PropertySetPublish.java @@ -1,5 +1,6 @@ package org.dromara.common.sdk.mqtt.property; +import org.dromara.common.sdk.mqtt.CommonTopicResponse; import org.dromara.common.sdk.mqtt.MegaphoneTopicRequest; import org.dromara.common.sdk.mqtt.MqttGatewayPublish; import org.dromara.common.sdk.mqtt.TopicConst; @@ -39,9 +40,9 @@ public class PropertySetPublish { } - public PropertySetReplyResultEnum publishPlayText(String topic, Object data, String method) { + public CommonTopicResponse publishPlayText(String topic, Object data, String method) { return gatewayPublish.publishPlayTextWithReply( - PropertySetReplyResultEnum.class, topic, new MegaphoneTopicRequest<>() + CommonTopicResponse.class, topic, new MegaphoneTopicRequest<>() .setTid(UUID.randomUUID().toString()) .setBid(null) .setMethod(method) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/MegaphoneController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/MegaphoneController.java index efe389f..08acb12 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/MegaphoneController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/MegaphoneController.java @@ -10,16 +10,17 @@ import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.business.api.RemoteBusinessTaskService; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.sdk.cloudapi.wayline.WaylineMethodEnum; import org.dromara.common.sdk.common.HttpResultResponse; import org.dromara.common.sdk.common.PaginationData; import org.dromara.common.sdk.exception.CloudSDKErrorEnum; -import org.dromara.common.sdk.mqtt.CommonTopicRequest; -import org.dromara.common.sdk.mqtt.MegaphoneTopicRequest; -import org.dromara.common.sdk.mqtt.MqttGatewayPublish; -import org.dromara.common.sdk.mqtt.TopicConst; +import org.dromara.common.sdk.mqtt.*; import org.dromara.common.sdk.mqtt.property.PropertySetPublish; import org.dromara.common.sdk.mqtt.property.PropertySetReplyResultEnum; import org.dromara.common.sdk.mqtt.property.TopicPropertySetRequest; +import org.dromara.common.sdk.mqtt.services.ServicesPublish; +import org.dromara.common.sdk.mqtt.services.ServicesReplyReceiver; +import org.dromara.common.sdk.mqtt.services.TopicServicesRequest; import org.dromara.sample.manage.model.dto.*; import org.dromara.sample.manage.service.IDeviceService; import org.dromara.system.api.RemoteConfigService; @@ -29,6 +30,9 @@ import org.springframework.web.bind.annotation.*; import java.util.*; +import static org.dromara.common.sdk.mqtt.MqttGatewayPublish.DEFAULT_RETRY_COUNT; +import static org.dromara.common.sdk.mqtt.MqttGatewayPublish.DEFAULT_RETRY_TIMEOUT; + /** * @author sean.zhou * @version 0.1 @@ -44,6 +48,9 @@ public class MegaphoneController { @Resource private MqttGatewayPublish gatewayPublish; + @Resource + private ServicesPublish servicesPublish; + @Resource PropertySetPublish propertySetPublish; @@ -61,10 +68,16 @@ public class MegaphoneController { @RequestParam("gatewaySn") String gatewaySn, @RequestBody PlayStartDTO param ) { - String top = TOPIC+"gatewaySn"+"/services"; + String top = TOPIC+gatewaySn+"/services"; //发送mqtt - propertySetPublish.publishPlayText(top,param,"speaker_tts_play_start"); - return HttpResultResponse.success(); + CommonTopicResponse servicesReplyReceiverCommonTopicResponse = gatewayPublish.publishWithReply( + ServicesReplyReceiver.class, top, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("speaker_tts_play_start") + .setData(param), DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT); + return HttpResultResponse.success(servicesReplyReceiverCommonTopicResponse); } /** @@ -80,8 +93,14 @@ public class MegaphoneController { ) { String top = TOPIC+gatewaySn+"/services"; //发送mqtt - propertySetPublish.publishPlayText(top,param,"speaker_replay"); - return HttpResultResponse.success(); + CommonTopicResponse servicesReplyReceiverCommonTopicResponse = gatewayPublish.publishWithReply( + ServicesReplyReceiver.class, top, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("speaker_replay") + .setData(param), DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT); + return HttpResultResponse.success(servicesReplyReceiverCommonTopicResponse); } /** * 喊话器-暂停播放文档 @@ -96,8 +115,14 @@ public class MegaphoneController { ) { String top = TOPIC+gatewaySn+"/services"; //发送mqtt - propertySetPublish.publishPlayText(top,param,"speaker_play_stop"); - return HttpResultResponse.success(); + CommonTopicResponse servicesReplyReceiverCommonTopicResponse = gatewayPublish.publishWithReply( + ServicesReplyReceiver.class, top, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("speaker_play_stop") + .setData(param), DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT); + return HttpResultResponse.success(servicesReplyReceiverCommonTopicResponse); } /** @@ -113,8 +138,14 @@ public class MegaphoneController { ) { String top = TOPIC+gatewaySn+"/services"; //发送mqtt - propertySetPublish.publishPlayText(top,param,"speaker_play_mode_set"); - return HttpResultResponse.success(); + CommonTopicResponse servicesReplyReceiverCommonTopicResponse = gatewayPublish.publishWithReply( + ServicesReplyReceiver.class, top, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("speaker_play_mode_set") + .setData(param), DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT); + return HttpResultResponse.success(servicesReplyReceiverCommonTopicResponse); } @@ -127,20 +158,25 @@ public class MegaphoneController { */ @PostMapping("/{workspace_id}/widgetValueSet") @Operation(summary = "喊话器-设置音量。", description = "喊话器-设置音量。") - public int widgetValueSet(@PathVariable("workspace_id") String workspaceId, + public HttpResultResponse widgetValueSet(@PathVariable("workspace_id") String workspaceId, @RequestParam("gatewaySn") String gatewaySn, @RequestBody PlayVolumeDTO param ) { String top = TOPIC+gatewaySn+"/services"; //发送mqtt - PropertySetReplyResultEnum psdkWidgetValueSet = propertySetPublish.publishPlayText(top,param,"psdk_widget_value_set"); - return psdkWidgetValueSet.getResult(); + CommonTopicResponse servicesReplyReceiverCommonTopicResponse = gatewayPublish.publishWithReply( + ServicesReplyReceiver.class, top, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("speaker_play_volume_set") + .setData(param), DEFAULT_RETRY_COUNT, DEFAULT_RETRY_TIMEOUT); + return HttpResultResponse.success(servicesReplyReceiverCommonTopicResponse); } - /** * 获取媒体流ip * Get the topology list of all online devices in one workspace.