Browse Source

Merge remote-tracking branch 'origin/dev' into dev

pull/7/head
杨威 2 weeks ago
parent
commit
585011cc2b
  1. 29
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/map/api/AbstractOfflineMapService.java
  2. 3
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/LiveStreamServiceImpl.java

29
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
@ -78,10 +87,20 @@ public abstract class AbstractOfflineMapService {
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
* TopicRequestsResponse<MqttReply<OfflineMapGetResponse>>
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_OFFLINE_MAP_GET, outputChannel = ChannelName.OUTBOUND_REQUESTS)
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_1, include = GatewayTypeEnum.DOCK2)
public TopicRequestsResponse<MqttReply<OfflineMapGetResponse>> offlineMapGet(TopicRequestsRequest<OfflineMapGetRequest> request, MessageHeaders headers) {
throw new UnsupportedOperationException("offlineMapGet not implemented");
public void offlineMapGet(TopicRequestsRequest<OfflineMapGetRequest> request, MessageHeaders headers) {
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");
}
}

3
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") || videoId.getDroneSn().equals("1581F6Q8X24CC00G02JB")){
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);

Loading…
Cancel
Save