package com.entity.model; import com.entity.DictionaryEntity; import com.baomidou.mybatisplus.annotations.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; /** * 字典表 * 接收传参的实体类 * 该类主要用于在系统与外部(如移动端等) * 进行数据交互时,接收传递过来的与字典表相关的参数信息,起到数据传输载体的作用。 * 在实际开发中,根据具体业务场景, * 可以手动对其包含的字段进行筛选调整(去掉一些在特定接口或业务逻辑中不需要的字段), * 因为后端在很多情况下直接使用 `entity` 类 * (如 `DictionaryEntity`)就可以满足基本的数据操作需求,这里的 `Model` 类更侧重于接收外部传入的数据格式适配。 * 其名称取自 `ModelAndView` 的 `model`, * 暗示了它在数据传递和视图模型构建方面的作用(通常用于构建适合展示或处理的数据模型结构)。 */ public class DictionaryModel implements Serializable { private static final long serialVersionUID = 1L; // ** // * 主键,用于唯一标识字典表中的每一条记录, // 在数据库操作中(如查询、更新、删除等)可通过主键精准定位到特定的字典表数据行, // * 通常对应数据库表中定义的主键字段, // 保证数据的唯一性和可识别性。 // */ private Integer id; // ** // * 字段,可能用于存储字典表中某个条目的特定代码或者标识信息, // 例如可以是代表不同分类、类型等的代码值, // * 通过该字段能够区分不同的字典项, // 并且在业务逻辑中可以基于此字段进行相关的查询、匹配等操作。 // */ private String dicCode; // ** // * 字段名,与 `dicCode` 相对应, // 用于存储该字段对应的直观的名称描述, // 方便在前端展示或者业务逻辑处理中让人更容易理解该字段所代表的含义, // * 例如如果 `dicCode` 是分类代码,那 `dicName` 就是具体的分类名称,增强了数据的可读性。 // */ private String dicName; // ** // * 编码,可能是对字典表中各项进行编号的一个整数值, // 用于在内部对字典项进行排序、索引或者作为另一种标识方式, // * 在一些需要按照特定顺序处理字典数据或者通过编号快速查找字典项的业务场景中会发挥作用。 // */ private Integer codeIndex; // ** // * 编码名字,与 `codeIndex` 相对应, // 是对该编码所代表含义的文字描述, // 同样是为了提高数据的可读性和可理解性, // * 便于在展示给用户或者业务逻辑处理中清晰地知晓该编码具体对应的内容。 // */ private String indexName; // ** // * 父字段id,用于表示当前字典项在层级结构中的上级字段的唯一标识(如果字典表存在层级关系的话), // * 通过这个 `superId` // 可以构建字典项之间的父子关联关系,方便进行树形结构数据的展示、 // 查询以及相关业务逻辑处理(比如查找某个分类下的子分类等情况)。 // */ private Integer superId; // ** // * 备注,用于存储一些对该字典项的额外说明信息, // 例如该项的特殊用途、适用范围、创建背景等内容, // * 在需要详细了解字典项相关细节或者进行一些辅助性的业务逻辑判断时, // 可以参考备注中的信息。 // */ private String beizhu; // ** // * 创建时间,记录该字典表记录的创建时间点, // 通过 `@JsonFormat` 和 `@DateTimeFormat` 注解来规范时间格式的序列化与格式化处理, // * 确保在前后端交互以及数据存储等场景下时间格式的一致性。 // 例如在按照时间顺序查询字典表数据、统计不同时间段创建的数据量等业务场景中会用到该时间信息。 // * @JsonFormat 注解用于控制在将对象转换为JSON格式时时间的显示格式。 // * @DateTimeFormat 注解用于在接收前端传入时间格式数据时进行解析转换。 // */ @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat private Date createTime; // ** // * 获取:主键,对外提供获取主键值的方法, // 方便在其他类中访问该对象的主键信息, // 例如在进行数据库查询结果映射或者业务逻辑处理中需要用到字典表记录主键时可调用此方法获取。 // * @return 返回主键对应的整数值。 // */ public Integer getId() { return id; } // ** // * 设置:主键,用于设置该对象的主键值, // 通常在对象初始化或者从数据库等外部数据源加载数据后更新主键值时使用 // ,例如创建新字典表记录对象并保存到数据库前需要设置主键值。 // * @param id 要设置的主键整数值。 // */ public void setId(Integer id) { this.id = id; } // ** // * 获取:字段,对外提供获取字段值(`dicCode`)的方法, // 以便在业务逻辑中根据该字段进行相关操作,比如查询特定代码的字典项、 // * 根据代码进行匹配判断等情况时可调用此方法获取字段值,返回对应的字符串内容。 // * @return 返回字段对应的字符串值。 // */ public String getDicCode() { return dicCode; } // ** // * 设置:字段,用于更新字段值(`dicCode`), // 例如在修改字典表记录中该字段的代码内容后, // 调用此方法来保存新的代码信息,以反映字典项的变化。 // * @param dicCode 要设置的字段字符串值。 // */ public void setDicCode(String dicCode) { this.dicCode = dicCode; } // ** // * 获取:字段名,对外提供获取字段名(`dicName`)的方法, // 在需要展示字典项的名称给用户或者在业务逻辑中基于名称进行相关处理(如筛选、排序等)时, // * 可调用此方法获取对应的字符串内容,方便操作和展示。 // * @return 返回字段名对应的字符串值。 // */ public String getDicName() { return dicName; } // ** // * 设置:字段名,用于更新字段名(`dicName`), // 比如对字典项的名称进行修改后,通过此方法保存新的名称信息, // 确保名称能准确反映字典项的实际含义。 // * @param dicName 要设置的字段名字符串值。 // */ public void setDicName(String dicName) { this.dicName = dicName; } // ** // * 获取:编码,对外提供获取编码值(`codeIndex`)的方法, // 在涉及到按照编码进行排序、查找特定编码的字典项等业务场景中, // * 可调用此方法获取对应的整数值,便于进行相应的业务处理。 // * @return 返回编码对应的整数值。 // */ public Integer getCodeIndex() { return codeIndex; } // ** // * 设置:编码,用于更新编码值(`codeIndex`), // 例如调整字典项的编号顺序或者重新分配编码后, // 调用此方法来保存新的编码信息,以符合业务要求的编码规则。 // * @param codeIndex 要设置的编码整数值。 // */ public void setCodeIndex(Integer codeIndex) { this.codeIndex = codeIndex; } // ** // * 获取:编码名字,对外提供获取编码名字(`indexName`)的方法, // 在需要展示编码对应的具体含义或者基于名称进行业务逻辑处理(如匹配、筛选等)时, // * 可调用此方法获取对应的字符串内容,增强数据的可读性和可操作性。 // * @return 返回编码名字对应的字符串值。 // */ public String getIndexName() { return indexName; } // ** // * 设置:编码名字,用于更新编码名字(`indexName`), // 比如对编码所代表的含义进行重新定义或者修改描述后,通过此方法保存新的名称信息, // * 以便准确传达编码的实际意义。 // * @param indexName 要设置的编码名字符串值。 // */ public void setIndexName(String indexName) { this.indexName = indexName; } // ** // * 获取:父字段id,对外提供获取父字段id(`superId`)的方法, // 在处理字典表的层级关系数据时,比如查找某个父项下的子项、 // * 判断字典项的层级归属等业务场景中, // 可调用此方法获取对应的整数值, // 方便进行相关的关联操作和业务逻辑处理。 // * @return 返回父字段id对应的整数值。 // */ public Integer getSuperId() { return superId; } // ** // * 设置:父字段id,用于更新父字段id(`superId`)的值, // 例如调整字典项的层级结构、变更上级字段后,通过此方法保存新的父字段id信息, // * 以正确反映字典项在层级关系中的位置变化。 // * @param superId 要设置的父字段id整数值。 // */ public void setSuperId(Integer superId) { this.superId = superId; } // ** // * 获取:备注,对外提供获取备注信息(`beizhu`)的方法, // // 在需要查看字典项的额外说明或者根据备注内容进行一些特殊业务逻辑判断(如判断适用范围等)时, // * 可调用此方法获取对应的字符串内容,辅助业务处理。 // * @return 返回备注对应的字符串值。 // */ public String getBeizhu() { return beizhu; } // ** // * 设置:备注,用于更新备注信息(`beizhu`), // // 例如添加、修改字典项的备注内容后,通过此方法保存新的备注信息,方便后续查看和参考。 // * @param beizhu 要设置的备注字符串值。 // */ public void setBeizhu(String beizhu) { this.beizhu = beizhu; } // ** // * 获取:创建时间,对外提供获取创建时间(`createTime`)的方法, // // 在展示字典表记录的创建时间、按照时间范围查询字典项、 // * 统计不同时间段创建的数据量等业务场景中,可调用此方法获取对应的 ` // // // Date` 类型对象,用于后续的时间相关操作和展示。 // * @return 返回创建时间对应的 `Date` 类型对象。 // */ public Date getCreateTime() { return createTime; } // ** // * 设置:创建时间,用于更新创建时间(`createTime`)的值 // // ,不过在实际业务中通常创建时间是在记录首次创建时自动设置,较少进行手动更新, // * 但保留此方法以满足可能的特殊需求(如数据迁移、时间校准等场景下对创建时间进行调整), // // 通过传入对应的 `Date` 类型对象来更新创建时间信息。 // * @param createTime 要设置的创建时间对应的 `Date` 类型对象。 // */ public void setCreateTime(Date createTime) { this.createTime = createTime; } }