diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List> deviceMapList = sysCommonMapper.getDictMapByCode(DEVICE_TYPE);
Map deviceMap = deviceMapList.stream().collect(Collectors.toMap(e -> e.get("name"), e -> e.get("code")));
List> modelList = sysCommonMapper.getDictMapByCode(MODEL);
@@ -136,36 +149,43 @@
//设备编号后台生成
String validMsg = "第%d行数据校验失败:%s";
for (int i = 0; i < list.size(); i++) {
- DeviceListVO importDTO = list.get(i);
+ ImportDeviceDTO importDTO = list.get(i);
if (StrUtil.isBlank(importDTO.getDevcode())) {
throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号不能为空"));
+ } else if (devcodeMap.containsKey(importDTO.getDevcode())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号在系统已存在"));
}
- if (ObjectUtil.isEmpty(importDTO.getProductId()) || !productInfoMap.containsKey(importDTO.getProductName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或不正确"));
+ if (ObjectUtil.isEmpty(importDTO.getProductName()) || !productInfoMap.containsKey(importDTO.getProductName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或系统不存在"));
} else {
importDTO.setProductId(productInfoMap.get(importDTO.getProductName()).getId());
}
+ if (ObjectUtil.isEmpty(importDTO.getGroupName()) || !deviceGroupInfoMap.containsKey(importDTO.getGroupName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "分组名称不能为空或系统不存在"));
+ } else {
+ importDTO.setGroupId(deviceGroupInfoMap.get(importDTO.getGroupName()).getId());
+ }
if (ObjectUtil.isEmpty(importDTO.getModelName()) || !modelMap.containsKey(importDTO.getModelName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或系统不存在"));
} else {
importDTO.setModel(Integer.valueOf(modelMap.get(importDTO.getModelName())));
}
if (ObjectUtil.isEmpty(importDTO.getDeviceTypeName()) || !deviceMap.containsKey(importDTO.getDeviceTypeName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或系统不存在"));
} else {
importDTO.setDeviceType(Integer.valueOf(deviceMap.get(importDTO.getDeviceTypeName())));
}
}
}
- private void saveImport(List list) {
+ private void saveImport(List list) {
AuthUser authUser = ShiroKit.getUser();
String name = authUser.getName();
List deviceList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
- DeviceListVO deviceListDTO = list.get(i);
+ ImportDeviceDTO deviceListDTO = list.get(i);
Device device = new Device();
- BeanUtil.copyProperties(device, deviceListDTO);
+ BeanUtil.copyProperties(deviceListDTO, device);
device.setCreateUserName(name);
deviceList.add(device);
}
diff --git a/casic-iot-web/pom.xml b/casic-iot-web/pom.xml
index 133ecf8..c722e4b 100644
--- a/casic-iot-web/pom.xml
+++ b/casic-iot-web/pom.xml
@@ -27,47 +27,6 @@
sensorhub-core
${iot.version}
-
-
-
- com.casic
- casic-core
- ${core.version}
-
-
-
- com.casic
- casic-admin-core
- ${admin.version}
-
-
- io.springfox
- springfox-swagger-ui
-
-
-
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
- com.casic
- casic-file-support
- ${admin.version}
-
-
- com.casic
- casic-export-support
- ${extension.version}
-
-
- com.casic
- casic-file
- ${admin.version}
-
-
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List> deviceMapList = sysCommonMapper.getDictMapByCode(DEVICE_TYPE);
Map deviceMap = deviceMapList.stream().collect(Collectors.toMap(e -> e.get("name"), e -> e.get("code")));
List> modelList = sysCommonMapper.getDictMapByCode(MODEL);
@@ -136,36 +149,43 @@
//设备编号后台生成
String validMsg = "第%d行数据校验失败:%s";
for (int i = 0; i < list.size(); i++) {
- DeviceListVO importDTO = list.get(i);
+ ImportDeviceDTO importDTO = list.get(i);
if (StrUtil.isBlank(importDTO.getDevcode())) {
throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号不能为空"));
+ } else if (devcodeMap.containsKey(importDTO.getDevcode())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号在系统已存在"));
}
- if (ObjectUtil.isEmpty(importDTO.getProductId()) || !productInfoMap.containsKey(importDTO.getProductName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或不正确"));
+ if (ObjectUtil.isEmpty(importDTO.getProductName()) || !productInfoMap.containsKey(importDTO.getProductName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或系统不存在"));
} else {
importDTO.setProductId(productInfoMap.get(importDTO.getProductName()).getId());
}
+ if (ObjectUtil.isEmpty(importDTO.getGroupName()) || !deviceGroupInfoMap.containsKey(importDTO.getGroupName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "分组名称不能为空或系统不存在"));
+ } else {
+ importDTO.setGroupId(deviceGroupInfoMap.get(importDTO.getGroupName()).getId());
+ }
if (ObjectUtil.isEmpty(importDTO.getModelName()) || !modelMap.containsKey(importDTO.getModelName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或系统不存在"));
} else {
importDTO.setModel(Integer.valueOf(modelMap.get(importDTO.getModelName())));
}
if (ObjectUtil.isEmpty(importDTO.getDeviceTypeName()) || !deviceMap.containsKey(importDTO.getDeviceTypeName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或系统不存在"));
} else {
importDTO.setDeviceType(Integer.valueOf(deviceMap.get(importDTO.getDeviceTypeName())));
}
}
}
- private void saveImport(List list) {
+ private void saveImport(List list) {
AuthUser authUser = ShiroKit.getUser();
String name = authUser.getName();
List deviceList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
- DeviceListVO deviceListDTO = list.get(i);
+ ImportDeviceDTO deviceListDTO = list.get(i);
Device device = new Device();
- BeanUtil.copyProperties(device, deviceListDTO);
+ BeanUtil.copyProperties(deviceListDTO, device);
device.setCreateUserName(name);
deviceList.add(device);
}
diff --git a/casic-iot-web/pom.xml b/casic-iot-web/pom.xml
index 133ecf8..c722e4b 100644
--- a/casic-iot-web/pom.xml
+++ b/casic-iot-web/pom.xml
@@ -27,47 +27,6 @@
sensorhub-core
${iot.version}
-
-
-
- com.casic
- casic-core
- ${core.version}
-
-
-
- com.casic
- casic-admin-core
- ${admin.version}
-
-
- io.springfox
- springfox-swagger-ui
-
-
-
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
- com.casic
- casic-file-support
- ${admin.version}
-
-
- com.casic
- casic-export-support
- ${extension.version}
-
-
- com.casic
- casic-file
- ${admin.version}
-
-
diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
index e68c8bc..6ac5303 100644
--- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
+++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
@@ -93,5 +93,4 @@
return ReturnUtil.success(deviceGroupService.deviceGroupDetail(idDTO.getId()));
}
-
}
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List> deviceMapList = sysCommonMapper.getDictMapByCode(DEVICE_TYPE);
Map deviceMap = deviceMapList.stream().collect(Collectors.toMap(e -> e.get("name"), e -> e.get("code")));
List> modelList = sysCommonMapper.getDictMapByCode(MODEL);
@@ -136,36 +149,43 @@
//设备编号后台生成
String validMsg = "第%d行数据校验失败:%s";
for (int i = 0; i < list.size(); i++) {
- DeviceListVO importDTO = list.get(i);
+ ImportDeviceDTO importDTO = list.get(i);
if (StrUtil.isBlank(importDTO.getDevcode())) {
throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号不能为空"));
+ } else if (devcodeMap.containsKey(importDTO.getDevcode())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号在系统已存在"));
}
- if (ObjectUtil.isEmpty(importDTO.getProductId()) || !productInfoMap.containsKey(importDTO.getProductName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或不正确"));
+ if (ObjectUtil.isEmpty(importDTO.getProductName()) || !productInfoMap.containsKey(importDTO.getProductName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或系统不存在"));
} else {
importDTO.setProductId(productInfoMap.get(importDTO.getProductName()).getId());
}
+ if (ObjectUtil.isEmpty(importDTO.getGroupName()) || !deviceGroupInfoMap.containsKey(importDTO.getGroupName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "分组名称不能为空或系统不存在"));
+ } else {
+ importDTO.setGroupId(deviceGroupInfoMap.get(importDTO.getGroupName()).getId());
+ }
if (ObjectUtil.isEmpty(importDTO.getModelName()) || !modelMap.containsKey(importDTO.getModelName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或系统不存在"));
} else {
importDTO.setModel(Integer.valueOf(modelMap.get(importDTO.getModelName())));
}
if (ObjectUtil.isEmpty(importDTO.getDeviceTypeName()) || !deviceMap.containsKey(importDTO.getDeviceTypeName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或系统不存在"));
} else {
importDTO.setDeviceType(Integer.valueOf(deviceMap.get(importDTO.getDeviceTypeName())));
}
}
}
- private void saveImport(List list) {
+ private void saveImport(List list) {
AuthUser authUser = ShiroKit.getUser();
String name = authUser.getName();
List deviceList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
- DeviceListVO deviceListDTO = list.get(i);
+ ImportDeviceDTO deviceListDTO = list.get(i);
Device device = new Device();
- BeanUtil.copyProperties(device, deviceListDTO);
+ BeanUtil.copyProperties(deviceListDTO, device);
device.setCreateUserName(name);
deviceList.add(device);
}
diff --git a/casic-iot-web/pom.xml b/casic-iot-web/pom.xml
index 133ecf8..c722e4b 100644
--- a/casic-iot-web/pom.xml
+++ b/casic-iot-web/pom.xml
@@ -27,47 +27,6 @@
sensorhub-core
${iot.version}
-
-
-
- com.casic
- casic-core
- ${core.version}
-
-
-
- com.casic
- casic-admin-core
- ${admin.version}
-
-
- io.springfox
- springfox-swagger-ui
-
-
-
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
- com.casic
- casic-file-support
- ${admin.version}
-
-
- com.casic
- casic-export-support
- ${extension.version}
-
-
- com.casic
- casic-file
- ${admin.version}
-
-
diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
index e68c8bc..6ac5303 100644
--- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
+++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
@@ -93,5 +93,4 @@
return ReturnUtil.success(deviceGroupService.deviceGroupDetail(idDTO.getId()));
}
-
}
diff --git a/pom.xml b/pom.xml
index bc216f3..73addfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,35 +60,11 @@
com.alibaba
- druid-spring-boot-starter
- 1.1.23
-
-
-
-
-
-
-
-
-
- mysql
- mysql-connector-java
- ${mysql.driver.version}
-
-
-
- com.alibaba
fastjson
${fastjson.version}
- org.apache.commons
- commons-lang3
- 3.1
-
-
-
cn.hutool
hutool-core
5.7.2
@@ -100,7 +76,6 @@
1.18.20
-
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List> deviceMapList = sysCommonMapper.getDictMapByCode(DEVICE_TYPE);
Map deviceMap = deviceMapList.stream().collect(Collectors.toMap(e -> e.get("name"), e -> e.get("code")));
List> modelList = sysCommonMapper.getDictMapByCode(MODEL);
@@ -136,36 +149,43 @@
//设备编号后台生成
String validMsg = "第%d行数据校验失败:%s";
for (int i = 0; i < list.size(); i++) {
- DeviceListVO importDTO = list.get(i);
+ ImportDeviceDTO importDTO = list.get(i);
if (StrUtil.isBlank(importDTO.getDevcode())) {
throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号不能为空"));
+ } else if (devcodeMap.containsKey(importDTO.getDevcode())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号在系统已存在"));
}
- if (ObjectUtil.isEmpty(importDTO.getProductId()) || !productInfoMap.containsKey(importDTO.getProductName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或不正确"));
+ if (ObjectUtil.isEmpty(importDTO.getProductName()) || !productInfoMap.containsKey(importDTO.getProductName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或系统不存在"));
} else {
importDTO.setProductId(productInfoMap.get(importDTO.getProductName()).getId());
}
+ if (ObjectUtil.isEmpty(importDTO.getGroupName()) || !deviceGroupInfoMap.containsKey(importDTO.getGroupName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "分组名称不能为空或系统不存在"));
+ } else {
+ importDTO.setGroupId(deviceGroupInfoMap.get(importDTO.getGroupName()).getId());
+ }
if (ObjectUtil.isEmpty(importDTO.getModelName()) || !modelMap.containsKey(importDTO.getModelName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或系统不存在"));
} else {
importDTO.setModel(Integer.valueOf(modelMap.get(importDTO.getModelName())));
}
if (ObjectUtil.isEmpty(importDTO.getDeviceTypeName()) || !deviceMap.containsKey(importDTO.getDeviceTypeName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或系统不存在"));
} else {
importDTO.setDeviceType(Integer.valueOf(deviceMap.get(importDTO.getDeviceTypeName())));
}
}
}
- private void saveImport(List list) {
+ private void saveImport(List list) {
AuthUser authUser = ShiroKit.getUser();
String name = authUser.getName();
List deviceList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
- DeviceListVO deviceListDTO = list.get(i);
+ ImportDeviceDTO deviceListDTO = list.get(i);
Device device = new Device();
- BeanUtil.copyProperties(device, deviceListDTO);
+ BeanUtil.copyProperties(deviceListDTO, device);
device.setCreateUserName(name);
deviceList.add(device);
}
diff --git a/casic-iot-web/pom.xml b/casic-iot-web/pom.xml
index 133ecf8..c722e4b 100644
--- a/casic-iot-web/pom.xml
+++ b/casic-iot-web/pom.xml
@@ -27,47 +27,6 @@
sensorhub-core
${iot.version}
-
-
-
- com.casic
- casic-core
- ${core.version}
-
-
-
- com.casic
- casic-admin-core
- ${admin.version}
-
-
- io.springfox
- springfox-swagger-ui
-
-
-
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
- com.casic
- casic-file-support
- ${admin.version}
-
-
- com.casic
- casic-export-support
- ${extension.version}
-
-
- com.casic
- casic-file
- ${admin.version}
-
-
diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
index e68c8bc..6ac5303 100644
--- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
+++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
@@ -93,5 +93,4 @@
return ReturnUtil.success(deviceGroupService.deviceGroupDetail(idDTO.getId()));
}
-
}
diff --git a/pom.xml b/pom.xml
index bc216f3..73addfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,35 +60,11 @@
com.alibaba
- druid-spring-boot-starter
- 1.1.23
-
-
-
-
-
-
-
-
-
- mysql
- mysql-connector-java
- ${mysql.driver.version}
-
-
-
- com.alibaba
fastjson
${fastjson.version}
- org.apache.commons
- commons-lang3
- 3.1
-
-
-
cn.hutool
hutool-core
5.7.2
@@ -100,7 +76,6 @@
1.18.20
-
diff --git a/sensorhub-core/pom.xml b/sensorhub-core/pom.xml
index 39bc3b2..af9af9b 100644
--- a/sensorhub-core/pom.xml
+++ b/sensorhub-core/pom.xml
@@ -59,6 +59,12 @@
com.casic
casic-iot-service
${iot.version}
+
+
+ com.google.guava
+ guava
+
+
diff --git a/casic-iot-common/pom.xml b/casic-iot-common/pom.xml
index 75e6e82..8cc8bc3 100644
--- a/casic-iot-common/pom.xml
+++ b/casic-iot-common/pom.xml
@@ -32,17 +32,6 @@
- com.casic
- casic-core
- ${core.version}
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
-
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
@@ -70,24 +59,6 @@
2.4.5
-
-
- cn.afterturn
- easypoi-base
- 4.4.0
-
-
- cn.afterturn
- easypoi-web
- 4.4.0
-
-
-
- cn.afterturn
- easypoi-annotation
- 4.4.0
-
-
diff --git a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
index 0b308f2..f6cf453 100644
--- a/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
+++ b/casic-iot-dao/src/resource/mapper/DeviceMapper.xml
@@ -25,8 +25,8 @@
diff --git a/casic-iot-model/pom.xml b/casic-iot-model/pom.xml
index 817ff19..51d28c8 100644
--- a/casic-iot-model/pom.xml
+++ b/casic-iot-model/pom.xml
@@ -35,6 +35,13 @@
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
com.casic
casic-admin-support
@@ -51,14 +58,10 @@
${extension.version}
- com.casic
- casic-file
- ${admin.version}
-
-
javax.validation
validation-api
+
\ No newline at end of file
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
index 4bd575d..8bf485f 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/DeviceListVO.java
@@ -28,6 +28,9 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称")
+ private String deviceName;
+
@ExcelProperty(value = "设备最新数据", order = 2)
@ApiModelProperty(value = "设备最新数据", dataType = "String")
@TableField(exist = false)
@@ -43,7 +46,7 @@
@TableField(exist = false)
private String deviceTypeName;
- @ApiModelProperty(value = "型号", dataType = "String")
+ @ApiModelProperty(value = "设备型号", dataType = "Integer")
@DictCodeField(message = "型号类型不合法", cacheName = MODEL)
@TableField("model")
private Integer model;
@@ -53,6 +56,7 @@
@TableField(exist = false)
private String modelName;
+
@ExcelProperty(value = "IMEI", order = 4)
@ApiModelProperty(value = "IMEI", dataType = "String")
@TableField(exist = false)
@@ -87,7 +91,7 @@
@ExcelProperty(value = "最新上线时间", order = 7)
@ApiModelProperty(value = "最新上线时间", dataType = "String")
@TableField(exist = false)
- private String uptime;
+ private String logtime;
@ExcelProperty(value = "创建时间", order = 7)
@ApiModelProperty(value = "创建时间", dataType = "String")
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
index 8ae2684..a64837d 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/device/ImportDeviceDTO.java
@@ -25,22 +25,25 @@
@TableField("devcode")
private String devcode;
+ @ExcelProperty(value = "设备名称", order = 2)
+ @TableField("name")
+ private String name;
@TableField("device_type")
- private String deviceType;
+ private Integer deviceType;
- @ExcelProperty(value = "设备类型", order = 2)
+ @ExcelProperty(value = "设备类型", order = 3)
@TableField(exist = false)
private String deviceTypeName;
@TableField("model")
- private String model;
+ private Integer model;
- @ExcelProperty(value = "设备型号", order = 3)
+ @ExcelProperty(value = "设备型号", order = 4)
@TableField(exist = false)
private String modelName;
- @ExcelProperty(value = "IMEI", order = 4)
+ @ExcelProperty(value = "IMEI", order = 5)
@TableField(exist = false)
private String imei;
@@ -48,10 +51,19 @@
private Long productId;
- @ExcelProperty(value = "所属产品", order = 5)
+ @ExcelProperty(value = "所属产品", order = 6)
private String productName;
- @ExcelProperty(value = "创建时间", order = 7)
+
+ @TableField(exist = false)
+ private Long groupId;
+
+ @ExcelProperty(value = "分组名称", order = 7)
+ @ApiModelProperty(value = "分组名称", dataType = "String")
+ @TableField(exist = false)
+ private String groupName;
+
+ @ExcelProperty(value = "创建时间", order = 8)
@ApiModelProperty(value = "创建时间", dataType = "String")
@TableField("create_time")
private String createTime;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
index 2dbe415..4174048 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/group/DeviceGroupListRequest.java
@@ -3,7 +3,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import springfox.documentation.schema.Model;
import java.util.List;
diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
index 1b44a3d..704e1b5 100644
--- a/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
+++ b/casic-iot-model/src/main/java/com/casic/missiles/model/Device.java
@@ -97,7 +97,7 @@
* 设备在线状态 0在线/1离线
*/
@TableField("status")
- @ApiModelProperty(value = "设备在线状态 0在线/1离线", dataType = "Integer")
+ @ApiModelProperty(value = "设备在线状态 1在线/0离线", dataType = "Integer")
private Integer status;
/**
diff --git a/casic-iot-service/pom.xml b/casic-iot-service/pom.xml
index 61dcbed..0418722 100644
--- a/casic-iot-service/pom.xml
+++ b/casic-iot-service/pom.xml
@@ -20,6 +20,7 @@
${iot.version}
+
com.casic
casic-iot-model
diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
index 75aea72..055445a 100644
--- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
+++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceServiceImpl.java
@@ -15,14 +15,17 @@
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.device.DeviceListRequest;
import com.casic.missiles.dto.device.DeviceListVO;
+import com.casic.missiles.dto.device.ImportDeviceDTO;
import com.casic.missiles.dto.group.DeviceGroupListVO;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.DictCodeEnum;
import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.mapper.DeviceGroupMapper;
import com.casic.missiles.mapper.ProductInfoMapper;
import com.casic.missiles.mapper.DeviceMapper;
import com.casic.missiles.mapper.common.SysCommonMapper;
import com.casic.missiles.model.Device;
+import com.casic.missiles.model.DeviceGroup;
import com.casic.missiles.model.ProductInfo;
import com.casic.missiles.service.IDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,9 +37,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +53,7 @@
public class DeviceServiceImpl extends ServiceImpl implements IDeviceService, DictCodeEnum {
private final ProductInfoMapper productInfoMapper;
+ private final DeviceGroupMapper deviceGroupMapper;
private final SysCommonMapper sysCommonMapper;
@Override
@@ -113,10 +115,10 @@
public void importiFile(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
//保证登录账号、部门id正确
- List list = EasyExcel.read(inputStream)
+ List list = EasyExcel.read(inputStream)
//注册自定义监听器,字段校验可以在监听器内实现
.registerReadListener(new CommonExcelListener<>())
- .head(DeviceGroupListVO.class) //对应导入的实体类
+ .head(ImportDeviceDTO.class) //对应导入的实体类
.sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
@@ -124,11 +126,22 @@
saveImport(list);
}
- private void validImport(List list) {
+ private void validImport(List list) {
+ //去重
+ list = list.stream().collect(Collectors.collectingAndThen(
+ Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportDeviceDTO::getDevcode))), ArrayList::new));
List productInfoList = productInfoMapper.selectList(null);
Map productInfoMap = productInfoList.stream().collect(
Collectors.toMap(ProductInfo::getName, e -> e)
);
+ List deviceList = this.baseMapper.selectList(null);
+ Map devcodeMap = deviceList.stream().collect(
+ Collectors.toMap(Device::getDevcode, e -> e)
+ );
+ List deviceGroupList = deviceGroupMapper.selectList(null);
+ Map deviceGroupInfoMap = deviceGroupList.stream().collect(
+ Collectors.toMap(DeviceGroup::getGroupName, e -> e)
+ );
List> deviceMapList = sysCommonMapper.getDictMapByCode(DEVICE_TYPE);
Map deviceMap = deviceMapList.stream().collect(Collectors.toMap(e -> e.get("name"), e -> e.get("code")));
List> modelList = sysCommonMapper.getDictMapByCode(MODEL);
@@ -136,36 +149,43 @@
//设备编号后台生成
String validMsg = "第%d行数据校验失败:%s";
for (int i = 0; i < list.size(); i++) {
- DeviceListVO importDTO = list.get(i);
+ ImportDeviceDTO importDTO = list.get(i);
if (StrUtil.isBlank(importDTO.getDevcode())) {
throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号不能为空"));
+ } else if (devcodeMap.containsKey(importDTO.getDevcode())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备编号在系统已存在"));
}
- if (ObjectUtil.isEmpty(importDTO.getProductId()) || !productInfoMap.containsKey(importDTO.getProductName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或不正确"));
+ if (ObjectUtil.isEmpty(importDTO.getProductName()) || !productInfoMap.containsKey(importDTO.getProductName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "产品名称不能为空或系统不存在"));
} else {
importDTO.setProductId(productInfoMap.get(importDTO.getProductName()).getId());
}
+ if (ObjectUtil.isEmpty(importDTO.getGroupName()) || !deviceGroupInfoMap.containsKey(importDTO.getGroupName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "分组名称不能为空或系统不存在"));
+ } else {
+ importDTO.setGroupId(deviceGroupInfoMap.get(importDTO.getGroupName()).getId());
+ }
if (ObjectUtil.isEmpty(importDTO.getModelName()) || !modelMap.containsKey(importDTO.getModelName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备型号不能为空或系统不存在"));
} else {
importDTO.setModel(Integer.valueOf(modelMap.get(importDTO.getModelName())));
}
if (ObjectUtil.isEmpty(importDTO.getDeviceTypeName()) || !deviceMap.containsKey(importDTO.getDeviceTypeName())) {
- throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或不正确"));
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空或系统不存在"));
} else {
importDTO.setDeviceType(Integer.valueOf(deviceMap.get(importDTO.getDeviceTypeName())));
}
}
}
- private void saveImport(List list) {
+ private void saveImport(List list) {
AuthUser authUser = ShiroKit.getUser();
String name = authUser.getName();
List deviceList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
- DeviceListVO deviceListDTO = list.get(i);
+ ImportDeviceDTO deviceListDTO = list.get(i);
Device device = new Device();
- BeanUtil.copyProperties(device, deviceListDTO);
+ BeanUtil.copyProperties(deviceListDTO, device);
device.setCreateUserName(name);
deviceList.add(device);
}
diff --git a/casic-iot-web/pom.xml b/casic-iot-web/pom.xml
index 133ecf8..c722e4b 100644
--- a/casic-iot-web/pom.xml
+++ b/casic-iot-web/pom.xml
@@ -27,47 +27,6 @@
sensorhub-core
${iot.version}
-
-
-
- com.casic
- casic-core
- ${core.version}
-
-
-
- com.casic
- casic-admin-core
- ${admin.version}
-
-
- io.springfox
- springfox-swagger-ui
-
-
-
-
-
- com.casic
- casic-admin-support
- ${admin.version}
-
-
- com.casic
- casic-file-support
- ${admin.version}
-
-
- com.casic
- casic-export-support
- ${extension.version}
-
-
- com.casic
- casic-file
- ${admin.version}
-
-
diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
index e68c8bc..6ac5303 100644
--- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
+++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceGroupController.java
@@ -93,5 +93,4 @@
return ReturnUtil.success(deviceGroupService.deviceGroupDetail(idDTO.getId()));
}
-
}
diff --git a/pom.xml b/pom.xml
index bc216f3..73addfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,35 +60,11 @@
com.alibaba
- druid-spring-boot-starter
- 1.1.23
-
-
-
-
-
-
-
-
-
- mysql
- mysql-connector-java
- ${mysql.driver.version}
-
-
-
- com.alibaba
fastjson
${fastjson.version}
- org.apache.commons
- commons-lang3
- 3.1
-
-
-
cn.hutool
hutool-core
5.7.2
@@ -100,7 +76,6 @@
1.18.20
-
diff --git a/sensorhub-core/pom.xml b/sensorhub-core/pom.xml
index 39bc3b2..af9af9b 100644
--- a/sensorhub-core/pom.xml
+++ b/sensorhub-core/pom.xml
@@ -59,6 +59,12 @@
com.casic
casic-iot-service
${iot.version}
+
+
+ com.google.guava
+ guava
+
+
diff --git a/sensorhub-support/pom.xml b/sensorhub-support/pom.xml
index ff24f09..c81f684 100644
--- a/sensorhub-support/pom.xml
+++ b/sensorhub-support/pom.xml
@@ -20,6 +20,18 @@
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.1
+
+
+
org.springframework.boot
spring-boot-starter-test
${boot.version}