From 0f4459e4201fdc19185b7dd03215871f036acd70 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 28 五月 2025 16:45:01 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java |   65 ++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 17 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 77aeab2..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,22 +1,20 @@
 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;
-import org.springframework.web.bind.annotation.RestController;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;
@@ -26,7 +24,7 @@
  * iot接口调用工具类
  */
 @Slf4j
-@RestController
+@Component
 public class IotInterfaceUtil {
 
     private static final String dataFormat = "json";
@@ -113,16 +111,15 @@
     /**
      * 创建设备
      * @param productId 产品ID
-     * @param nodeId 设备标识码  通常使用IMEI、MAC地址或Serial No作为node_id
-     * @param deviceId 设备ID 使用设备标识码
+     * @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);
@@ -131,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) {
@@ -143,7 +143,7 @@
             System.out.println(e.getErrorCode());
             System.out.println(e.getErrorMsg());
         }
-        return null;
+        return R.fail();
     }
 
     /**
@@ -235,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) {
@@ -253,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