Pu Zhibing
9 天以前 7a4f9541331bef779a506b38a27ed5c3373c0bec
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 使用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);
@@ -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();
    }
}