package org.dromara.talk.domain;

import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.Date;

/**
 * 对话用户对象 sys_user (映射到系统用户表)
 *
 * @author Lion Li
 * @date 2026-01-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_user")
public class TalkUser extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Long id;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 用户名
     */
    @TableField("user_name")
    private String username;

    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickname;

    /**
     * 用户类型（固定为 talk_web_user）
     */
    private String userType;

    /**
     * 密码
     */
    @TableField(
        insertStrategy = FieldStrategy.NOT_EMPTY,
        updateStrategy = FieldStrategy.NOT_EMPTY,
        whereStrategy = FieldStrategy.NOT_EMPTY
    )
    private String password;

    /**
     * 状态（0=正常 1=停用）
     */
    private String status;

    /**
     * 删除标志（0=存在 1=删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 最后登录IP
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private Date loginDate;


}
