package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

/**
 * APP用户对象 app_user
 * @author lishundong
 * @date 2024-09-03
 */
@Data
@ApiModel("APP用户Show")
public class AppUserShow extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableId(value = "user_id",type = IdType.AUTO)
    @ApiModelProperty("用户ID")
    private Long userId;

    @Excel(name = "用户名称")
    @ApiModelProperty("用户名称")
    private String name;

    @Excel(name = "年龄段 对应字典age")
    @ApiModelProperty("年龄段 对应字典age")
    private String age;

    @Excel(name = "用户性别", readConverterExp = "0=男,1=女")
    @ApiModelProperty("用户性别（0男 1女）对应字典sex")
    private String sex;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("生日")
    private LocalDate birthDate;

    @Excel(name = "学历 对应字典education")
    @ApiModelProperty("学历 对应字典education")
    private String education;

    @Excel(name = "政治面貌")
    @ApiModelProperty("政治面貌")
    private String politicalAffiliation;

    @Excel(name = "手机号码")
    @ApiModelProperty("手机号码")
    private String phone;

    @Excel(name = "头像地址")
    @ApiModelProperty("头像地址")
    private String avatar;

    @Excel(name = "最低工资")
    @ApiModelProperty("最低工资")
    private String salaryMin;

    @Excel(name = "最高工资")
    @ApiModelProperty("最高工资")
    private String salaryMax;

    @Excel(name = "期望工作地 对应字典area")
    @ApiModelProperty("期望工作地 对应字典area")
    private String area;

    @ApiModelProperty("期望岗位,逗号分隔")
    private String jobTitleId;

    @ApiModelProperty("期望薪资")
    private String experience;

    @ApiModelProperty("是否开启推荐（0不推荐 1推荐）")
    private Integer isRecommend;

    @ApiModelProperty("身份证")
    private String idCard;

    /**
     * 是否企业用户 0是，1否改为（0企业，1求职者，2网格员）
     */
    @ApiModelProperty("app角色：0企业，1求职者，2网格员 3内部政府人员")
    private String isCompanyUser;

    @ApiModelProperty("民族")
    private String nation;

    @ApiModelProperty("工作经验")
    private String workExperience;

    @TableField(exist = false)
    @ApiModelProperty("工作经历列表")
    private List<UserWorkExperiences> experiencesList;

    @TableField(exist = false)
    @ApiModelProperty("技能列表")
    private List<AppSkill> appSkillsList;

    @TableField(exist = false)
    @ApiModelProperty("附件列表")
    private List<File> fileList;

    @ApiModelProperty("一体机密码")
    private String ytjPassword;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("户籍地址")
    private String domicileAddress;

    @TableField(exist = false)
    @ApiModelProperty("录用来源 0本系统，1招聘会")
    private String hireSource;

    @TableField(exist = false)
    @ApiModelProperty("录用状态0 2或null未录用")
    private String hire;

    @TableField(exist = false)
    @ApiModelProperty("企业名称")
    private String companyName;

    @TableField(exist = false)
    @ApiModelProperty("企业id")
    private String companyId;

    @TableField(exist = false)
    @ApiModelProperty("岗位名称")
    private String jobTitle;

    @TableField(exist = false)
    @ApiModelProperty("岗位id")
    private String jobId;

    @TableField(exist = false)
    @ApiModelProperty("岗位申请id")
    private String applyId;
}
