package com.seer.teach.user.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDate;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author Wang
 * @since 2025-07-16 16:56:07
 */
@Getter
@Setter
@TableName("za_user")
@ToString
@Schema(name = "UserEntity对象", description = "用户表")
public class UserEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "用户名或手机号")
    @TableField("user_name")
    private String userName;

    @Schema(description = "真实姓名")
    @TableField("real_name")
    private String realName;

    @Schema(description = "身份证号")
    @TableField("id_card_number")
    private String idCardNumber;

    @Schema(description = "密码")
    @TableField("`password`")
    private String password;

    @Schema(description = "头像url")
    @TableField("avatar")
    private String avatar;

    @Schema(description = "性别（0-女，1-男）")
    @TableField("gender")
    private Integer gender;

    @Schema(description = "昵称")
    @TableField("nick_name")
    private String nickName;

    @Schema(description = "手机号")
    @TableField("mobile")
    private String mobile;

    @Schema(description = "邮箱")
    @TableField("email")
    private String email;

    @Schema(description = "出生日期")
    @TableField("birth_date")
    private LocalDate birthDate;

    @Schema(description = "微信union_id")
    @TableField("union_id")
    private String unionId;

    @Schema(description = "微信open_id")
    @TableField("open_id")
    private String openId;

    @Schema(description = "是否启用(1启用，0禁用)")
    @TableField("`status`")
    private Integer status;

}