blob: 231fd9514156257ed93fb60141aa6a20ecc7ba64 [file] [log] [blame]
2230111590135d72025-06-03 17:11:40 +08001package com.example.myproject.entity;
2
3import com.baomidou.mybatisplus.annotation.*;
4import io.swagger.annotations.ApiModel;
5import io.swagger.annotations.ApiModelProperty;
6import lombok.Data;
7import lombok.NoArgsConstructor;
8import lombok.AllArgsConstructor;
9
10import java.time.Instant;
11
12@Data
13@NoArgsConstructor
14@AllArgsConstructor
15@TableName("verification_token")
16@ApiModel("验证令牌实体类")
17public 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}