package com.crunii.micro.domain.entity.main;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @author qiaolin
 * @version 1.0
 * @date 2023/6/2 9:50
 */
@Entity
@Table(name = "ycq_overage_youth_leave")
@DynamicInsert
@DynamicUpdate
@Getter
@Setter
@ToString
@EqualsAndHashCode(of= {"leagueId"})
@GenericGenerator(name = "idGenerator", strategy = "com.crunii.micro.core.distributed.DistributedSnowFlakeId")
@ApiModel(description = "团员表")
public class YcqOverageYouthLeave implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(generator = "idGenerator")
    @Column(name = "id")
    @ApiModelProperty(value = "主键")
    private Long id;

    @Column(name = "user_id")
    @ApiModelProperty(value = "用户id")
    private String userId;

    @Column(name = "league_code")
    @ApiModelProperty(value = "组织编码")
    private String leagueCode;

    @Column(name = "league_name")
    @ApiModelProperty(value = "组织名称")
    private String leagueName;

    @Column(name = "name")
    @ApiModelProperty(value = "姓名")
    private String name;

    @Column(name = "phone_number")
    @ApiModelProperty(value = "手机号码")
    private String phoneNumber;

    @Column(name = "id_card")
    @ApiModelProperty(value = "身份证校验")
    private String idCard;

    @Column(name = "political")
    @ApiModelProperty(value = "政治面貌")
    private String political;

    @Column(name = "member_number")
    @ApiModelProperty(value = "发展团员编号")
    private String memberNumber;

    @Column(name = "league_entry_time")
    @ApiModelProperty(value = "入团时间")
    private String leagueEntryTime;

    @Column(name = "gender")
    @ApiModelProperty(value = "性别")
    private String gender;

    @Column(name = "nationality")
    @ApiModelProperty(value = "民族")
    private String nationality;

    @Column(name = "e_mail")
    @ApiModelProperty(value = "电子邮箱")
    private String eMail;

    @Column(name = "league_branch")
    @ApiModelProperty(value = "离团时所在团支部")
    private String leagueBranch;

    @Column(name = "occupation")
    @ApiModelProperty(value = "职业")
    private String occupation;

    @Column(name = "qq")
    @ApiModelProperty(value = "QQ")
    private String qq;

    @Column(name = "micro_blog")
    @ApiModelProperty(value = "微博")
    private String microBlog;

    @Column(name = "volunteer_year")
    @ApiModelProperty(value = "成为注册志愿者年月")
    private String volunteerYear;

    @Column(name = "education")
    @ApiModelProperty(value = "文化程度")
    private String education;

    @Column(name = "learning_and_work")
    @ApiModelProperty(value = "学习工作单位")
    private String learningAndWork;

    @Column(name = "wechat")
    @ApiModelProperty(value = "微信")
    private String wechat;

    @Column(name = "time_of_admission")
    @ApiModelProperty(value = "入党时间")
    private String timeOfAdmission;

    @Column(name = "identity_card_mark")
    @ApiModelProperty(value = "身份证校验")
    private String identityCardMark;
}
