Files
ks/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/ESJobDocument.java

158 lines
4.3 KiB
Java
Raw Normal View History

2025-09-22 17:06:47 +08:00
package com.ruoyi.cms.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.cms.domain.vo.CompanyVo;
import com.ruoyi.common.core.domain.entity.Company;
2025-09-25 16:30:40 +08:00
import io.swagger.annotations.ApiModelProperty;
2025-09-22 17:06:47 +08:00
import lombok.Data;
import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import org.dromara.easyes.annotation.rely.Analyzer;
import org.dromara.easyes.annotation.rely.FieldType;
import org.dromara.easyes.annotation.rely.IdType;
import java.math.BigDecimal;
import java.util.Date;
/**
* 全文索引 ES数据模型
**/
2025-09-23 10:54:46 +08:00
@IndexName("job_document")
2025-09-22 17:06:47 +08:00
@Data
public class ESJobDocument
{
2025-09-25 16:30:40 +08:00
@ApiModelProperty("es中的唯一id")
2025-09-22 17:06:47 +08:00
@IndexId(type = IdType.NONE)
@JsonIgnore
private String id;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("岗位id")
2025-09-22 17:06:47 +08:00
private Long jobId;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公告标题")
2025-09-22 17:06:47 +08:00
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
private String jobTitle;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("内容")
2025-09-22 17:06:47 +08:00
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
private String description;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("最小薪资(元)")
2025-09-22 17:06:47 +08:00
private Long minSalary;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("最大薪资(元)")
2025-09-22 17:06:47 +08:00
private Long maxSalary;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("学历要求 对应字典education")
2025-09-22 17:06:47 +08:00
private String education;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("工作经验要求 对应字典experience")
2025-09-22 17:06:47 +08:00
private String experience;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("用人单位名称")
2025-09-22 17:06:47 +08:00
private String companyName;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("工作地点")
2025-09-22 17:06:47 +08:00
private String jobLocation;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("工作地点区县字典代码")
2025-09-22 17:06:47 +08:00
private Integer jobLocationAreaCode;
@JsonFormat(pattern = "yyyy-MM-dd")
2025-09-25 16:30:40 +08:00
@ApiModelProperty("发布时间")
2025-09-22 17:06:47 +08:00
private Date postingDate;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("招聘人数")
2025-09-22 17:06:47 +08:00
private Long vacancies;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("纬度")
2025-09-22 17:06:47 +08:00
private BigDecimal latitude;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("经度")
2025-09-22 17:06:47 +08:00
private BigDecimal longitude;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("浏览量")
2025-09-22 17:06:47 +08:00
private Long view;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公司id")
2025-09-22 17:06:47 +08:00
private Long companyId;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("是否火")
2025-09-22 17:06:47 +08:00
private Integer isHot;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("申请次数")
2025-09-22 17:06:47 +08:00
private Integer applyNum;
2025-09-25 16:30:40 +08:00
2025-09-22 17:06:47 +08:00
@JsonIgnore
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公司")
2025-09-22 17:06:47 +08:00
private Company company;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("是否申请 0为否 1为是")
2025-09-22 17:06:47 +08:00
private Integer isApply;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("是否收藏 0为否 1为是")
2025-09-22 17:06:47 +08:00
private Integer isCollection;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("数据来源")
2025-09-22 17:06:47 +08:00
private String dataSource;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("岗位链接")
2025-09-22 17:06:47 +08:00
private String jobUrl;
2025-09-25 16:30:40 +08:00
2025-09-22 17:06:47 +08:00
@JsonIgnore
@IndexField(fieldType = FieldType.GEO_POINT)
2025-09-25 16:30:40 +08:00
@ApiModelProperty("经纬度")
2025-09-22 17:06:47 +08:00
private String latAndLon;
2025-09-25 16:30:40 +08:00
2025-09-22 17:06:47 +08:00
@JsonIgnore
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公司规模")
2025-09-22 17:06:47 +08:00
private String scaleDictCode;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("行业分类")
2025-09-22 17:06:47 +08:00
private String industry;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("岗位分类")
2025-09-22 17:06:47 +08:00
private String jobCategory;
2025-09-25 16:30:40 +08:00
2025-09-22 17:06:47 +08:00
@JsonIgnore
2025-09-25 16:30:40 +08:00
@ApiModelProperty("学历要求 对应字典education int类型 es方便查询")
2025-09-22 17:06:47 +08:00
private Integer education_int;
@JsonIgnore
2025-09-25 16:30:40 +08:00
@ApiModelProperty("工作经验要求 对应字典experience int类型 es方便查询")
2025-09-22 17:06:47 +08:00
private Integer experience_int;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公司规模 int类型 es方便查询")
2025-09-22 17:06:47 +08:00
private Integer scale;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("岗位链接 APP内")
2025-09-22 17:06:47 +08:00
private String appJobUrl;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("公司性质")
2025-09-22 17:06:47 +08:00
private String companyNature;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("是否有视频介绍")
2025-09-22 17:06:47 +08:00
private Integer isExplain;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("视频介绍URL")
2025-09-22 17:06:47 +08:00
private String explainUrl;
2025-09-25 16:30:40 +08:00
@ApiModelProperty("视频封面URL")
2025-09-22 17:06:47 +08:00
private String cover;
2025-10-11 15:20:19 +08:00
@ApiModelProperty("岗位类型 0疆内 1疆外")
private String jobType;
@ApiModelProperty("类型 0常规岗位 1就业见习岗位 2实习实训岗位 3社区实践岗位 对应字段字典position_type")
private String type;
@ApiModelProperty("信用代码")
private String code;
@ApiModelProperty("公司信息")
2025-10-31 13:54:16 +08:00
@IndexField(fieldType = FieldType.OBJECT)
2025-10-31 13:41:27 +08:00
private CompanyVo companyVo;
2025-09-22 17:06:47 +08:00
}