22301115 | 90135d7 | 2025-06-03 17:11:40 +0800 | [diff] [blame] | 1 | package com.example.myproject.entity; |
| 2 | |
| 3 | import com.baomidou.mybatisplus.annotation.*; |
| 4 | import io.swagger.annotations.ApiModel; |
| 5 | import io.swagger.annotations.ApiModelProperty; |
| 6 | import lombok.Data; |
| 7 | import lombok.NoArgsConstructor; |
| 8 | import lombok.AllArgsConstructor; |
| 9 | |
| 10 | import java.time.Instant; |
| 11 | |
| 12 | @Data |
| 13 | @NoArgsConstructor |
| 14 | @AllArgsConstructor |
| 15 | @TableName("verification_token") |
| 16 | @ApiModel("验证令牌实体类") |
| 17 | public class VerificationToken { |
| 18 | |
| 19 | @TableId(type = IdType.AUTO) |
| 20 | @ApiModelProperty(value = "令牌ID") |
| 21 | private Long id; |
| 22 | |
| 23 | @ApiModelProperty(value = "令牌字符串") |
| 24 | @TableField("token") |
| 25 | private String token; |
| 26 | |
| 27 | @ApiModelProperty(value = "令牌过期日期") |
| 28 | @TableField("expiry_date") |
| 29 | private Instant expiryDate; |
| 30 | |
| 31 | @ApiModelProperty(value = "用户名") |
| 32 | @TableField("username") |
| 33 | private String username; |
| 34 | |
| 35 | @ApiModelProperty(value = "电子邮件地址") |
| 36 | @TableField("email") |
| 37 | private String email; |
| 38 | |
| 39 | @ApiModelProperty(value = "加密后的密码") |
| 40 | @TableField("password") |
| 41 | private String password; |
| 42 | |
| 43 | public VerificationToken(String token, String username, String email, String password, Instant expiryDate) { |
| 44 | this.token = token; |
| 45 | this.username = username; |
| 46 | this.email = email; |
| 47 | this.password = password; |
| 48 | this.expiryDate = expiryDate; |
| 49 | } |
| 50 | |
| 51 | /** |
| 52 | * 检查令牌是否过期 |
| 53 | * @return true 如果令牌已过期 |
| 54 | */ |
| 55 | public boolean isExpired() { |
| 56 | return expiryDate.isBefore(Instant.now()); |
| 57 | } |
| 58 | } |