2026-04-14 13:39:24 +08:00
|
|
|
|
package com.label.entity;
|
2026-04-14 13:31:50 +08:00
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.IdType;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
2026-04-15 15:28:11 +08:00
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
2026-04-14 13:31:50 +08:00
|
|
|
|
import lombok.Data;
|
|
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 系统用户实体,对应 sys_user 表。
|
|
|
|
|
|
* role 取值:UPLOADER / ANNOTATOR / REVIEWER / ADMIN
|
|
|
|
|
|
* status 取值:ACTIVE / DISABLED
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Data
|
|
|
|
|
|
@TableName("sys_user")
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "系统用户")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
public class SysUser {
|
|
|
|
|
|
|
|
|
|
|
|
/** 用户主键,自增 */
|
|
|
|
|
|
@TableId(type = IdType.AUTO)
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "用户主键", example = "1")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private Long id;
|
|
|
|
|
|
|
|
|
|
|
|
/** 所属公司 ID(多租户键) */
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "所属公司 ID", example = "1")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private Long companyId;
|
|
|
|
|
|
|
|
|
|
|
|
/** 登录用户名(同公司内唯一) */
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "登录用户名", example = "admin")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private String username;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* BCrypt 哈希密码(strength ≥ 10)。
|
|
|
|
|
|
* 序列化时排除,防止密码哈希泄漏到 API 响应。
|
|
|
|
|
|
*/
|
|
|
|
|
|
@JsonIgnore
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "密码哈希(不会在响应中返回)")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private String passwordHash;
|
|
|
|
|
|
|
|
|
|
|
|
/** 真实姓名 */
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "真实姓名", example = "张三")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private String realName;
|
|
|
|
|
|
|
|
|
|
|
|
/** 角色:UPLOADER / ANNOTATOR / REVIEWER / ADMIN */
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "角色", example = "ADMIN")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private String role;
|
|
|
|
|
|
|
|
|
|
|
|
/** 状态:ACTIVE / DISABLED */
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "状态", example = "ACTIVE")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private String status;
|
|
|
|
|
|
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "创建时间", example = "2026-04-15T12:34:56")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private LocalDateTime createdAt;
|
|
|
|
|
|
|
2026-04-15 15:28:11 +08:00
|
|
|
|
@Schema(description = "更新时间", example = "2026-04-15T12:34:56")
|
2026-04-14 13:31:50 +08:00
|
|
|
|
private LocalDateTime updatedAt;
|
|
|
|
|
|
}
|