From c486af6f9fcdb4b8c1f9ead03fc6c29728770317 Mon Sep 17 00:00:00 2001 From: Leo <98382335+gaoziman@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:35:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(model):=20=E6=96=B0=E5=A2=9E=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E7=AE=A1=E7=90=86=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增SysDictType字典类型实体类 - 新增SysDictData字典数据实体类 - 新增对应的VO查询类 - 支持MyBatis Plus注解和数据验证 --- .../domain/model/vo/system/SysDictDataVo.java | 35 ++++++ .../domain/model/vo/system/SysDictTypeVo.java | 30 +++++ .../thin/domain/pojo/system/SysDictData.java | 110 ++++++++++++++++++ .../thin/domain/pojo/system/SysDictType.java | 81 +++++++++++++ 4 files changed, 256 insertions(+) create mode 100644 coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictDataVo.java create mode 100644 coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictTypeVo.java create mode 100644 coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictData.java create mode 100644 coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictType.java diff --git a/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictDataVo.java b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictDataVo.java new file mode 100644 index 0000000..6b966b8 --- /dev/null +++ b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictDataVo.java @@ -0,0 +1,35 @@ +package org.leocoder.thin.domain.model.vo.system; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.leocoder.thin.domain.model.vo.base.BaseVo; + +/** + * @author Leocoder + * @description [字典数据表-模型][Vo类] + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysDictDataVo extends BaseVo { + + /** + * 字典标签 + */ + private String dictLabel; + + /** + * 字典键值 + */ + private String dictValue; + + /** + * 字典类型 + */ + private String dictType; + + /** + * 状态(0正常 1停用) + */ + private String dictStatus; + +} \ No newline at end of file diff --git a/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictTypeVo.java b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictTypeVo.java new file mode 100644 index 0000000..75ffb28 --- /dev/null +++ b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/model/vo/system/SysDictTypeVo.java @@ -0,0 +1,30 @@ +package org.leocoder.thin.domain.model.vo.system; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.leocoder.thin.domain.model.vo.base.BaseVo; + +/** + * @author Leocoder + * @description [字典类型表-模型][Vo类] + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysDictTypeVo extends BaseVo { + + /** + * 字典名称 + */ + private String dictName; + + /** + * 字典类型 + */ + private String dictType; + + /** + * 状态[0-正常 1-停用] + */ + private String dictStatus; + +} \ No newline at end of file diff --git a/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictData.java b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictData.java new file mode 100644 index 0000000..4d8ccdc --- /dev/null +++ b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictData.java @@ -0,0 +1,110 @@ +package org.leocoder.thin.domain.pojo.system; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author Leocoder + * @description [字典数据表-模型] + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("sys_dict_data") +public class SysDictData implements Serializable { + + /** + * 字典编码 + */ + @TableId(value = "dict_id", type = IdType.ASSIGN_ID) + private Long dictId; + + /** + * 字典标签 + */ + @NotBlank(message = "字典标签不能为空") + @TableField(value = "dict_label") + private String dictLabel; + + /** + * 字典键值 + */ + @NotBlank(message = "字典键值不能为空") + @TableField(value = "dict_value") + private String dictValue; + + /** + * 字典类型 + */ + @NotBlank(message = "字典类型不能为空") + @TableField(value = "dict_type") + private String dictType; + + /** + * 字典状态[0启用 1停用] + */ + @NotBlank(message = "字典状态不能为空") + @TableField(value = "dict_status") + private String dictStatus; + + /** + * ElementPlus官方颜色[默认-primary] + */ + @NotBlank(message = "标签不能为空") + @TableField(value = "dict_tag") + private String dictTag; + + /** + * tags自定义背景颜色[有值会进行覆盖ElementPlus官方颜色][例如:16进制或者pink等] + */ + @TableField(value = "dict_color") + private String dictColor; + + /** + * 显示顺序 + */ + @NotNull(message = "显示顺序不能为空") + @TableField(value = "sorted") + private Integer sorted; + + /** + * 创建者 + */ + @TableField(value = "create_by") + private String createBy; + + /** + * 创建时间 + */ + @TableField(value = "create_time", fill = FieldFill.INSERT) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新者 + */ + @TableField(value = "update_by") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + +} \ No newline at end of file diff --git a/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictType.java b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictType.java new file mode 100644 index 0000000..5e80cde --- /dev/null +++ b/coder-common-thin-model/src/main/java/org/leocoder/thin/domain/pojo/system/SysDictType.java @@ -0,0 +1,81 @@ +package org.leocoder.thin.domain.pojo.system; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author Leocoder + * @description [字典类型表-模型] + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("sys_dict_type") +public class SysDictType implements Serializable { + + /** + * 字典主键 + */ + @TableId(value = "dict_id", type = IdType.ASSIGN_ID) + private Long dictId; + + /** + * 字典类型 + */ + @NotBlank(message = "字典类型不能为空") + @TableField("dict_type") + private String dictType; + + /** + * 字典名称 + */ + @NotBlank(message = "字典名称不能为空") + @TableField("dict_name") + private String dictName; + + /** + * 字典状态[0-正常 1-停用] + */ + @NotBlank(message = "字典状态不能为空") + @TableField("dict_status") + private String dictStatus; + + /** + * 创建者 + */ + @TableField("create_by") + private String createBy; + + /** + * 创建时间 + */ + @TableField(value = "create_time", fill = FieldFill.INSERT) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新者 + */ + @TableField("update_by") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; +} \ No newline at end of file