package com.ruoyi.cms.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * 岗位对象 job
 * @author lishundong
 * @date 2024-09-04
 */
@Data
@ApiModel("岗位")
@TableName(value = "job")
public class Job extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 工作id */
    @TableId(value = "job_id",type = IdType.AUTO)
    @ApiModelProperty("工作id")
    private Long jobId;

    /** 职位名称 */
    @Excel(name = "职位名称")
    @ApiModelProperty("职位名称")
    private String jobTitle;

    /** 最小薪资（元） */
    @Excel(name = "最小薪资", readConverterExp = "元=")
    @ApiModelProperty("最小薪资（元）")
    private Long minSalary;

    /** 最大薪资（元） */
    @Excel(name = "最大薪资", readConverterExp = "元=")
    @ApiModelProperty("最大薪资（元）")
    private Long maxSalary;

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

    /** 工作经验要求 对应字典experience */
    @Excel(name = "工作经验要求 对应字典experience")
    @ApiModelProperty("工作经验要求 对应字典experience")
    private String experience;

    /** 用人单位名称 */
    @Excel(name = "用人单位名称")
    @ApiModelProperty("用人单位名称")
    private String companyName;

    /** 工作地点 */
    @Excel(name = "工作地点")
    @ApiModelProperty("工作地点")
    private String jobLocation;

    @ApiModelProperty("工作地点区县字典代码")
    private Integer jobLocationAreaCode;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布时间")
    private String postingDate;

    /** 招聘人数 */
    @Excel(name = "招聘人数")
    @ApiModelProperty("招聘人数")
    private Long vacancies;

    /** 纬度 */
    @Excel(name = "纬度")
    @ApiModelProperty("纬度")
    private BigDecimal latitude;

    /** 经度 */
    @Excel(name = "经度")
    @ApiModelProperty("经度")
    private BigDecimal longitude;

    /** 浏览量 */
    @Excel(name = "浏览量")
    @ApiModelProperty("浏览量")
    @TableField("\"view\"")
    private Long view;

    /** 公司id */
    @Excel(name = "公司id")
    @ApiModelProperty("公司id")
    private Long companyId;

    @ApiModelProperty("是否火")
    private Integer isHot;

    @ApiModelProperty("申请次数")
    @JsonIgnore
    private Integer applyNum;

    @TableField(exist = false)
    @ApiModelProperty("公司信息")
    private Company company;

    @TableField(exist = false)
    @ApiModelProperty("是否申请 0为否 1为是")
    private Integer isApply;

    @TableField(exist = false)
    @ApiModelProperty("是否收藏 0为否 1为是")
    private Integer isCollection;

    @ApiModelProperty("工作地点")
    private String description;

    @ApiModelProperty("是否发布 0未发布 1发布")
    private Integer isPublish;
    @ApiModelProperty("数据来源")
    private String dataSource;
    @ApiModelProperty("数据来源")
    private String jobUrl;

    private Long rowId;
    @TableField(exist = false)
    private String scale;
    @TableField(exist = false)
    private String industry;
    @ApiModelProperty("岗位分类")
    private String jobCategory;
    @TableField(exist = false)
    private String companyNature;
    @TableField(exist = false)
    private String applyTime;

    private Integer isExplain;
    private String explainUrl;
    private String cover;
}
