From 858d8b41a967c6267760aca0ae4bbfccc3b81654 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期六, 02 十一月 2024 20:32:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
index 6e386cb..ace5a25 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
@@ -1,13 +1,63 @@
package com.ruoyi.integration.iotda.utils.produce;
+import com.alibaba.fastjson2.JSONObject;
+import com.huaweicloud.sdk.core.exception.ConnectionException;
+import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
+import com.huaweicloud.sdk.core.exception.ServiceResponseException;
+import com.huaweicloud.sdk.iotda.v5.IoTDAClient;
+import com.huaweicloud.sdk.iotda.v5.model.CreateMessageRequest;
+import com.huaweicloud.sdk.iotda.v5.model.CreateMessageResponse;
+import com.huaweicloud.sdk.iotda.v5.model.DeviceMessageRequest;
+import com.ruoyi.common.core.utils.uuid.UUID;
+import com.ruoyi.integration.iotda.builder.IotBuilder;
+import com.ruoyi.integration.iotda.config.IotDAConfig;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
/**
* iotda消息发送
*/
@Slf4j
-@Component
+@RestController
public class IotMessageProduce {
-
+
+ @Autowired
+ private IotBuilder iotBuilder;
+
+ /**
+ * 设备消息下发
+ * @param deviceId 设备id
+ * @param name 消息名称
+ * @param message 消息内容
+ * @return
+ */
+ @PostMapping("/sendMessage")
+ public String sendMessage(String deviceId, String name, JSONObject message){
+ CreateMessageRequest request = new CreateMessageRequest();
+ request.withDeviceId(deviceId);
+ DeviceMessageRequest body = new DeviceMessageRequest();
+ body.withMessageId(UUID.randomUUID().toString());
+ body.withName(name);
+ body.withMessage(message);
+ request.withBody(body);
+ try {
+ CreateMessageResponse response = iotBuilder.buildIot().createMessage(request);
+ System.out.println(response.toString());
+ } catch (ConnectionException e) {
+ e.printStackTrace();
+ } catch (RequestTimeoutException e) {
+ e.printStackTrace();
+ } catch (ServiceResponseException e) {
+ e.printStackTrace();
+ System.out.println(e.getHttpStatusCode());
+ System.out.println(e.getRequestId());
+ System.out.println(e.getErrorCode());
+ System.out.println(e.getErrorMsg());
+ }
+ return null;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.7.1