Commit 037ab39ac74746e8cfc452b00cb593144bf4d6f5

Authored by 安浩浩
1 parent f7b62b4b

修改:新增产品枚举

yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ProductDeviceTypeConstants.java deleted
1   -package cn.iocoder.yudao.module.iot.enums;
2   -
3   -/**
4   - * 产品设备类型常量
5   - */
6   -public interface ProductDeviceTypeConstants {
7   -
8   - // ========== 产品设备类型 ============
9   - String DEVICE = "device"; // 直连设备
10   - String GATEWAY = "gateway"; // 网关设备
11   - String GATEWAY_SUB = "gateway_sub"; // 网关子设备
12   -
13   -}
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ProductProtocolTypeConstants.java deleted
1   -package cn.iocoder.yudao.module.iot.enums;
2   -
3   -/**
4   - * 产品传输协议类型常量
5   - */
6   -public interface ProductProtocolTypeConstants {
7   -
8   - // ========== 产品传输协议类型 ============
9   - String MQTT = "mqtt"; // MQTT
10   - String COAP = "coap"; // COAP
11   - String HTTP = "http"; // HTTP
12   - String HTTPS = "https"; // HTTPS
13   -}
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ProductDataFormatEnum.java renamed to yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotDataFormatEnum.java
1   -package cn.iocoder.yudao.module.iot.enums;
  1 +package cn.iocoder.yudao.module.iot.enums.product;
2 2  
3 3 import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
4 4 import lombok.AllArgsConstructor;
... ... @@ -8,14 +8,14 @@ import java.util.Arrays;
8 8  
9 9 /**
10 10 * 产品数据格式枚举类
11   - * 1. 标准数据格式(JSON)2. 透传/自定义
  11 + * 数据格式, 0: 标准数据格式(JSON), 1: 透传/自定义
12 12 */
13 13 @AllArgsConstructor
14 14 @Getter
15   -public enum ProductDataFormatEnum implements IntArrayValuable {
  15 +public enum IotDataFormatEnum implements IntArrayValuable {
16 16  
17   - JSON(1, "标准数据格式(JSON)"),
18   - SCRIPT(2, "透传/自定义");
  17 + JSON(0, "标准数据格式(JSON)"),
  18 + CUSTOMIZE(1, "透传/自定义");
19 19  
20 20 /**
21 21 * 类型
... ... @@ -27,7 +27,7 @@ public enum ProductDataFormatEnum implements IntArrayValuable {
27 27 */
28 28 private final String description;
29 29  
30   - public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductDataFormatEnum::getType).toArray();
  30 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(IotDataFormatEnum::getType).toArray();
31 31  
32 32 @Override
33 33 public int[] array() {
... ...
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotNetTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.enums.product;
  2 +
  3 +import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +import java.util.Arrays;
  8 +
  9 +/**
  10 + * IOT 联网方式枚举类
  11 + * 联网方式, 0: Wi-Fi, 1: Cellular, 2: Ethernet, 3: 其他
  12 + */
  13 +@AllArgsConstructor
  14 +@Getter
  15 +public enum IotNetTypeEnum implements IntArrayValuable {
  16 +
  17 + WIFI(0, "Wi-Fi"),
  18 + CELLULAR(1, "Cellular"),
  19 + ETHERNET(2, "Ethernet"),
  20 + OTHER(3, "其他");
  21 +
  22 +
  23 + /**
  24 + * 类型
  25 + */
  26 + private final Integer type;
  27 +
  28 + /**
  29 + * 描述
  30 + */
  31 + private final String description;
  32 +
  33 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(IotNetTypeEnum::getType).toArray();
  34 +
  35 + @Override
  36 + public int[] array() {
  37 + return ARRAYS;
  38 + }
  39 +
  40 +}
... ...
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotProductDeviceTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.enums.product;
  2 +
  3 +import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +import java.util.Arrays;
  8 +
  9 +/**
  10 + * IOT 产品设备类型
  11 + * 设备类型, 0: 直连设备, 1: 网关子设备, 2: 网关设备
  12 + */
  13 +@AllArgsConstructor
  14 +@Getter
  15 +public enum IotProductDeviceTypeEnum implements IntArrayValuable {
  16 +
  17 + DIRECT(0, "直连设备"),
  18 + GATEWAY_CHILD(1, "网关子设备"),
  19 + GATEWAY(2, "网关设备");
  20 +
  21 + /**
  22 + * 类型
  23 + */
  24 + private final Integer type;
  25 +
  26 + /**
  27 + * 描述
  28 + */
  29 + private final String description;
  30 +
  31 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(IotProductDeviceTypeEnum::getType).toArray();
  32 +
  33 + @Override
  34 + public int[] array() {
  35 + return ARRAYS;
  36 + }
  37 +
  38 +}
... ...
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ProductStatusEnum.java renamed to yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotProductStatusEnum.java
1   -package cn.iocoder.yudao.module.iot.enums;
  1 +package cn.iocoder.yudao.module.iot.enums.product;
2 2  
3 3 import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
4 4 import lombok.AllArgsConstructor;
5 5 import lombok.Getter;
6 6  
7 7 /**
8   - * 产品状态枚举类
9   - * 禁用 启用
  8 + * IOT 产品状态枚举类
  9 + * 产品状态, 0: 未发布, 1: 已发布
10 10 */
11 11 @AllArgsConstructor
12 12 @Getter
13   -public enum ProductStatusEnum implements IntArrayValuable {
  13 +public enum IotProductStatusEnum implements IntArrayValuable {
14 14  
15   - DISABLE(0, "禁用"),
16   - ENABLE(1, "启用");
  15 + UNPUBLISHED(0, "未发布"),
  16 + PUBLISHED(1, "已发布");
17 17  
18 18 /**
19 19 * 类型
... ...
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotProtocolTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.enums.product;
  2 +
  3 +import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +import java.util.Arrays;
  8 +
  9 +/**
  10 + * IOT 接入网关协议枚举类
  11 + * 接入网关协议, 0: 自定义, 1: Modbus, 2: OPC UA, 3: ZigBee, 4: BLE
  12 + */
  13 +@AllArgsConstructor
  14 +@Getter
  15 +public enum IotProtocolTypeEnum implements IntArrayValuable {
  16 +
  17 + CUSTOM(0, "自定义"),
  18 + MODBUS(1, "Modbus"),
  19 + OPC_UA(2, "OPC UA"),
  20 + ZIGBEE(3, "ZigBee"),
  21 + BLE(4, "BLE");
  22 +
  23 +
  24 + /**
  25 + * 类型
  26 + */
  27 + private final Integer type;
  28 +
  29 + /**
  30 + * 描述
  31 + */
  32 + private final String description;
  33 +
  34 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(IotProtocolTypeEnum::getType).toArray();
  35 +
  36 + @Override
  37 + public int[] array() {
  38 + return ARRAYS;
  39 + }
  40 +
  41 +}
... ...
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/product/IotValidateTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.enums.product;
  2 +
  3 +import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +import java.util.Arrays;
  8 +
  9 +/**
  10 + * IOT 数据校验级别枚举类
  11 + * 数据校验级别, 0: 弱校验, 1: 免校验
  12 + */
  13 +@AllArgsConstructor
  14 +@Getter
  15 +public enum IotValidateTypeEnum implements IntArrayValuable {
  16 +
  17 + WEAK(0, "弱校验"),
  18 + NONE(1, "免校验");
  19 +
  20 +
  21 + /**
  22 + * 类型
  23 + */
  24 + private final Integer type;
  25 +
  26 + /**
  27 + * 描述
  28 + */
  29 + private final String description;
  30 +
  31 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(IotValidateTypeEnum::getType).toArray();
  32 +
  33 + @Override
  34 + public int[] array() {
  35 + return ARRAYS;
  36 + }
  37 +
  38 +}
... ...
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/product/vo/ProductSaveReqVO.java
1 1 package cn.iocoder.yudao.module.iot.controller.admin.product.vo;
2 2  
  3 +import cn.iocoder.yudao.framework.common.validation.InEnum;
  4 +import cn.iocoder.yudao.module.iot.enums.product.*;
3 5 import io.swagger.v3.oas.annotations.media.Schema;
4 6 import lombok.*;
5 7 import java.util.*;
... ... @@ -20,22 +22,25 @@ public class ProductSaveReqVO {
20 22 private String name;
21 23  
22 24 @Schema(description = "设备类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
  25 + @InEnum(value = IotProductDeviceTypeEnum.class, message = "设备类型必须是 {value}")
23 26 @NotNull(message = "设备类型不能为空")
24 27 private Integer deviceType;
25 28  
26 29 @Schema(description = "联网方式", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
27   - @NotNull(message = "联网方式不能为空")
  30 + @InEnum(value = IotNetTypeEnum.class, message = "联网方式必须是 {value}")
28 31 private Integer netType;
29 32  
30 33 @Schema(description = "接入网关协议", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
31   - @NotNull(message = "接入网关协议不能为空")
  34 + @InEnum(value = IotProtocolTypeEnum.class, message = "接入网关协议必须是 {value}")
32 35 private Integer protocolType;
33 36  
34 37 @Schema(description = "数据格式",requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
  38 + @InEnum(value = IotDataFormatEnum.class, message = "数据格式必须是 {value}")
35 39 @NotNull(message = "数据格式不能为空")
36 40 private Integer dataFormat;
37 41  
38 42 @Schema(description = "数据校验级别", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
  43 + @InEnum(value = IotValidateTypeEnum.class, message = "数据校验级别必须是 {value}")
39 44 @NotNull(message = "数据校验级别不能为空")
40 45 private Integer validateType;
41 46  
... ...
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/product/ProductMapper.java
1 1 package cn.iocoder.yudao.module.iot.dal.mysql.product;
2 2  
3   -import java.util.*;
4   -
5 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6   -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
7 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  5 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import cn.iocoder.yudao.module.iot.controller.admin.product.vo.ProductPageReqVO;
8 7 import cn.iocoder.yudao.module.iot.dal.dataobject.product.ProductDO;
9 8 import org.apache.ibatis.annotations.Mapper;
10   -import cn.iocoder.yudao.module.iot.controller.admin.product.vo.*;
11 9  
12 10 /**
13 11 * iot 产品 Mapper
... ... @@ -21,7 +19,7 @@ public interface ProductMapper extends BaseMapperX<ProductDO> {
21 19 return selectPage(reqVO, new LambdaQueryWrapperX<ProductDO>()
22 20 .likeIfPresent(ProductDO::getName, reqVO.getName())
23 21 .betweenIfPresent(ProductDO::getCreateTime, reqVO.getCreateTime())
24   - .eqIfPresent(ProductDO::getProductKey, reqVO.getProductKey())
  22 + .likeIfPresent(ProductDO::getProductKey, reqVO.getProductKey())
25 23 .eqIfPresent(ProductDO::getProtocolId, reqVO.getProtocolId())
26 24 .eqIfPresent(ProductDO::getCategoryId, reqVO.getCategoryId())
27 25 .eqIfPresent(ProductDO::getDescription, reqVO.getDescription())
... ...