luodangjia
2024-10-28 bcff6cd41a09c5b3f5db68db8b9dbb2f90fb78f3
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
@@ -1,19 +1,17 @@
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.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 +38,6 @@
    private String decodeUrl(String url) {
        return MessageFormat.format(url, iotDAConfig.getProjectId());
    }
    public static void main(String[] args) {
    }
    /**
@@ -116,16 +110,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 +127,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 +142,7 @@
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
        return null;
        return R.fail();
    }
    /**
@@ -238,13 +234,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 +254,6 @@
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
        return null;
        return R.fail();
    }
}