From 619f06aaf0f3febae6044555a587e5089119ae6d Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Fri, 6 Jun 2025 18:43:15 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=B4=9F=E8=BD=BD?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/cloudapi/map/api/AbstractOfflineMapService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java index 19e3f97..28f2c25 100644 --- a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java +++ b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java @@ -78,10 +78,14 @@ public abstract class AbstractOfflineMapService { * @param request data * @param headers The headers for a {@link Message}. * @return events_reply + * TopicRequestsResponse> */ @ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_OFFLINE_MAP_GET, outputChannel = ChannelName.OUTBOUND_REQUESTS) @CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_1, include = GatewayTypeEnum.DOCK2) - public TopicRequestsResponse> offlineMapGet(TopicRequestsRequest request, MessageHeaders headers) { - throw new UnsupportedOperationException("offlineMapGet not implemented"); + public void offlineMapGet(TopicRequestsRequest request, MessageHeaders headers) { + servicesPublish.publish( + request.getGateway(), + "offline_map_get"); + //throw new UnsupportedOperationException("offlineMapGet not implemented"); } } From fc2288417c148badd79d1b4021bd059b3b8eac4b Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Fri, 6 Jun 2025 19:05:36 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=B4=9F=E8=BD=BD?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/api/AbstractOfflineMapService.java | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java index 28f2c25..9426236 100644 --- a/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java +++ b/dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java @@ -10,12 +10,12 @@ import org.dromara.common.sdk.config.version.CloudSDKVersionEnum; import org.dromara.common.sdk.config.version.GatewayManager; import org.dromara.common.sdk.config.version.GatewayTypeEnum; import org.dromara.common.sdk.mqtt.ChannelName; +import org.dromara.common.sdk.mqtt.MqttGatewayPublish; import org.dromara.common.sdk.mqtt.MqttReply; +import org.dromara.common.sdk.mqtt.TopicConst; import org.dromara.common.sdk.mqtt.requests.TopicRequestsRequest; import org.dromara.common.sdk.mqtt.requests.TopicRequestsResponse; -import org.dromara.common.sdk.mqtt.services.ServicesPublish; -import org.dromara.common.sdk.mqtt.services.ServicesReplyData; -import org.dromara.common.sdk.mqtt.services.TopicServicesResponse; +import org.dromara.common.sdk.mqtt.services.*; import org.dromara.common.sdk.mqtt.state.TopicStateRequest; import org.dromara.common.sdk.mqtt.state.TopicStateResponse; import jakarta.annotation.Resource; @@ -23,6 +23,11 @@ import org.springframework.integration.annotation.ServiceActivator; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; +import java.util.Objects; +import java.util.UUID; + +import static org.springframework.integration.context.IntegrationContextUtils.DEFAULT_TIMEOUT; + /** * @author sean @@ -34,6 +39,10 @@ public abstract class AbstractOfflineMapService { @Resource private ServicesPublish servicesPublish; + @Resource + private MqttGatewayPublish gatewayPublish; + + /** * When the offline map is closed, offline map synchronization will no longer automatically synchronize. * @param request data @@ -83,9 +92,15 @@ public abstract class AbstractOfflineMapService { @ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_OFFLINE_MAP_GET, outputChannel = ChannelName.OUTBOUND_REQUESTS) @CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_1, include = GatewayTypeEnum.DOCK2) public void offlineMapGet(TopicRequestsRequest request, MessageHeaders headers) { - servicesPublish.publish( - request.getGateway(), - "offline_map_get"); + MqttReply success = MqttReply.success(); + String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(request.getGateway()) + TopicConst.SERVICES_SUF; + gatewayPublish.publish( + topic,0, new TopicServicesRequest<>() + .setTid(UUID.randomUUID().toString()) + .setBid(null) + .setTimestamp(System.currentTimeMillis()) + .setMethod("offline_map_get") + .setData(success)); //throw new UnsupportedOperationException("offlineMapGet not implemented"); } } From fa03f0f2eac072c7a2f52e1b834cde9a8edae6eb Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Fri, 6 Jun 2025 21:43:19 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sample/manage/service/impl/LiveStreamServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java index 5bea65e..c7d0c1c 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java @@ -290,6 +290,9 @@ public class LiveStreamServiceImpl implements ILiveStreamService { return agoraUrl.setSn(videoId.getDroneSn()); case RTMP: LivestreamRtmpUrl rtmpUrl = (LivestreamRtmpUrl) url.clone(); + if(videoId.getDroneSn().equals("7CTXN2T00B07C5")){ + rtmpUrl.setUrl("rtmp://106.13.57.190/live/livesteam/"); + } return rtmpUrl.setUrl(rtmpUrl.getUrl() + videoId.getDroneSn() + "-" + videoId.getPayloadIndex().toString()); case GB28181: String random = String.valueOf(Math.abs(videoId.getDroneSn().hashCode()) % 1000); From 32d0792f9bac78d5bacf797750a71cd7aef1b0c0 Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Fri, 6 Jun 2025 21:44:26 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sample/manage/service/impl/LiveStreamServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java index c7d0c1c..abdb543 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java @@ -290,7 +290,7 @@ public class LiveStreamServiceImpl implements ILiveStreamService { return agoraUrl.setSn(videoId.getDroneSn()); case RTMP: LivestreamRtmpUrl rtmpUrl = (LivestreamRtmpUrl) url.clone(); - if(videoId.getDroneSn().equals("7CTXN2T00B07C5")){ + if(videoId.getDroneSn().equals("7CTXN2T00B07C5") || videoId.getDroneSn().equals("1581F6Q8X24CC00G02JB")){ rtmpUrl.setUrl("rtmp://106.13.57.190/live/livesteam/"); } return rtmpUrl.setUrl(rtmpUrl.getUrl() + videoId.getDroneSn() + "-" + videoId.getPayloadIndex().toString());