|
|
|
@ -1,5 +1,8 @@
@@ -1,5 +1,8 @@
|
|
|
|
|
package com.dji.sdk.mqtt.property; |
|
|
|
|
|
|
|
|
|
import com.dji.sdk.common.PublishOption; |
|
|
|
|
import com.dji.sdk.mqtt.CommonTopicRequest; |
|
|
|
|
import com.dji.sdk.mqtt.CommonTopicResponse; |
|
|
|
|
import com.dji.sdk.mqtt.MqttGatewayPublish; |
|
|
|
|
import com.dji.sdk.mqtt.TopicConst; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
@ -7,6 +10,8 @@ import org.springframework.stereotype.Component;
@@ -7,6 +10,8 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
import java.util.Objects; |
|
|
|
|
import java.util.UUID; |
|
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
|
import java.util.function.Consumer; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author sean |
|
|
|
@ -29,12 +34,33 @@ public class PropertySetPublish {
@@ -29,12 +34,33 @@ public class PropertySetPublish {
|
|
|
|
|
|
|
|
|
|
public PropertySetReplyResultEnum publish(String sn, Object data, int retryCount, long timeout) { |
|
|
|
|
String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(sn) + TopicConst.PROPERTY_SUF + TopicConst.SET_SUF; |
|
|
|
|
|
|
|
|
|
return gatewayPublish.publishWithReply(PropertySetReplyResultEnum.class,topic, |
|
|
|
|
new CommonTopicRequest<>() |
|
|
|
|
.setTimestamp(System.currentTimeMillis()) |
|
|
|
|
.setData(Objects.requireNonNull(data)), |
|
|
|
|
ops->ops.timeout((int)(timeout/1000))) |
|
|
|
|
.join() |
|
|
|
|
.getData(); |
|
|
|
|
|
|
|
|
|
// return gatewayPublish.publishWithReply(
|
|
|
|
|
// PropertySetReplyResultEnum.class, topic, new TopicPropertySetRequest<>()
|
|
|
|
|
// .setTid(UUID.randomUUID().toString())
|
|
|
|
|
// .setBid(null)
|
|
|
|
|
// .setTimestamp(System.currentTimeMillis())
|
|
|
|
|
// .setData(Objects.requireNonNull(data)), retryCount, timeout).getData();
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public CompletableFuture<CommonTopicResponse<PropertySetReplyResultEnum>> |
|
|
|
|
publish(String sn, Object data, Consumer<PublishOption> options){ |
|
|
|
|
String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(sn) + TopicConst.PROPERTY_SUF + TopicConst.SET_SUF; |
|
|
|
|
return gatewayPublish.publishWithReply( |
|
|
|
|
PropertySetReplyResultEnum.class, topic, new TopicPropertySetRequest<>() |
|
|
|
|
.setTid(UUID.randomUUID().toString()) |
|
|
|
|
.setBid(null) |
|
|
|
|
PropertySetReplyResultEnum.class, |
|
|
|
|
topic, |
|
|
|
|
new CommonTopicRequest<>() |
|
|
|
|
.setTimestamp(System.currentTimeMillis()) |
|
|
|
|
.setData(Objects.requireNonNull(data)), retryCount, timeout).getData(); |
|
|
|
|
.setData(Objects.requireNonNull(data)), |
|
|
|
|
options); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|