瀏覽代碼

导入模板接口

xucaiqin 1 年之前
父節點
當前提交
4dbaef9e4c

+ 19 - 2
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/controller/IotDeviceController.java

@@ -2,10 +2,13 @@ package com.middle.platform.manage.biz.controller;
 
 import com.middle.platform.common.exception.BusinessException;
 import com.middle.platform.common.utils.Result;
+import com.middle.platform.excel.core.util.ExcelUtils;
 import com.middle.platform.manage.biz.domain.req.DevicePage;
 import com.middle.platform.manage.biz.domain.req.IotDeviceFlag;
 import com.middle.platform.manage.biz.domain.req.IotDevicePara;
+import com.middle.platform.manage.biz.domain.vo.IotDeviceRespVo;
 import com.middle.platform.manage.biz.service.IotDeviceService;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.io.FilenameUtils;
@@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Objects;
 
 
@@ -49,7 +53,7 @@ public class IotDeviceController {
      * @return
      */
     @GetMapping("/list")
-    public Result<Object> get( Long productId) {
+    public Result<Object> get(Long productId) {
         return Result.ok(iotDeviceService.list(productId), "查询成功");
     }
 
@@ -86,7 +90,7 @@ public class IotDeviceController {
         return Result.ok(iotDeviceService.detail(id), "查询成功");
     }
 
-//    /**
+    //    /**
 //     * 设备物模型数据详情
 //     *
 //     * @param id 设备id
@@ -97,6 +101,19 @@ public class IotDeviceController {
 //        return Result.ok(iotDeviceService.detail(id), "查询成功");
 //    }
 
+    /**
+     * 导入模板
+     *
+     * @param response
+     * @return
+     * @throws IOException
+     */
+    @GetMapping("/importTemplate")
+    public Result<Object> importTemplate(HttpServletResponse response) throws IOException {
+        ExcelUtils.write(response, "设备导入模板.xlsx", "设备", IotDeviceRespVo.class, new ArrayList<>());
+        return Result.ok(true);
+    }
+
     /**
      * 导入设备
      *

+ 42 - 0
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/vo/IotDeviceRespVo.java

@@ -0,0 +1,42 @@
+package com.middle.platform.manage.biz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 设备表
+ *
+ * @author xucaiqin
+ * @date 2023-12-19 13:43:38
+ */
+@Getter
+@Setter
+public class IotDeviceRespVo {
+
+    @ExcelProperty(value = "产品编码")
+    private String code;
+
+    /**
+     * 设备名称
+     */
+    @ExcelProperty("设备名称")
+    private String name;
+
+    /**
+     * 备注名称
+     */
+    @ExcelProperty("备注名称")
+    private String subtitle;
+    /**
+     * 设备sn码
+     */
+    @ExcelProperty("SN")
+    private String sn;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty("备注")
+    private String remark;
+}

+ 2 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/vo/IotUrlVo.java

@@ -1,5 +1,6 @@
 package com.middle.platform.manage.biz.domain.vo;
 
+import com.middle.platform.mybatis.core.dataobject.BaseVO;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -11,7 +12,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class IotUrlVo {
+public class IotUrlVo extends BaseVO {
     private Long id;
     /**
      * 产品id

+ 1 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotUrlService.java

@@ -62,7 +62,7 @@ public class IotUrlService {
         //产品key
         String code = query.getCode();
         if (!StringUtils.startsWith(iotUrlPara.getUrl(), String.format(topicPrefix, code))) {
-            throw new BusinessException("topic必须以+" + String.format(topicPrefix, code) + "为前缀");
+            throw new BusinessException("topic必须以" + String.format(topicPrefix, code) + "为前缀");
         }
         //todo topic合规校验