From 3244b550596e0330031b3f4547356927df83b0ad Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 19 五月 2025 11:48:35 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java |   66 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
index 2528cc6..657165a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
@@ -1,19 +1,18 @@
 package com.ruoyi.integration.iotda.utils.api;
 
-import com.huaweicloud.sdk.core.auth.AbstractCredentials;
-import com.huaweicloud.sdk.core.auth.ICredential;
 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.*;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.CodeGenerateUtils;
-import com.ruoyi.common.core.utils.uuid.UUID;
+import com.ruoyi.integration.api.vo.AddDeviceResp;
+import com.ruoyi.integration.api.vo.DeleteDeviceResp;
+import com.ruoyi.integration.api.vo.ShowDeviceResp;
 import com.ruoyi.integration.iotda.builder.IotBuilder;
-import com.ruoyi.integration.iotda.config.IotAccountConfig;
 import com.ruoyi.integration.iotda.config.IotDAConfig;
-import com.ruoyi.integration.iotda.constant.IotConstant;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -40,10 +39,6 @@
 
     private String decodeUrl(String url) {
         return MessageFormat.format(url, iotDAConfig.getProjectId());
-    }
-
-    public static void main(String[] args) {
-
     }
 
     /**
@@ -116,16 +111,15 @@
     /**
      * 创建设备
      * @param productId 产品ID
-     * @param nodeId 设备标识码  通常使用IMEI、MAC地址或Serial No作为node_id
-     * @param deviceId 设备ID 使用CodeGenerateUtils.generateVolumeSn()
+     * @param nodeId 设备标识码  设备编号
      * @param deviceName 设备名称
      * @param description 设备描述
      * @return AddDeviceResponse
      */
-    public AddDeviceResponse addDeviceRequest(String productId,String nodeId,String deviceId,String deviceName,String description) {
+    public R<AddDeviceResp> addDeviceRequest(String productId,String nodeId,String deviceName,String description) {
         AddDeviceRequest request = new AddDeviceRequest();
         AddDevice body = new AddDevice();
-        body.withDeviceId(deviceId);
+        body.withDeviceId(nodeId);
         body.withNodeId(nodeId);
         body.withDeviceName(deviceName);
         body.withProductId(productId);
@@ -134,7 +128,10 @@
         try {
             AddDeviceResponse response = iotBuilder.buildIot().addDevice(request);
             log.info("创建设备:{}",response.toString());
-            return response;
+    
+            AddDeviceResp addDeviceResp = new AddDeviceResp();
+            BeanUtils.copyProperties(response, addDeviceResp);
+            return R.ok(addDeviceResp);
         } catch (ConnectionException e) {
             e.printStackTrace();
         } catch (RequestTimeoutException e) {
@@ -146,7 +143,7 @@
             System.out.println(e.getErrorCode());
             System.out.println(e.getErrorMsg());
         }
-        return null;
+        return R.fail();
     }
 
     /**
@@ -238,13 +235,15 @@
      * @param deviceId 设备ID 使用已有设备编号
      * @return DeleteDeviceResponse
      */
-    public DeleteDeviceResponse deleteDeviceRequest(String deviceId) {
+    public R<DeleteDeviceResp> deleteDeviceRequest(String deviceId) {
         DeleteDeviceRequest request = new DeleteDeviceRequest();
         request.withDeviceId(deviceId);
         try {
             DeleteDeviceResponse response = iotBuilder.buildIot().deleteDevice(request);
             log.info("删除设备:{}",response.toString());
-            return response;
+            DeleteDeviceResp deleteDeviceResp = new DeleteDeviceResp();
+            BeanUtils.copyProperties(response, deleteDeviceResp);
+            return R.ok(deleteDeviceResp);
         } catch (ConnectionException e) {
             e.printStackTrace();
         } catch (RequestTimeoutException e) {
@@ -256,6 +255,35 @@
             System.out.println(e.getErrorCode());
             System.out.println(e.getErrorMsg());
         }
-        return null;
+        return R.fail();
+    }
+    
+    
+    /**
+     * 查询设备
+     * @param deviceId
+     * @return
+     */
+    public R<ShowDeviceResp> showDeviceRequest(String deviceId) {
+        ShowDeviceRequest request = new ShowDeviceRequest();
+        request.withDeviceId(deviceId);
+        try {
+            ShowDeviceResponse response = iotBuilder.buildIot().showDevice(request);
+            log.info("查询设备:{}",response.toString());
+            ShowDeviceResp showDeviceResp = new ShowDeviceResp();
+            BeanUtils.copyProperties(response, showDeviceResp);
+            return R.ok(showDeviceResp);
+        } 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 R.fail();
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1