From 9f781b1841fb490179918e844bdd6ddd1773e441 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 08 十月 2024 13:34:19 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IotInterfaceFallbackFactory.java                    |   40 ++++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java                                       |   24 ++--
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java                           |   30 ++--
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java                     |    2 
 ruoyi-service/ruoyi-account/pom.xml                                                                                                 |    5 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDeviceResp.java                                       |   69 +++++++++++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/IotInterfaceController.java                    |   48 ++++++++
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IotInterfaceClient.java                         |   38 ++++++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java                    |   32 ++++
 ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports |    3 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java                     |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDevice.java                                           |   27 ++++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPile.java                                  |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/DeleteDeviceResp.java                                    |   19 +++
 14 files changed, 309 insertions(+), 36 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPile.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPile.java
index e1d69a9..fe22081 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPile.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPile.java
@@ -96,4 +96,8 @@
     @ApiModelProperty(value = "设备状态(1=工作中,2=离线,3=故障)")
     @TableField("status")
     private Integer status;
+    
+    @ApiModelProperty(value = "iotd设备id")
+    @TableField("iotd_device_id")
+    private String iotdDeviceId;
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IotInterfaceFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IotInterfaceFallbackFactory.java
new file mode 100644
index 0000000..c7050fa
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IotInterfaceFallbackFactory.java
@@ -0,0 +1,40 @@
+package com.ruoyi.integration.api.factory;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.feignClient.IotInterfaceClient;
+import com.ruoyi.integration.api.feignClient.SwitchwayGateClient;
+import com.ruoyi.integration.api.vo.AddDevice;
+import com.ruoyi.integration.api.vo.AddDeviceResp;
+import com.ruoyi.integration.api.vo.DeleteDeviceResp;
+import com.ruoyi.integration.api.vo.SwitchwayGateReq;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 充电桩服务降级处理
+ *
+ * @author ruoyi
+ */
+@Component
+public class IotInterfaceFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<IotInterfaceClient> {
+	private static final Logger log = LoggerFactory.getLogger(IotInterfaceFallbackFactory.class);
+	
+	@Override
+	public IotInterfaceClient create(Throwable throwable) {
+		log.error("调用失败:{}", throwable.getMessage());
+		return new IotInterfaceClient() {
+			
+			
+			@Override
+			public R<AddDeviceResp> addDevice(AddDevice addDevice) {
+				return R.fail("添加设备失败:" + throwable.getMessage());
+			}
+			
+			@Override
+			public R<DeleteDeviceResp> deleteDevice(String deviceId) {
+				return R.fail("删除设备失败:" + throwable.getMessage());
+			}
+		};
+	}
+}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IotInterfaceClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IotInterfaceClient.java
new file mode 100644
index 0000000..13f7b58
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IotInterfaceClient.java
@@ -0,0 +1,38 @@
+package com.ruoyi.integration.api.feignClient;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.factory.IotInterfaceFallbackFactory;
+import com.ruoyi.integration.api.vo.AddDevice;
+import com.ruoyi.integration.api.vo.AddDeviceResp;
+import com.ruoyi.integration.api.vo.DeleteDeviceResp;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/8 10:24
+ */
+@FeignClient(contextId = "IotInterfaceClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = IotInterfaceFallbackFactory.class)
+public interface IotInterfaceClient {
+	
+	
+	/**
+	 * 添加设备
+	 * @param addDevice
+	 * @return
+	 */
+	@PostMapping("/iotInterface/addDevice")
+	R<AddDeviceResp> addDevice(@RequestBody AddDevice addDevice);
+	
+	
+	/**
+	 * 删除设备
+	 * @param deviceId
+	 * @return
+	 */
+	@PostMapping("/iotInterface/deleteDevice")
+	R<DeleteDeviceResp> deleteDevice(@RequestParam("deviceId") String deviceId);
+}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDevice.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDevice.java
new file mode 100644
index 0000000..9479517
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDevice.java
@@ -0,0 +1,27 @@
+package com.ruoyi.integration.api.vo;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/8 10:26
+ */
+@Data
+public class AddDevice {
+	/**
+	 * 产品ID
+	 */
+	private String productId;
+	/**
+	 * 设备标识码  设备编号
+	 */
+	private String nodeId;
+	/**
+	 * 设备名称
+	 */
+	private String deviceName;
+	/**
+	 * 设备描述
+	 */
+	private String description;
+}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDeviceResp.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDeviceResp.java
new file mode 100644
index 0000000..8fbe429
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/AddDeviceResp.java
@@ -0,0 +1,69 @@
+package com.ruoyi.integration.api.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/8 10:37
+ */
+@Data
+public class AddDeviceResp {
+	private int httpStatusCode;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("app_id")
+	private String appId;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("app_name")
+	private String appName;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("device_id")
+	private String deviceId;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("node_id")
+	private String nodeId;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("gateway_id")
+	private String gatewayId;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("device_name")
+	private String deviceName;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("node_type")
+	private String nodeType;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("description")
+	private String description;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("fw_version")
+	private String fwVersion;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("sw_version")
+	private String swVersion;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("device_sdk_version")
+	private String deviceSdkVersion;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("product_id")
+	private String productId;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("product_name")
+	private String productName;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("status")
+	private String status;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("create_time")
+	private String createTime;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("connection_status_update_time")
+	private String connectionStatusUpdateTime;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("active_time")
+	private String activeTime;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("extension_info")
+	private Object extensionInfo;
+}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/DeleteDeviceResp.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/DeleteDeviceResp.java
new file mode 100644
index 0000000..55376fd
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/vo/DeleteDeviceResp.java
@@ -0,0 +1,19 @@
+package com.ruoyi.integration.api.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/8 10:40
+ */
+@Data
+public class DeleteDeviceResp {
+	@JsonIgnore
+	private int httpStatusCode;
+	@JsonInclude(JsonInclude.Include.NON_NULL)
+	@JsonProperty("body")
+	private String body;
+}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index fa602cc..5ed2383 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -4,4 +4,5 @@
 com.ruoyi.integration.api.factory.SendMessageFallbackFactory
 com.ruoyi.integration.api.factory.PlatformStartChargingReplyFallbackFactory
 com.ruoyi.integration.api.factory.PlatformStopChargingReplyFallbackFactory
-com.ruoyi.integration.api.factory.SwitchwayGateFallbackFactory
\ No newline at end of file
+com.ruoyi.integration.api.factory.SwitchwayGateFallbackFactory
+com.ruoyi.integration.api.factory.IotInterfaceFallbackFactory
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-account/pom.xml b/ruoyi-service/ruoyi-account/pom.xml
index 23763ed..a464162 100644
--- a/ruoyi-service/ruoyi-account/pom.xml
+++ b/ruoyi-service/ruoyi-account/pom.xml
@@ -16,11 +16,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-mock</artifactId>
-            <version>2.0.8</version>
-        </dependency>
-        <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-order</artifactId>
         </dependency>
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
index b640f7d..778b2b8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -63,11 +63,11 @@
     private WeixinProperties wxConfig;
     @Autowired
     private RestTemplate wxRestTemplate;
-    /**
-     * 上传文件存储在本地的根路径
-     */
-    @Value("${file.path}")
-    private String localFilePath;
+//    /**
+//     * 上传文件存储在本地的根路径
+//     */
+//    @Value("${file.path}")
+//    private String localFilePath;
     @ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"})
     @PostMapping("/openIdByJsCode")
     public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserEncrypteData data) {
@@ -99,9 +99,9 @@
     public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserDecodeData appletUserDecodeData) {
         return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData, null));
     }
-    public static MultipartFile convertInputStreamToMultipartFile(InputStream inputStream, String fileName, String contentType) throws IOException {
-        return new MockMultipartFile(fileName, fileName, contentType, inputStream);
-    }
+//    public static MultipartFile convertInputStreamToMultipartFile(InputStream inputStream, String fileName, String contentType) throws IOException {
+//        return new MockMultipartFile(fileName, fileName, contentType, inputStream);
+//    }
     @ApiOperation(value = "获取微信小程序二维码",tags = {"获取微信小程序二维码"})
     @PostMapping("/getQRCode")
     public AjaxResult getQRCode() {
@@ -132,10 +132,10 @@
             System.err.println(Base64.encodeBase64String(result));
             inputStream = new ByteArrayInputStream(result);
             String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpeg";
-            MultipartFile multipartFile = convertInputStreamToMultipartFile(inputStream, finalFileName, "image/jpeg");
-            String name = FileUploadUtils.upload(localFilePath, multipartFile);
-            System.err.println(name);
-            return AjaxResult.success(name);
+//            MultipartFile multipartFile = convertInputStreamToMultipartFile(inputStream, finalFileName, "image/jpeg");
+//            String name = FileUploadUtils.upload(localFilePath, multipartFile);
+//            System.err.println(name);
+            return AjaxResult.success(null);
         } catch (Exception e) {
             System.err.println("调用小程序生成微信永久小程序码URL接口异常" + e);
         } finally {
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
index 0a3d4e7..002eb28 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
@@ -116,6 +116,8 @@
             return AjaxResult.error("接口编码已存在");
         }
         this.save(dto);
+        //下发硬件充电二维码
+        
         return AjaxResult.success();
     }
     
@@ -141,6 +143,8 @@
             return AjaxResult.error("接口编码已存在");
         }
         this.updateById(dto);
+        //下发硬件充电二维码
+        
         return AjaxResult.success();
     }
 
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index d95c38f..96f1155 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -23,12 +23,17 @@
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.chargingPile.service.TChargingGunService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.integration.api.feignClient.IotInterfaceClient;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.vo.AddDevice;
+import com.ruoyi.integration.api.vo.AddDeviceResp;
+import com.ruoyi.integration.api.vo.DeleteDeviceResp;
 import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
@@ -93,6 +98,9 @@
 	@Resource
 	private SysUserRoleClient sysUserRoleClient;
 	
+	@Resource
+	private IotInterfaceClient iotInterfaceClient;
+	
 	
 	
 	
@@ -151,7 +159,20 @@
 		if(count > 0){
 			return AjaxResult.error("设备编号已存在");
 		}
-		this.save(chargingPile);
+		//调用华为Iot创建设备
+		AddDevice addDevice = new AddDevice();
+		addDevice.setProductId("66da68d21837002b28b34ec0");
+		addDevice.setNodeId(chargingPile.getCode());
+		addDevice.setDeviceName(chargingPile.getName());
+		addDevice.setDescription(chargingPile.getNumber().toString());
+		AddDeviceResp deviceResp = iotInterfaceClient.addDevice(addDevice).getData();
+		if(null != deviceResp){
+			int httpStatusCode = deviceResp.getHttpStatusCode();
+			if(httpStatusCode == 201){
+				chargingPile.setIotdDeviceId(deviceResp.getDeviceId());
+				this.save(chargingPile);
+			}
+		}
 		return AjaxResult.success();
 	}
 	
@@ -227,7 +248,6 @@
 	@Override
 	public AjaxResult delChargingPile(Integer[] ids) {
 		//检查是否有关联数据
-		//接口
 		long count = chargingGunService.count(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getChargingPileId, Arrays.asList(ids))
 				.eq(TChargingGun::getDelFlag, 0));
 		if(count > 0){
@@ -235,7 +255,13 @@
 		}
 		for (Integer id : ids) {
 			TChargingPile chargingPile = this.getById(id);
-			this.removeById(chargingPile);
+			//调用华为Iot删除设备
+			if(StringUtils.isNotEmpty(chargingPile.getIotdDeviceId())){
+				DeleteDeviceResp deviceResp = iotInterfaceClient.deleteDevice(chargingPile.getIotdDeviceId()).getData();
+				if(null != deviceResp && deviceResp.getHttpStatusCode() == 201){
+					this.removeById(chargingPile);
+				}
+			}
 		}
 		return AjaxResult.success();
 	}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/IotInterfaceController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/IotInterfaceController.java
new file mode 100644
index 0000000..e68a21f
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/IotInterfaceController.java
@@ -0,0 +1,48 @@
+package com.ruoyi.integration.iotda.controller;
+
+import com.huaweicloud.sdk.iotda.v5.model.AddDeviceResponse;
+import com.huaweicloud.sdk.iotda.v5.model.DeleteDeviceResponse;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.vo.AddDevice;
+import com.ruoyi.integration.api.vo.AddDeviceResp;
+import com.ruoyi.integration.api.vo.DeleteDeviceResp;
+import com.ruoyi.integration.iotda.utils.api.IotInterfaceUtil;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/8 10:29
+ */
+@RestController
+@RequestMapping("/iotInterface")
+public class IotInterfaceController {
+	
+	@Resource
+	private IotInterfaceUtil iotInterfaceUtil;
+	
+	
+	
+	
+	
+	/**
+	 * 添加设备
+	 * @return
+	 */
+	@PostMapping("/addDevice")
+	public R<AddDeviceResp> addDevice(@RequestBody AddDevice addDevice){
+		return iotInterfaceUtil.addDeviceRequest(addDevice.getProductId(), addDevice.getNodeId(), addDevice.getDeviceName(), addDevice.getDescription());
+	}
+	
+	
+	/**
+	 * 删除设备
+	 * @param deviceId
+	 * @return
+	 */
+	@PostMapping("/deleteDevice")
+	public R<DeleteDeviceResp> deleteDevice(@RequestParam("deviceId") String deviceId){
+		return iotInterfaceUtil.deleteDeviceRequest(deviceId);
+	}
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java
index 53b62e4..c7bbf3d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java
@@ -228,5 +228,5 @@
     public String platformRemoteUpdate(@RequestBody PlatformRemoteUpdate platformRemoteUpdate){
         return  iotMessageProduce.sendMessage(platformRemoteUpdate.getCharging_pile_code(), ServiceIdMenu.PLATFORM_REMOTE_UPDATE.getKey(),messageUtil.platformRemoteUpdate(platformRemoteUpdate));
     }
-
+    
 }
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 7582df9..0f2fb02 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,19 @@
 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;
-import org.springframework.web.bind.annotation.RestController;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;
@@ -26,7 +23,7 @@
  * iot接口调用工具类
  */
 @Slf4j
-@RestController
+@Component
 public class IotInterfaceUtil {
 
     private static final String dataFormat = "json";
@@ -118,7 +115,7 @@
      * @param description 设备描述
      * @return AddDeviceResponse
      */
-    public AddDeviceResponse addDeviceRequest(String productId,String nodeId,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(nodeId);
@@ -130,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) {
@@ -142,7 +142,7 @@
             System.out.println(e.getErrorCode());
             System.out.println(e.getErrorMsg());
         }
-        return null;
+        return R.fail();
     }
 
     /**
@@ -234,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) {
@@ -252,6 +254,6 @@
             System.out.println(e.getErrorCode());
             System.out.println(e.getErrorMsg());
         }
-        return null;
+        return R.fail();
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1