|
|
package com.entity;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
import java.util.Date;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotations.TableId;
|
|
|
import com.baomidou.mybatisplus.annotations.TableName;
|
|
|
import com.baomidou.mybatisplus.enums.IdType;
|
|
|
|
|
|
/**
|
|
|
* token表
|
|
|
* 该类用于表示 `token` 相关的数据实体,
|
|
|
* 对应数据库中的 `token` 表结构,存储与用户 `token` 相关的各种信息,
|
|
|
* 实现了 `Serializable` 接口,
|
|
|
*
|
|
|
*
|
|
|
*
|
|
|
* 便能够在网络传输或者持久化存储(如保存到文件、数据库等情况)时进行序列化和反序列化操作,保证数据的完整性和可恢复性。
|
|
|
*/
|
|
|
@TableName("token")
|
|
|
public class TokenEntity implements Serializable {
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
// **
|
|
|
// * 主键标识,通过 `@TableId`
|
|
|
//
|
|
|
//
|
|
|
// 注解指定该字段为主键,并且设置主键的生成策略为自增长(`IdType.AUTO`),
|
|
|
// * 在数据库插入操作时,系统会按照设定的自增长规则自动为该字段赋值,
|
|
|
//
|
|
|
//
|
|
|
// 用于唯一标识每条 `token` 记录,方便进行数据库层面的操作(如查询、更新、删除等),
|
|
|
// * 确保数据的唯一性和可定位性。
|
|
|
// */
|
|
|
@TableId(type = IdType.AUTO)
|
|
|
private Integer id;
|
|
|
|
|
|
// **
|
|
|
// * 用户id,用于关联具体的用户,明确该 `token` 是属于哪个用户的标识信息,
|
|
|
// * 通过这个字段可以建立 `token`
|
|
|
//
|
|
|
// 与用户之间的对应关系,在进行用户认证、权限验证等业务场景中,
|
|
|
// * 基于该用户 `id` 去查找对应的用户信息以及判断该 `token` 是否合法等操作。
|
|
|
// */
|
|
|
private Integer userid;
|
|
|
|
|
|
// **
|
|
|
// * 用户名,存储对应用户的名称信息,
|
|
|
//
|
|
|
// 与 `userid` 一起进一步明确用户身份,增强用户标识的可读性和可辨识度,
|
|
|
// * 在一些业务场景中(如展示用户相关信息、
|
|
|
//
|
|
|
// 记录操作日志等涉及到用户显示名称的情况)会用到该字段内容。
|
|
|
// */
|
|
|
private String username;
|
|
|
|
|
|
// **
|
|
|
// * 表名,可能用于标识该 `token`
|
|
|
//
|
|
|
//
|
|
|
// 相关数据存储所在的具体数据库表(在多表关联或者分表存储等复杂业务场景下),
|
|
|
// * 可以帮助更准确地定位和管理与该 `token` 相关的其他数据信息,
|
|
|
//
|
|
|
// 也有助于区分不同业务模块下的 `token` 情况,
|
|
|
// * 例如不同业务表对应的 `token` 有不同的作用范围和验证规则等,
|
|
|
//
|
|
|
// 通过这个字段可以进行区分和相应的业务处理。
|
|
|
// */
|
|
|
private String tablename;
|
|
|
|
|
|
// **
|
|
|
// * 角色,用于记录用户在系统中所扮演的角色,例如管理员、普通用户、
|
|
|
//
|
|
|
//
|
|
|
// 特定权限角色等不同角色往往具有不同的权限范围,
|
|
|
// * 通过该 `role` 字段可以在基于 `token` 进行权限验证等操作时,
|
|
|
//
|
|
|
// 判断用户是否具备执行某些特定操作的权限,
|
|
|
// * 确保系统的安全性和数据访问的合法性。
|
|
|
// */
|
|
|
private String role;
|
|
|
|
|
|
// **
|
|
|
// * token,存储实际的 `token` 字符串值,
|
|
|
//
|
|
|
// 这是用于标识用户身份的关键信息,
|
|
|
//
|
|
|
// 在用户登录成功或者进行身份验证等操作后生成,
|
|
|
// * 后续用户在访问系统接口、进行页面操作等场景下,
|
|
|
//
|
|
|
// 需要携带该 `token` 字符串进行身份验证,系统通过验证该 `token` 的有效性来确定用户是否有权限继续操作,
|
|
|
// * 它通常是一个具有一定随机性和唯一性的字符串,
|
|
|
//
|
|
|
// 保证每个用户的 `token` 都能唯一标识其身份。
|
|
|
// */
|
|
|
private String token;
|
|
|
|
|
|
// **
|
|
|
// * 过期时间,记录该 `token` 的有效截止时间,
|
|
|
//
|
|
|
// 通过设置过期时间可以提高系统的安全性,避免 `token` 长期有效可能带来的安全风险,
|
|
|
// * 在进行 `token` 验证时,
|
|
|
//
|
|
|
// 会对比当前时间与该过期时间来判断 `token` 是否仍然有效,
|
|
|
//
|
|
|
// 对于过期的 `token` 则拒绝相应的操作请求,
|
|
|
// * 通常是一个 `Date` 类型的时间对象,表示具体的时间点。
|
|
|
// */
|
|
|
private Date expiratedtime;
|
|
|
|
|
|
// **
|
|
|
// * 新增时间,记录该 `token` 在系统中创建的时间点,
|
|
|
//
|
|
|
// 可用于查询、统计等业务场景,例如查看新生成的 `token` 情况、
|
|
|
// * 分析不同时间段内 `token` 的生成频率等,
|
|
|
//
|
|
|
// 也有助于在一些数据管理和审计场景下了解 `token` 的生命周期相关信息,
|
|
|
// * 同样是一个 `Date` 类型的时间对象。
|
|
|
// */
|
|
|
private Date addtime;
|
|
|
|
|
|
// **
|
|
|
// * 获取:主键,对外提供获取主键值(`id`)的方法,
|
|
|
//
|
|
|
// 方便在其他类中访问该 `TokenEntity` 对象的主键信息,
|
|
|
// * 例如在进行数据库查询结果映射或者业务逻辑处理中需要用到
|
|
|
//
|
|
|
// `token` 记录主键时可调用此方法获取,返回对应的整数值。
|
|
|
// * @return 返回主键对应的整数值。
|
|
|
// */
|
|
|
public Integer getId() {
|
|
|
return id;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:主键,用于设置该对象的主键值,
|
|
|
//
|
|
|
// 通常在对象初始化或者从数据库等外部数据源加载数据后更新主键值时使用,
|
|
|
// * 不过由于主键一般是自增长且由数据库管理,
|
|
|
// 在实际业务中手动设置的情况相对较少,
|
|
|
// 但保留此方法以满足可能的特殊需求(如数据迁移等场景),
|
|
|
// * 通过传入对应的整数值来更新主键信息。
|
|
|
// * @param id 要设置的主键整数值。
|
|
|
// */
|
|
|
public void setId(Integer id) {
|
|
|
this.id = id;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:用户id,对外提供获取用户 `id`
|
|
|
//
|
|
|
// 值(`userid`)的方法,在需要关联用户信息、进行基于用户的业务逻辑处理(如查找用户相关的其他数据、
|
|
|
// * 判断 `token` 所属用户等情况)时,
|
|
|
// 可调用此方法获取对应的整数值,便于操作和业务逻辑实现。
|
|
|
// * @return 返回用户 `id` 对应的整数值。
|
|
|
// */
|
|
|
public Integer getUserid() {
|
|
|
return userid;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:用户id,用于更新用户 `id` 值(`userid`),
|
|
|
// 例如在某些特殊情况下(如用户信息变更导致关联的 `userid` 需要调整等),
|
|
|
// * 通过传入新的整数值来改变该 `TokenEntity`
|
|
|
// 对象所关联的用户标识信息,不过这种情况相对较少出现,需谨慎操作以保证数据一致性。
|
|
|
// * @param userid 要设置的用户 `id` 整数值。
|
|
|
// */
|
|
|
public void setUserid(Integer userid) {
|
|
|
this.userid = userid;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:用户名,对外提供获取用户名(`username`)的方法,
|
|
|
//
|
|
|
//
|
|
|
// 在需要展示用户名称、基于用户名进行业务逻辑处理(如记录操作日志中显示用户名等情况)时,
|
|
|
// * 可调用此方法获取对应的字符串内容,方便进行相应的展示和操作。
|
|
|
// * @return 返回用户名对应的字符串值。
|
|
|
// */
|
|
|
public String getUsername() {
|
|
|
return username;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:用户名,用于更新用户名(`username`),
|
|
|
//
|
|
|
// 比如用户修改了自己的用户名后,通过此方法保存新的用户名信息到该 `TokenEntity` 对象中,
|
|
|
// * 确保相关业务逻辑中获取到的用户名是最新且准确的,
|
|
|
//
|
|
|
// 需要注意的是这种更新可能需要同时考虑与其他关联数据的一致性等问题。
|
|
|
// * @param username 要设置的用户名字符串值。
|
|
|
// */
|
|
|
public void setUsername(String username) {
|
|
|
this.username = username;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:表名,对外提供获取表名(`tablename`)的方法,
|
|
|
//
|
|
|
// 在涉及到多表关联操作、区分不同业务模块下 `token` 的处理逻辑或者根据表名查找相关数据等业务场景中,
|
|
|
// * 可调用此方法获取对应的字符串内容,
|
|
|
//
|
|
|
// 便于进行相应的数据库操作和业务处理。
|
|
|
// * @return 返回表名对应的字符串值。
|
|
|
// */
|
|
|
public String getTablename() {
|
|
|
return tablename;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:表名,用于更新表名(`tablename`),
|
|
|
//
|
|
|
// 在一些特殊的业务场景变化(如数据库结构调整、业务模块重新划分导致表名变更等)时,
|
|
|
// * 通过传入新的字符串值来改变该 `TokenEntity`
|
|
|
//
|
|
|
// 对象对应的表名信息,不过这种变更需要谨慎处理,确保与数据库实际情况以及其他相关代码逻辑的一致性。
|
|
|
// * @param tablename 要设置的表名字符串值。
|
|
|
// */
|
|
|
public void setTablename(String tablename) {
|
|
|
this.tablename = tablename;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:角色,对外提供获取角色(`role`)的方法,
|
|
|
//
|
|
|
// 在基于 `token` 进行权限验证、判断用户在系统中的操作权限范围等业务场景中,
|
|
|
// * 可调用此方法获取对应的字符串内容,
|
|
|
//
|
|
|
// 以便根据角色信息进行相应的权限控制和业务逻辑处理。
|
|
|
// * @return 返回角色对应的字符串值。
|
|
|
// */
|
|
|
public String getRole() {
|
|
|
return role;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:角色,用于更新角色(`role`),
|
|
|
//
|
|
|
// 例如在系统进行角色调整、用户权限变更等情况下,通过传入新的字符串值来改变该 `TokenEntity` 对象中记录的用户角色信息,
|
|
|
// * 从而影响后续基于角色的权限验证等业务操作,
|
|
|
//
|
|
|
// 同样需要注意保证数据一致性以及相关业务逻辑的正确调整。
|
|
|
// * @param role 要设置的角色字符串值。
|
|
|
// */
|
|
|
public void setRole(String role) {
|
|
|
this.role = role;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:token,对外提供获取 `token`
|
|
|
//
|
|
|
// 字符串值(`token`)的方法,在需要使用 `token` 进行身份验证、传递给其他模块进行相关操作等场景中,
|
|
|
// * 可调用此方法获取对应的字符串内容,
|
|
|
//
|
|
|
// 它是整个 `TokenEntity` 对象中最为关键的用于标识用户身份的信息部分。
|
|
|
// * @return 返回 `token` 对应的字符串值。
|
|
|
// */
|
|
|
public String getToken() {
|
|
|
return token;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:token,用于更新 `token` 字符串值(`token`),
|
|
|
//
|
|
|
// 通常在 `token` 重新生成(如用户重新登录、`token` 过期后重新获取等情况)时,
|
|
|
// * 通过传入新的字符串值来替换原有的 `token` 信息,
|
|
|
//
|
|
|
// 确保 `token` 的有效性和安全性,同时需要注意更新相关的验证逻辑以及与其他模块的交互情况。
|
|
|
// * @param token 要设置的 `token` 字符串值。
|
|
|
// */
|
|
|
public void setToken(String token) {
|
|
|
this.token = token;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:过期时间,对外提供获取过期时间(`expiratedtime`)的方法,
|
|
|
//
|
|
|
// 在进行 `token` 有效性验证、判断是否需要重新获取 `token` 等业务场景中,
|
|
|
// * 可调用此方法获取对应的 `Date` 类型对象,
|
|
|
//
|
|
|
// 以便与当前时间进行比较操作,进而确定 `token` 是否还能继续使用。
|
|
|
// * @return 返回过期时间对应的 `Date` 类型对象。
|
|
|
// */
|
|
|
public Date getExpiratedtime() {
|
|
|
return expiratedtime;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:过期时间,用于更新过期时间(`expiratedtime`)的值,
|
|
|
//
|
|
|
// 例如在调整 `token` 的有效期策略、手动延长或缩短 `token` 有效期等特殊情况下,
|
|
|
// * 通过传入新的 `Date` 类型对象来改变该 `TokenEntity`
|
|
|
//
|
|
|
// 对象中记录的 `token` 过期时间信息,不过这种操作需要谨慎进行,避免影响系统的安全性和正常业务流程。
|
|
|
// * @param expiratedtime 要设置的过期时间对应的 `Date` 类型对象。
|
|
|
// */
|
|
|
public void setExpiratedtime(Date expiratedtime) {
|
|
|
this.expiratedtime = expiratedtime;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 获取:新增时间,对外提供获取新增时间(`addtime`)的方法,
|
|
|
//
|
|
|
// 在进行数据统计、审计以及一些基于时间顺序的业务逻辑处理(如查找近期生成的 `token` 等情况)时,
|
|
|
// * 可调用此方法获取对应的 `Date` 类型对象,方便进行相应的时间相关操作和业务逻辑实现。
|
|
|
// * @return 返回新增时间对应的 `Date` 类型对象。
|
|
|
// */
|
|
|
public Date getAddtime() {
|
|
|
return addtime;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 设置:新增时间,用于更新新增时间(`addtime`)的值,
|
|
|
//
|
|
|
// 虽然在实际业务中新增时间一般是在 `token` 创建时自动记录且较少手动修改,
|
|
|
// * 但保留此方法以满足可能的特殊需求(如数据迁移、时间校准等场景下对新增时间进行调整),
|
|
|
//
|
|
|
// 通过传入对应的 `Date` 类型对象来更新新增时间信息,
|
|
|
// * 同样需要注意保证数据的合理性和一致性。
|
|
|
// */
|
|
|
public void setAddtime(Date addtime) {
|
|
|
this.addtime = addtime;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 构造函数,用于创建 `TokenEntity` 对象实例时传入必要的参数进行初始化,
|
|
|
//
|
|
|
// 通常在创建新的 `token` 相关记录或者从数据库等外部数据源加载数据后创建对象时使用,
|
|
|
// * 接收用户 `id`、用户名、表名、角色、`token` 字符串以及过期时间等参数,
|
|
|
//
|
|
|
// 按照传入的值初始化对象的各个属性,方便快速构建一个完整的 `TokenEntity` 对象,
|
|
|
// * 用于后续的业务操作(如插入数据库、传递给其他模块等)。
|
|
|
// * @param userid 用户的唯一标识,整数值。
|
|
|
// * @param username 用户的名称,字符串值。
|
|
|
// * @param tablename 所属表名,字符串值。
|
|
|
// * @param role 用户在系统中所扮演的角色,字符串值。
|
|
|
// * @param token 用于标识用户身份的 `token` 字符串值。
|
|
|
// * @param expiratedtime `token` 的过期时间,`Date` 类型对象。
|
|
|
// */
|
|
|
public TokenEntity(Integer userid, String username, String tablename, String role, String token, Date expiratedtime) {
|
|
|
super();
|
|
|
this.userid = userid;
|
|
|
this.username = username;
|
|
|
this.tablename = tablename;
|
|
|
this.role = role;
|
|
|
this.token = token;
|
|
|
this.expiratedtime = expiratedtime;
|
|
|
}
|
|
|
|
|
|
// **
|
|
|
// * 默认构造函数,用于创建一个空的 `TokenEntity` 对象实例,
|
|
|
//
|
|
|
// 当需要先创建对象再逐步设置属性值时可使用该构造函数,
|
|
|
// * 例如在一些复杂的业务逻辑中,先创建对象占位,后续根据不同的条件和数据来源来分别设置对象的各个属性,
|
|
|
//
|
|
|
// 方便灵活构建 `TokenEntity` 对象,
|
|
|
// * 为空对象的初始化提供了一种方式。
|
|
|
// */
|
|
|
public TokenEntity() {
|
|
|
}
|
|
|
} |