package org.dromara.main.domain.vo;

import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.main.domain.MainPostApply;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@AutoMapper(target = MainPostApply.class)
public class MainPostApplyVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "申请ID")
    private Long id;

    @ExcelProperty(value = "申请编号")
    private String applyNo;

    @ExcelProperty(value = "租户ID")
    private String tenantId;

    @ExcelProperty(value = "岗位名称")
    private String postName;

    @ExcelProperty(value = "公司名称")
    private String companyName;

    @ExcelProperty(value = "岗位描述")
    private String postDescription;

    @ExcelProperty(value = "工作省份")
    private String workProvince;

    @ExcelProperty(value = "工作城市")
    private String workCity;

    @ExcelProperty(value = "工作区县")
    private String workDistrict;

    @ExcelProperty(value = "工作地址")
    private String workAddress;

    @ExcelProperty(value = "岗位类型")
    private String postType;

    @ExcelProperty(value = "学历要求")
    private String educationRequirement;

    @ExcelProperty(value = "薪资类型")
    private String salaryType;

    @ExcelProperty(value = "薪资范围")
    private String salaryRange;

    @ExcelProperty(value = "最小工资")
    private BigDecimal minSalary;

    @ExcelProperty(value = "最大工资")
    private BigDecimal maxSalary;

    @ExcelProperty(value = "招聘人数")
    private Integer recruitNum;

    @ExcelProperty(value = "报名开始时间")
    private Date registrationStartDate;

    @ExcelProperty(value = "报名结束时间")
    private Date registrationEndDate;

    @ExcelProperty(value = "是否急招")
    private Integer isUrgent;

    @ExcelProperty(value = "学校要求")
    private String schoolRequirement;

    @ExcelProperty(value = "性别要求")
    private String genderRequirement;

    @ExcelProperty(value = "年级要求")
    private String gradeRequirement;

    @ExcelProperty(value = "到岗时间")
    private String arrivalTime;

    @ExcelProperty(value = "实习时长")
    private String internshipDuration;

    @ExcelProperty(value = "是否愿意出差")
    private Integer willingToTravel;

    @ExcelProperty(value = "福利标签")
    private String welfareTags;

    @ExcelProperty(value = "岗位要求")
    private String jobRequirement;

    @ExcelProperty(value = "岗位等级")
    private String postLevel;

    @ExcelProperty(value = "测评时长")
    private String assessmentTime;

    @ExcelProperty(value = "能力A及格分")
    private BigDecimal gradeA;

    @ExcelProperty(value = "能力B及格分")
    private BigDecimal gradeB;

    @ExcelProperty(value = "能力C及格分")
    private BigDecimal gradeC;

    @ExcelProperty(value = "申请状态")
    private Integer applyStatus;

    @ExcelProperty(value = "审核ID")
    private Long auditId;

    @ExcelProperty(value = "岗位ID")
    private Long postId;

    @ExcelProperty(value = "驳回原因")
    private String rejectReason;

    @ExcelProperty(value = "发布状态")
    private String status;

    @ExcelProperty(value = "报名人数")
    private Long applyCount;

    @ExcelProperty(value = "创建时间")
    private Date createTime;
}
