package com.xjrsoft.module.student.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;


/**
 * @title: 学生基本信息管理
 * @Author 管理员
 * @Date: 2023-08-08
 * @Version 1.0
 */
@Data
@TableName("xjr_user")
@ApiModel(value = "学生基本信息管理对象", description = "学生基本信息管理")
public class BaseStudentUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ApiModelProperty("")
    @TableId
    private Long id;
    /**
     * 账户
     */
    @ApiModelProperty("账户")
    private String userName;
    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    private String name;
    /**
     * 编号
     */
    @ApiModelProperty("编号")
    private String code;
    /**
     * 昵称
     */
    @ApiModelProperty("昵称")
    private String nickName;
    /**
     * 密码
     */
    @ApiModelProperty("密码")
    private String password;
    /**
     * 性别
     */
    @ApiModelProperty("性别")
    private String gender;
    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    private String mobile;
    /**
     * 头像
     */
    @ApiModelProperty("头像")
    private String avatar;
    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    private String email;
    /**
     * 地址
     */
    @ApiModelProperty("地址")
    private String address;
    /**
     * 经度
     */
    @ApiModelProperty("经度")
    private Double longitude;
    /**
     * 纬度
     */
    @ApiModelProperty("纬度")
    private Double latitude;
    /**
     * 排序码
     */
    @ApiModelProperty("排序码")
    private Integer sortCode;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
    /**
     * 证件类型(xjr_dictionary_item[credential_type])
     */
    @ApiModelProperty("证件类型(xjr_dictionary_item[credential_type])")
    private String credentialType;
    /**
     * 证件号码
     */
    @ApiModelProperty("证件号码")
    private String credentialNumber;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createDate;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime modifyDate;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
     *
     */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;

    /**
     * baseStudent
     */
    @ApiModelProperty("baseStudent子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudent> baseStudentList;
    /**
     * baseStudentContact
     */
    @ApiModelProperty("baseStudentContact子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudentContact> baseStudentContactList;
    /**
     * baseStudentFamily
     */
    @ApiModelProperty("baseStudentFamily子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudentFamily> baseStudentFamilyList;
    /**
     * baseStudentFamilyMember
     */
    @ApiModelProperty("baseStudentFamilyMember子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudentFamilyMember> baseStudentFamilyMemberList;
    /**
     * baseStudentSchoolRoll
     */
    @ApiModelProperty("baseStudentSchoolRoll子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudentSchoolRoll> baseStudentSchoolRollList;
    /**
     * baseStudentSubsidize
     */
    @ApiModelProperty("baseStudentSubsidize子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "userId")
    private List<BaseStudentSubsidize> baseStudentSubsidizeList;

    @ApiModelProperty("签名文件")
    private Long signFolderId;

    @ApiModelProperty("签名密码")
    private String signPassword;

    @ApiModelProperty("出生日期")
    private LocalDateTime birthDate;

    @ApiModelProperty("qq号码")
    private String qqNumber;

    @ApiModelProperty("微信号")
    private String wechatNumber;
}
