|
@ -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.GatewayManager; |
|
|
import org.dromara.common.sdk.config.version.GatewayTypeEnum; |
|
|
import org.dromara.common.sdk.config.version.GatewayTypeEnum; |
|
|
import org.dromara.common.sdk.mqtt.ChannelName; |
|
|
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.MqttReply; |
|
|
|
|
|
import org.dromara.common.sdk.mqtt.TopicConst; |
|
|
import org.dromara.common.sdk.mqtt.requests.TopicRequestsRequest; |
|
|
import org.dromara.common.sdk.mqtt.requests.TopicRequestsRequest; |
|
|
import org.dromara.common.sdk.mqtt.requests.TopicRequestsResponse; |
|
|
import org.dromara.common.sdk.mqtt.requests.TopicRequestsResponse; |
|
|
import org.dromara.common.sdk.mqtt.services.ServicesPublish; |
|
|
import org.dromara.common.sdk.mqtt.services.*; |
|
|
import org.dromara.common.sdk.mqtt.services.ServicesReplyData; |
|
|
|
|
|
import org.dromara.common.sdk.mqtt.services.TopicServicesResponse; |
|
|
|
|
|
import org.dromara.common.sdk.mqtt.state.TopicStateRequest; |
|
|
import org.dromara.common.sdk.mqtt.state.TopicStateRequest; |
|
|
import org.dromara.common.sdk.mqtt.state.TopicStateResponse; |
|
|
import org.dromara.common.sdk.mqtt.state.TopicStateResponse; |
|
|
import jakarta.annotation.Resource; |
|
|
import jakarta.annotation.Resource; |
|
@ -23,6 +23,11 @@ import org.springframework.integration.annotation.ServiceActivator; |
|
|
import org.springframework.messaging.Message; |
|
|
import org.springframework.messaging.Message; |
|
|
import org.springframework.messaging.MessageHeaders; |
|
|
import org.springframework.messaging.MessageHeaders; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Objects; |
|
|
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
|
|
|
|
import static org.springframework.integration.context.IntegrationContextUtils.DEFAULT_TIMEOUT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @author sean |
|
|
* @author sean |
|
@ -34,6 +39,10 @@ public abstract class AbstractOfflineMapService { |
|
|
@Resource |
|
|
@Resource |
|
|
private ServicesPublish servicesPublish; |
|
|
private ServicesPublish servicesPublish; |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
private MqttGatewayPublish gatewayPublish; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* When the offline map is closed, offline map synchronization will no longer automatically synchronize. |
|
|
* When the offline map is closed, offline map synchronization will no longer automatically synchronize. |
|
|
* @param request data |
|
|
* @param request data |
|
@ -83,9 +92,15 @@ public abstract class AbstractOfflineMapService { |
|
|
@ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_OFFLINE_MAP_GET, outputChannel = ChannelName.OUTBOUND_REQUESTS) |
|
|
@ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_OFFLINE_MAP_GET, outputChannel = ChannelName.OUTBOUND_REQUESTS) |
|
|
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_1, include = GatewayTypeEnum.DOCK2) |
|
|
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_1, include = GatewayTypeEnum.DOCK2) |
|
|
public void offlineMapGet(TopicRequestsRequest<OfflineMapGetRequest> request, MessageHeaders headers) { |
|
|
public void offlineMapGet(TopicRequestsRequest<OfflineMapGetRequest> request, MessageHeaders headers) { |
|
|
servicesPublish.publish( |
|
|
MqttReply success = MqttReply.success(); |
|
|
request.getGateway(), |
|
|
String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(request.getGateway()) + TopicConst.SERVICES_SUF; |
|
|
"offline_map_get"); |
|
|
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");
|
|
|
//throw new UnsupportedOperationException("offlineMapGet not implemented");
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|