Kaynağa Gözat

查询产品和设备详情

xucaiqin 1 yıl önce
ebeveyn
işleme
4e8d762553

+ 10 - 0
iot-module/iot-module-manage/iot-module-manage-api/src/main/java/com/middle/platform/manage/api/feign/DeviceApi.java

@@ -2,6 +2,7 @@ package com.middle.platform.manage.api.feign;
 
 import com.middle.platform.common.constant.RpcConstants;
 import com.middle.platform.manage.api.enums.ApiConstants;
+import com.middle.platform.manage.api.pojo.DeviceDetailVo;
 import com.middle.platform.manage.api.pojo.DeviceVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -24,4 +25,13 @@ public interface DeviceApi {
     @GetMapping(prefix + "/cache")
     DeviceVo deviceCache(@RequestParam("guid") String guid);
 
+    /**
+     * 查询产品和设备详情
+     *
+     * @param id 设备id
+     * @return
+     */
+    @GetMapping(prefix + "/deviceDetail")
+    DeviceDetailVo deviceDetail(@RequestParam("id") Long id);
+
 }

+ 32 - 0
iot-module/iot-module-manage/iot-module-manage-api/src/main/java/com/middle/platform/manage/api/pojo/DeviceDetailVo.java

@@ -0,0 +1,32 @@
+package com.middle.platform.manage.api.pojo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 产品关联设备
+ *
+ * @author xucaiqin
+ * @date 2023-12-23 14:04:27
+ */
+@Getter
+@Setter
+public class DeviceDetailVo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -9119654517133030431L;
+    /**
+     * 产品编码
+     */
+    private String productCode;
+    /**
+     * 设备sn码
+     */
+    private String sn;
+    /**
+     * 上报协议
+     */
+    private Integer reportProtocol;
+}

+ 14 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/api/DeviceApiImpl.java

@@ -1,11 +1,16 @@
 package com.middle.platform.manage.biz.api;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.middle.platform.manage.api.feign.DeviceApi;
+import com.middle.platform.manage.api.pojo.DeviceDetailVo;
 import com.middle.platform.manage.api.pojo.DeviceVo;
+import com.middle.platform.manage.biz.domain.vo.IotDeviceDetailVo;
 import com.middle.platform.manage.biz.service.IotDeviceService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Objects;
+
 /**
  * @author xucaiqin
  * @date 2023-12-23 14:12:44
@@ -19,4 +24,13 @@ public class DeviceApiImpl implements DeviceApi {
     public DeviceVo deviceCache(String guid) {
         return iotDeviceService.deviceCache(guid);
     }
+
+    @Override
+    public DeviceDetailVo deviceDetail(Long id) {
+        IotDeviceDetailVo detail = iotDeviceService.detail(id);
+        if (Objects.nonNull(detail)) {
+            return BeanUtil.copyProperties(detail, DeviceDetailVo.class);
+        }
+        return null;
+    }
 }