package com.ruoyi.cms.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.CustomSensitive;
import com.ruoyi.common.core.domain.entity.AppSkill;
import com.ruoyi.common.core.domain.entity.UserWorkExperiences;
import com.ruoyi.common.enums.SensitiveType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * APP用户对象 app_user
 * @author lishundong
 * @date 2024-09-03
 */
@Data
public class UserInfoDetail
{

    @ApiModelProperty("用户ID")
    private Long userId;

    @ApiModelProperty("用户名称")
    @CustomSensitive(type = SensitiveType.CHINESE_NAME)
    private String name;

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

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

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("生日")
    private Date birthDate;

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

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

    @ApiModelProperty("手机号码")
    @CustomSensitive(type = SensitiveType.PHONE)
    private String phone;

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

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

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

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

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

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

    @ApiModelProperty("期望岗位列表")
    private List<String> jobTitle;

    @ApiModelProperty("身份证号码")
    @CustomSensitive(type = SensitiveType.ID_CARD)
    private String idNumber;

    @ApiModelProperty("个人简要介绍")
    private String introduction;

    @ApiModelProperty("个人自我评价")
    private String selfEvaluation;

    @ApiModelProperty("联系邮箱")
    @CustomSensitive(type = SensitiveType.EMAIL)
    private String contactEmail;

    @ApiModelProperty("求职意向岗位")
    private String jobIntention;

    @ApiModelProperty("毕业院校")
    private String graduationSchool;

    @ApiModelProperty("工作年限")
    private Integer workYears;

    @ApiModelProperty("居住地址")
    @CustomSensitive(type = SensitiveType.LIVE_ADDRESS)
    private String residenceAddress;

    @ApiModelProperty("就读专业")
    private String major;

    @ApiModelProperty("工作经历数组")
    private List<UserWorkExperiences> workExp;
    @ApiModelProperty("个人专业技能列表")
    private List<AppSkill> skillList;

    private String resumeOcrStatus;
    private List<String> resumeList;

    @ApiModelProperty("求职者标签列表")
    private List<String> indices;

    @ApiModelProperty("是否已认证，0是，1否")
    private String isCert;

    private String remark;

}
