feat(model): 新增字典管理数据模型

- 新增SysDictType字典类型实体类
- 新增SysDictData字典数据实体类
- 新增对应的VO查询类
- 支持MyBatis Plus注解和数据验证
This commit is contained in:
Leo 2025-09-26 16:35:40 +08:00
parent b90f63559a
commit c486af6f9f
4 changed files with 256 additions and 0 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}