package com.iailab.module.system.dal.dataobject.oauth2; import com.iailab.framework.common.enums.UserTypeEnum; import com.iailab.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.time.LocalDateTime; import java.util.List; /** * OAuth2 刷新令牌 * * @author iailab */ @TableName(value = "system_oauth2_refresh_token", autoResultMap = true) // 由于 Oracle 的 SEQ 的名字长度有限制,所以就先用 system_oauth2_access_token_seq 吧,反正也没啥问题 @KeySequence("system_oauth2_access_token_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) public class OAuth2RefreshTokenDO extends BaseDO { /** * 编号,数据库字典 */ private Long id; /** * 刷新令牌 */ private String refreshToken; /** * 用户编号 */ private Long userId; /** * 用户类型 * * 枚举 {@link UserTypeEnum} */ private Integer userType; /** * 客户端编号 * * 关联 {@link OAuth2ClientDO#getId()} */ private String clientId; /** * 授权范围 */ @TableField(typeHandler = JacksonTypeHandler.class) private List scopes; /** * 过期时间 */ private LocalDateTime expiresTime; }