package cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.model.dataType;
|
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.Pattern;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
|
/**
|
* IoT 物模型数据类型为布尔型或枚举型的 DataSpec 定义
|
*
|
* 数据类型,取值为 bool 或 enum
|
*
|
* @author HUIHUI
|
*/
|
@Data
|
@EqualsAndHashCode(callSuper = true)
|
@JsonIgnoreProperties({"dataType"}) // 忽略子类中的 dataType 字段,从而避免重复
|
public class ThingModelBoolOrEnumDataSpecs extends ThingModelDataSpecs {
|
|
@NotEmpty(message = "枚举项的名称不能为空")
|
@Pattern(regexp = "^[\\u4e00-\\u9fa5a-zA-Z0-9][\\u4e00-\\u9fa5a-zA-Z0-9_-]{0,19}$",
|
message = "枚举项的名称只能包含中文、大小写英文字母、数字、下划线和短划线,必须以中文、英文字母或数字开头,长度不超过 20 个字符")
|
private String name;
|
|
@NotNull(message = "枚举值不能为空")
|
private Integer value;
|
|
}
|