init
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.component.commonimport.dto.ImportDetailSuperDTO;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 岗位导入
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-12
|
||||
*/
|
||||
@ApiModel("岗位导入")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ImportDetailPositionDTO extends ImportDetailSuperDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("导入任务ID")
|
||||
private Long mainId;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("模板全量数据")
|
||||
private String dataJson;
|
||||
|
||||
@ApiModelProperty("用工企业ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionTypeName;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("明细状态")
|
||||
private Integer detailStatus;
|
||||
|
||||
@ApiModelProperty("失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("外部生成明细id")
|
||||
private Long extraDetailId;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
public void appendFailMsg(String msg) {
|
||||
if (StrUtil.isEmpty(msg)) {
|
||||
return;
|
||||
}
|
||||
if (StrUtil.isEmpty(getFailReason())) {
|
||||
setFailReason(msg);
|
||||
} else {
|
||||
setFailReason(String.join(",", getFailReason(), msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.component.commonimport.dto.ImportExecuteSuperDTO;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 确定导入DTO
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-12 10:25
|
||||
**/
|
||||
@Data
|
||||
public class ImportDetailPositionExecuteDTO extends ImportExecuteSuperDTO {
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: guixinman
|
||||
* @create: 2024-06-12 13:57
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ImportDetailPositionExportDTO implements Serializable {
|
||||
|
||||
@ExcelProperty("用工企业")
|
||||
private String companyName;
|
||||
|
||||
@ExcelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ExcelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ExcelProperty("招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ExcelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
@ExcelProperty("岗位性质")
|
||||
private String recruitPositionType;
|
||||
|
||||
@ExcelProperty("岗位类型")
|
||||
private String positionTypeName;
|
||||
|
||||
@ExcelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ExcelProperty("薪资下限")
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
@ExcelProperty("薪资上限")
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
@ExcelProperty("薪资类型")
|
||||
private String salaryType;
|
||||
|
||||
@ExcelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ExcelProperty("性别")
|
||||
private String sexRequire;
|
||||
|
||||
@ExcelProperty("年龄(下限)")
|
||||
private Integer ageLow;
|
||||
|
||||
@ExcelProperty("年龄(上限)")
|
||||
private Integer ageUp;
|
||||
|
||||
@ExcelProperty("学历")
|
||||
private String educationRequire;
|
||||
|
||||
@ExcelProperty("经验")
|
||||
private String experienceRequire;
|
||||
|
||||
@ExcelProperty("证件")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ExcelProperty("其他")
|
||||
private String otherRequire;
|
||||
|
||||
@ExcelProperty("工作")
|
||||
private String jobContent;
|
||||
|
||||
@ExcelProperty("有效期截止时间")
|
||||
private String endTime;
|
||||
|
||||
@ExcelProperty("失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.newyetai.component.commonimport.service.IImportDetailForm;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 岗位导入dto
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-12 10:26
|
||||
**/
|
||||
@Data
|
||||
public class ImportDetailPositionListenerDTO implements IImportDetailForm {
|
||||
|
||||
@ApiModelProperty("用工企业")
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionTypeName;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("薪资下限")
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
@ApiModelProperty("薪资上限")
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
@ApiModelProperty("薪资类型")
|
||||
private String salaryType;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("年龄(下限)")
|
||||
private Integer ageLow;
|
||||
|
||||
@ApiModelProperty("年龄(上限)")
|
||||
private Integer ageUp;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private String endTime;
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位导入
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-12
|
||||
*/
|
||||
@ApiModel("岗位导入")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ImportDetailPositionOperatorDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("导入任务ID")
|
||||
private Long mainId;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("模板全量数据")
|
||||
private String dataJson;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private Integer sexRequire;
|
||||
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private Integer educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("明细状态")
|
||||
private Integer detailStatus;
|
||||
|
||||
@ApiModelProperty("失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("外部生成明细id")
|
||||
private Long extraDetailId;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
private Date endTime;
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位导入
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-12
|
||||
*/
|
||||
|
||||
@ApiModel("岗位导入")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ImportDetailPositionPageQueryDTO extends PageQueryDTO<ImportDetailPositionDTO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("导入任务ID")
|
||||
private Long mainId;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("模板全量数据")
|
||||
private String dataJson;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private Integer sexRequire;
|
||||
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private Integer educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("明细状态")
|
||||
private Integer detailStatus;
|
||||
|
||||
@ApiModelProperty("失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("外部生成明细id")
|
||||
private Long extraDetailId;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位导入
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-12
|
||||
*/
|
||||
@ApiModel("岗位导入")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ImportDetailPositionQueryDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("导入任务ID")
|
||||
private Long mainId;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("模板全量数据")
|
||||
private String dataJson;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
/**
|
||||
* 岗位性质 数据字典
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private Integer sexRequire;
|
||||
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private Integer educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("明细状态")
|
||||
private Integer detailStatus;
|
||||
|
||||
@ApiModelProperty("失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("外部生成明细id")
|
||||
private Long extraDetailId;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 入职DTO
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-16 14:47
|
||||
**/
|
||||
@Data
|
||||
public class OnTheJobDTO implements Serializable {
|
||||
|
||||
|
||||
@NotNull(message = "入职时间不能为空")
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@NotNull(message = "明细数据不能为空")
|
||||
private List<@Valid OnTheJobDetailDTO> detailDTOS;
|
||||
|
||||
@Data
|
||||
public static class OnTheJobDetailDTO {
|
||||
|
||||
@NotNull(message = "请选择数据")
|
||||
private Long id;
|
||||
|
||||
@NotNull(message = "入职薪水不能为空")
|
||||
@ApiModelProperty("入职薪水")
|
||||
private BigDecimal salary;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: guixinman
|
||||
* @create: 2024-09-11 16:51
|
||||
**/
|
||||
@ApiModel("人岗匹配")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonPostMatchingQueryDTO extends PageQueryDTO<PositionDTO> {
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private String sexRequire;
|
||||
|
||||
/**
|
||||
* 年龄
|
||||
*/
|
||||
private Integer age;
|
||||
|
||||
/**
|
||||
* 学历
|
||||
*/
|
||||
private String educationRequire;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private BigDecimal salary;
|
||||
|
||||
/**
|
||||
* 岗位类型
|
||||
*/
|
||||
private String positionType;
|
||||
private String positionNameLike;
|
||||
|
||||
/**
|
||||
* 工作地
|
||||
*/
|
||||
private String detailAddressLike;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 招聘系统-岗位地址信息表
|
||||
* </p>
|
||||
*
|
||||
* @author chenyun
|
||||
* @since 2021-01-08
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("招聘系统岗位地址信息DTO")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionAddressDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = -350362178226190054L;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("区域编码")
|
||||
private String districtCode;
|
||||
|
||||
@ApiModelProperty("区域名称")
|
||||
private String districtName;
|
||||
|
||||
@ApiModelProperty("详细地址")
|
||||
private String detailAddress;
|
||||
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 招聘系统-岗位地址信息表
|
||||
* </p>
|
||||
*
|
||||
* @author chenyun
|
||||
* @since 2021-01-08
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("招聘系统岗位地址信息 - 创建DTO")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionAddressOperatorDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = -350362178226190054L;
|
||||
|
||||
@ApiModelProperty("企业ID")
|
||||
@NotNull(message = "企业ID不能为空")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("区域编码")
|
||||
// @NotEmpty(message = "区域编码不能为空")
|
||||
private String districtCode;
|
||||
|
||||
@ApiModelProperty("区域名称")
|
||||
// @NotEmpty(message = "区域名称不能为空")
|
||||
private String districtName;
|
||||
|
||||
@ApiModelProperty("详细地址")
|
||||
@NotEmpty(message = "详细地址不能为空")
|
||||
private String detailAddress;
|
||||
|
||||
@ApiModelProperty("经度")
|
||||
// @NotEmpty(message = "经度不能为空")
|
||||
private BigDecimal longitude;
|
||||
|
||||
@ApiModelProperty("纬度")
|
||||
// @NotEmpty(message = "纬度不能为空")
|
||||
private BigDecimal latitude;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 招聘系统-岗位地址信息表
|
||||
* </p>
|
||||
*
|
||||
* @author chenyun
|
||||
* @since 2021-01-08
|
||||
*/
|
||||
@ApiModel("招聘系统岗位地址信息 - 查询DTO")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionAddressQueryDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6376035694183055706L;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("ID集合")
|
||||
private Set<Long> ids;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
import com.newyetai.component.dict.util.DictUtils;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 岗位审核表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-07-05
|
||||
*/
|
||||
@ApiModel("岗位审核表")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionAuditDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("hr_company主键")
|
||||
private Long companyId;
|
||||
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
private String positionTypeName;
|
||||
|
||||
@ApiModelProperty("工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
@ApiModelProperty("招聘岗位类型数据字典")
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败")
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
@ApiModelProperty("版本号")
|
||||
private Integer version;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String detailAddress;
|
||||
|
||||
private String fileJson;
|
||||
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
private String salaryStr;
|
||||
|
||||
private String ageStr;
|
||||
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
|
||||
public String getSalaryStr() {
|
||||
String salary = "";
|
||||
if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) {
|
||||
salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
}
|
||||
} else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = "薪资面议";
|
||||
}
|
||||
return salary;
|
||||
}
|
||||
|
||||
public String getAgeStr() {
|
||||
String age = "";
|
||||
if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp());
|
||||
if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) {
|
||||
age = String.format("%s岁", this.getAgeUp());
|
||||
}
|
||||
} else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = String.format("%s岁以上", this.getAgeLow());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("18至%s岁", this.getAgeUp());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = "18岁以上";
|
||||
}
|
||||
return age;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位审核表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-07-05
|
||||
*/
|
||||
@ApiModel("岗位审核表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionAuditOperatorDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("hr_company主键")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
@ApiModelProperty("招聘岗位类型数据字典")
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败")
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
@ApiModelProperty("版本号")
|
||||
private Integer version;
|
||||
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 岗位审核表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-07-05
|
||||
*/
|
||||
|
||||
@ApiModel("岗位审核表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionAuditPageQueryDTO extends PageQueryDTO<PositionAuditDTO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
private Set<Long> orgIds;
|
||||
|
||||
private String orgNameLike;
|
||||
|
||||
@ApiModelProperty("hr_company主键")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
@ApiModelProperty("招聘岗位类型数据字典")
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败")
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
@ApiModelProperty("版本号")
|
||||
private Integer version;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位审核表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-07-05
|
||||
*/
|
||||
@ApiModel("岗位审核表")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PositionAuditQueryDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("hr_company主键")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
@ApiModelProperty("招聘岗位类型数据字典")
|
||||
private String recruitPositionType;
|
||||
|
||||
@ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败")
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
@ApiModelProperty("版本号")
|
||||
private Integer version;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: guixinman
|
||||
* @create: 2024-07-05 15:39
|
||||
**/
|
||||
@Data
|
||||
public class PositionAuditReqDTO implements Serializable {
|
||||
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@NotBlank(message = "请选择审核状态")
|
||||
@ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败")
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
@NotNull(message = "版本号不能为空")
|
||||
private Integer version;
|
||||
|
||||
private Long updateBy;
|
||||
|
||||
}
|
||||
248
src/main/java/com/newyetai/recruit/position/dto/PositionDTO.java
Normal file
248
src/main/java/com/newyetai/recruit/position/dto/PositionDTO.java
Normal file
@@ -0,0 +1,248 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
import com.newyetai.component.dict.util.DictUtils;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
private String positionTypeName;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
private String companyLogo;
|
||||
|
||||
@ApiModelProperty("招聘负责人名称")
|
||||
private String recruitUserRealName;
|
||||
|
||||
private String recruitUserAvatar;
|
||||
|
||||
private String recruitUserPhone;
|
||||
|
||||
private String positionFileCode;
|
||||
|
||||
private String companyRegisterAddress;
|
||||
|
||||
private List<PositionFileDTO> positionFileDTOS;
|
||||
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String positionRegistrationStatus;
|
||||
/**
|
||||
* 是否收藏
|
||||
*/
|
||||
private Boolean isCollection;
|
||||
|
||||
@ApiModelProperty("工作地址id")
|
||||
private Long addressId;
|
||||
|
||||
/**
|
||||
* 区域编码(31)
|
||||
*/
|
||||
private String districtCode;
|
||||
|
||||
/**
|
||||
* 区域名称 (上海市)
|
||||
*/
|
||||
private String districtName;
|
||||
|
||||
/**
|
||||
* 详细地址 (浦东新区黄金大厦B座)
|
||||
*/
|
||||
private String detailAddress;
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private BigDecimal longitude;
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private BigDecimal latitude;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
|
||||
private String salaryStr;
|
||||
|
||||
private String ageStr;
|
||||
|
||||
private Boolean show;
|
||||
|
||||
@ApiModelProperty("报名时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date positionRegistrationCreateTime;
|
||||
|
||||
@ApiModelProperty("面试时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date interviewTime;
|
||||
|
||||
@ApiModelProperty("面试地点")
|
||||
private String interviewLocation;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@ApiModelProperty("入职薪资")
|
||||
private BigDecimal positionRegistrationSalary;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 米
|
||||
*/
|
||||
private Long distance;
|
||||
|
||||
public String getSalaryStr() {
|
||||
String salary = "";
|
||||
if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) {
|
||||
salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
}
|
||||
} else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = "薪资面议";
|
||||
}
|
||||
return salary;
|
||||
}
|
||||
|
||||
public String getAgeStr() {
|
||||
String age = "";
|
||||
if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp());
|
||||
if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) {
|
||||
age = String.format("%s岁", this.getAgeUp());
|
||||
}
|
||||
} else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = String.format("%s岁以上", this.getAgeLow());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("18至%s岁", this.getAgeUp());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = "18岁以上";
|
||||
}
|
||||
return age;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-11 17:04
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionExportDTO implements Serializable {
|
||||
|
||||
@ExcelProperty("招聘岗位类型")
|
||||
@ApiModelProperty("招聘岗位类型")
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
@ExcelProperty("岗位名称")
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ExcelProperty("用工企业")
|
||||
@ApiModelProperty("用工企业")
|
||||
private String companyName;
|
||||
|
||||
@ExcelProperty("岗位状态")
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ExcelProperty("招聘人数")
|
||||
@ApiModelProperty("招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ExcelProperty("综合薪资")
|
||||
@ApiModelProperty("综合薪资")
|
||||
private String salary;
|
||||
|
||||
@ExcelProperty("工作地址")
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
@ExcelProperty("创建时间")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty("有效期截止时间")
|
||||
@ExcelProperty("有效期截止时间")
|
||||
private String endTime;
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 招聘系统-岗位文件
|
||||
* </p>
|
||||
*
|
||||
* @author chenyun
|
||||
* @since 2021-01-08
|
||||
*/
|
||||
@ApiModel("招聘系统岗位文件DTO")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionFileDTO implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 8851173648134487125L;
|
||||
|
||||
@ApiModelProperty("主键")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("文件名称")
|
||||
private String fileName;
|
||||
|
||||
@ApiModelProperty("文件编码")
|
||||
private String fileCode;
|
||||
|
||||
@ApiModelProperty("文件后缀")
|
||||
private String fileSuffix;
|
||||
|
||||
@ApiModelProperty("文件描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty("文件类型")
|
||||
private String fileType;
|
||||
|
||||
@ApiModelProperty("默认显示")
|
||||
private Boolean defaultShow;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long positionId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 招聘系统-岗位相关分页请求DTO
|
||||
* </p>
|
||||
*
|
||||
* @author chenyun
|
||||
* @since 2021-01-08
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("招聘系统岗位相关分页查询DTO")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionFilePageQueryDTO extends PageQueryDTO<PositionFileDTO> {
|
||||
|
||||
private static final long serialVersionUID = -6211701785572927530L;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long positionId;
|
||||
|
||||
@ApiModelProperty("文件类型")
|
||||
private String fileType;
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
import com.newyetai.component.dict.util.DictUtils;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionNewDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
private String positionTypeName;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
private String companyLogo;
|
||||
|
||||
@ApiModelProperty("招聘负责人名称")
|
||||
private String recruitUserRealName;
|
||||
|
||||
private String recruitUserAvatar;
|
||||
|
||||
private String recruitUserPhone;
|
||||
|
||||
private String positionFileCode;
|
||||
|
||||
private String companyRegisterAddress;
|
||||
|
||||
private List<PositionFileDTO> positionFileDTOS;
|
||||
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String positionRegistrationStatus;
|
||||
/**
|
||||
* 是否收藏
|
||||
*/
|
||||
private Boolean isCollection;
|
||||
|
||||
@ApiModelProperty("工作地址id")
|
||||
private Long addressId;
|
||||
|
||||
/**
|
||||
* 区域编码(31)
|
||||
*/
|
||||
private String districtCode;
|
||||
|
||||
/**
|
||||
* 区域名称 (上海市)
|
||||
*/
|
||||
private String districtName;
|
||||
|
||||
/**
|
||||
* 详细地址 (浦东新区黄金大厦B座)
|
||||
*/
|
||||
private String detailAddress;
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private BigDecimal longitude;
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private BigDecimal latitude;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
private Long positionAuditId;
|
||||
|
||||
/**
|
||||
* 审核状态 1:待审核 2.审核成功 3.审核失败
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
@ApiModelProperty("审核失败原因")
|
||||
private String auditFailMsg;
|
||||
|
||||
private Integer version;
|
||||
|
||||
/**
|
||||
* 岗位相册json
|
||||
*/
|
||||
private String fileJson;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
|
||||
private String salaryStr;
|
||||
|
||||
private String ageStr;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
|
||||
public String getSalaryStr() {
|
||||
String salary = "";
|
||||
if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) {
|
||||
salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
}
|
||||
} else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = "薪资面议";
|
||||
}
|
||||
return salary;
|
||||
}
|
||||
|
||||
public String getAgeStr() {
|
||||
String age = "";
|
||||
if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp());
|
||||
if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) {
|
||||
age = String.format("%s岁", this.getAgeUp());
|
||||
}
|
||||
} else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = String.format("%s岁以上", this.getAgeLow());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) {
|
||||
age = String.format("18至%s岁", this.getAgeUp());
|
||||
} else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) {
|
||||
age = "18岁以上";
|
||||
}
|
||||
return age;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: guixinman
|
||||
* @create: 2024-07-08 10:18
|
||||
**/
|
||||
@ApiModel("岗位审核表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionNewOperatorDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
//开启招聘 关闭招聘用
|
||||
private Set<Long> ids;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@NotNull(message = "请选择用工企业")
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@Length(max = 50,message = "岗位名称超长")
|
||||
@TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM)
|
||||
@NotBlank(message = "岗位名称不能为空")
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@Length(max = 255,message = "招聘标题超长")
|
||||
@TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM)
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
/**
|
||||
* 岗位标签
|
||||
*/
|
||||
@Length(max = 512,message = "岗位标签超长")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@Max(value = 30000,message = "岗位招聘人数超长")
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@Length(max = 255,message = "工作地址超长")
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@Length(max = 32,message = "发薪日超长")
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@Length(max = 2,message = "性别要求超长")
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@Length(max = 32,message = "学历要求超长")
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@Length(max = 32,message = "经验要求超长")
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@Length(max = 32,message = "证件要求超长")
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@Length(max = 32,message = "其他要求超长")
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
@Length(max = 2,message = "招聘岗位类型超长")
|
||||
@NotBlank(message = "请选择招聘岗位类型")
|
||||
private String recruitPositionType;
|
||||
|
||||
private Long positionAuditId;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
|
||||
/**
|
||||
* 岗位相册json
|
||||
*/
|
||||
private String fileJson;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@NotNull(message = "有效期截止日期不能为空")
|
||||
private Date endTime;
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionNewPageQueryDTO extends PageQueryDTO<PositionNewDTO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private List<Long> ids;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
private String recruitTitleLike;
|
||||
|
||||
private String positionTagLike;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionOperatorDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
//开启招聘 关闭招聘用
|
||||
private Set<Long> ids;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@NotNull(message = "请选择用工企业")
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@Length(max = 50,message = "岗位名称超长")
|
||||
@TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM)
|
||||
@NotBlank(message = "岗位名称不能为空")
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@Length(max = 255,message = "招聘标题超长")
|
||||
@TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM)
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
/**
|
||||
* 岗位标签
|
||||
*/
|
||||
@Length(max = 512,message = "岗位标签超长")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@Max(value = 30000,message = "岗位招聘人数超长")
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@Length(max = 255,message = "工作地址超长")
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@Length(max = 32,message = "发薪日超长")
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@Length(max = 2,message = "性别要求超长")
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@Length(max = 32,message = "学历要求超长")
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@Length(max = 32,message = "经验要求超长")
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@Length(max = 32,message = "证件要求超长")
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@Length(max = 32,message = "其他要求超长")
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
private Long addressId;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
@Length(max = 2,message = "招聘岗位类型超长")
|
||||
@NotBlank(message = "请选择招聘岗位类型")
|
||||
private String recruitPositionType;
|
||||
|
||||
/**
|
||||
* 年龄上限
|
||||
*/
|
||||
private Integer ageUp;
|
||||
|
||||
/**
|
||||
* 年龄下限
|
||||
*/
|
||||
@Min(value = 18,message = "年龄下限不低于18周岁")
|
||||
private Integer ageLow;
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endTime;
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionPageQueryDTO extends PageQueryDTO<PositionDTO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private List<Long> ids;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
private String recruitTitleLike;
|
||||
|
||||
private String positionTagLike;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
/**
|
||||
* 查询sql是否判断 有效期
|
||||
*/
|
||||
@Builder.Default
|
||||
private Boolean useEndTime = Boolean.TRUE;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private BigDecimal longitude;
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private BigDecimal latitude;
|
||||
|
||||
/**
|
||||
* 千米
|
||||
*/
|
||||
private int radius;
|
||||
|
||||
private BigDecimal minX;
|
||||
|
||||
private BigDecimal maxX;
|
||||
|
||||
private BigDecimal minY;
|
||||
|
||||
private BigDecimal maxY;
|
||||
|
||||
private BigDecimal salaryUp;
|
||||
|
||||
private BigDecimal salaryLow;
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 岗位信息表;岗位信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-11
|
||||
*/
|
||||
@ApiModel("岗位信息表;岗位信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PositionQueryDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("机构ID")
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("公司ID ;hr_company")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("岗位状态:1:开启 2:关闭")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("岗位名称 (模糊匹配)")
|
||||
private String positionNameLike;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位类型")
|
||||
private String positionType;
|
||||
|
||||
@ApiModelProperty("工作性质;工作性质 1:短工 2:全职")
|
||||
private String jobCategory;
|
||||
|
||||
@ApiModelProperty("岗位招聘人数")
|
||||
private Integer positionNumber;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private Long recruitUserId;
|
||||
|
||||
@ApiModelProperty("发薪日")
|
||||
private String payDate;
|
||||
|
||||
@ApiModelProperty("性别要求")
|
||||
private String sexRequire;
|
||||
|
||||
@ApiModelProperty("学历要求")
|
||||
private String educationRequire;
|
||||
|
||||
@ApiModelProperty("经验要求")
|
||||
private String experienceRequire;
|
||||
|
||||
@ApiModelProperty("证件要求")
|
||||
private String certificatesRequire;
|
||||
|
||||
@ApiModelProperty("其他要求")
|
||||
private String otherRequire;
|
||||
|
||||
@ApiModelProperty("工作内容")
|
||||
private String jobContent;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
import com.newyetai.common.util.IdcardUtils;
|
||||
import com.newyetai.recruit.user.dto.JobExpectDTO;
|
||||
import com.newyetai.recruit.user.dto.UserCertificateDTO;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位报名信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-15
|
||||
*/
|
||||
@ApiModel("岗位报名信息表")
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionRegistrationDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long positionId;
|
||||
|
||||
@ApiModelProperty("用户ID ")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("面试时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date interviewTime;
|
||||
|
||||
@ApiModelProperty("面试地点")
|
||||
private String interviewLocation;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@ApiModelProperty("离职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date quitTime;
|
||||
|
||||
@ApiModelProperty("终止时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date terminationTime;
|
||||
|
||||
@ApiModelProperty("入职薪水")
|
||||
private BigDecimal salary;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
private String positionName;
|
||||
|
||||
private Long companyId;
|
||||
|
||||
private String companyName;
|
||||
|
||||
private String realName;
|
||||
|
||||
private String cardNo;
|
||||
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 招聘专员
|
||||
*/
|
||||
private String recruitUserName;
|
||||
|
||||
@ApiModelProperty("性别")
|
||||
private String gender;
|
||||
|
||||
@ApiModelProperty("年龄")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty("所在城市")
|
||||
private String cityCode;
|
||||
|
||||
private String cityCodeName;
|
||||
|
||||
@ApiModelProperty("简历")
|
||||
private String resumeFileCode;
|
||||
|
||||
@ApiModelProperty("求职期望")
|
||||
private List<JobExpectDTO> jobExpectDTOList;
|
||||
|
||||
@ApiModelProperty("证书")
|
||||
private List<UserCertificateDTO> userCertificateDTOList;
|
||||
|
||||
private Boolean show;
|
||||
|
||||
@ApiModelProperty("所属街道名称")
|
||||
private String streetName;
|
||||
|
||||
@ApiModelProperty("发布机构名称")
|
||||
private String publishOrgName;
|
||||
|
||||
public void setCardNo(String cardNo) {
|
||||
this.setAge(IdcardUtils.getAgeByIDNumber(cardNo));
|
||||
this.setGender(IdcardUtils.judgeGender(cardNo));
|
||||
this.cardNo = cardNo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description: 招聘管理导出dto(全部)
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-16 17:17
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionRegistrationExportDTO implements Serializable {
|
||||
|
||||
@ExcelProperty("岗位名称")
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
@ExcelProperty("姓名")
|
||||
private String realName;
|
||||
|
||||
@ApiModelProperty("性别")
|
||||
@ExcelProperty("性别")
|
||||
private String gender;
|
||||
|
||||
@ApiModelProperty("年龄")
|
||||
@ExcelProperty("年龄")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
@ExcelProperty("手机号")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty("身份证号")
|
||||
@ExcelProperty("身份证号")
|
||||
private String cardNo;
|
||||
|
||||
@ExcelProperty("用工企业")
|
||||
@ApiModelProperty("用工企业")
|
||||
private String companyName;
|
||||
|
||||
@ExcelProperty("招聘状态")
|
||||
@ApiModelProperty("招聘状态")
|
||||
private String status;
|
||||
|
||||
@ExcelProperty("所属街道")
|
||||
@ApiModelProperty("所属街道名称")
|
||||
private String streetName;
|
||||
|
||||
@ExcelProperty("发布机构")
|
||||
@ApiModelProperty("发布机构名称")
|
||||
private String publishOrgName;
|
||||
|
||||
@ExcelProperty("面试时间")
|
||||
@ApiModelProperty("面试时间")
|
||||
private String interviewTime;
|
||||
|
||||
@ExcelProperty("面试地点")
|
||||
@ApiModelProperty("面试地点")
|
||||
private String interviewLocation;
|
||||
|
||||
@ExcelProperty("入职薪资")
|
||||
@ApiModelProperty("入职薪资")
|
||||
private BigDecimal salary;
|
||||
|
||||
@ApiModelProperty("报名时间")
|
||||
@ExcelProperty("报名时间")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@ExcelProperty("入职时间")
|
||||
private String inductionTime;
|
||||
|
||||
@ApiModelProperty("离职时间")
|
||||
@ExcelProperty("离职时间")
|
||||
private String quitTime;
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 岗位报名信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-15
|
||||
*/
|
||||
@ApiModel("岗位报名信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionRegistrationOperatorDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Set<Long> ids;
|
||||
|
||||
private Set<Long> userIds;
|
||||
|
||||
@NotNull(message = "请选择岗位")
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long positionId;
|
||||
|
||||
@ApiModelProperty("用户ID ")
|
||||
private Long userId;
|
||||
|
||||
@NotNull(message = "请选择招聘状态")
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("面试时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date interviewTime;
|
||||
|
||||
@Length(max = 100,message = "面试地点长度超过最大限制")
|
||||
@ApiModelProperty("面试地点")
|
||||
private String interviewLocation;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@ApiModelProperty("离职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date quitTime;
|
||||
|
||||
@ApiModelProperty("终止时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date terminationTime;
|
||||
|
||||
@ApiModelProperty("入职薪水")
|
||||
private BigDecimal salary;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
private Boolean show;
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 岗位报名信息表
|
||||
*
|
||||
* @author guixinman
|
||||
* @since 1.0.0 2024-04-15
|
||||
*/
|
||||
|
||||
@ApiModel("岗位报名信息表")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionRegistrationPageQueryDTO extends PageQueryDTO<PositionRegistrationDTO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty("发布机构id")
|
||||
private Long publishOrgId;
|
||||
|
||||
@ApiModelProperty("所属街道机构id")
|
||||
private Long queryStreetOrgId;
|
||||
|
||||
@ApiModelProperty("所属街道机构子级orgids")
|
||||
private Set<Long> queryStreetChildrenAllOrgIds;
|
||||
|
||||
private Set<Long> orgIds;
|
||||
|
||||
@ApiModelProperty("岗位ID")
|
||||
private Long positionId;
|
||||
|
||||
@ApiModelProperty("用户ID ")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String status;
|
||||
|
||||
private List<String> statusList;
|
||||
|
||||
@ApiModelProperty("面试时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date interviewTime;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@ApiModelProperty("离职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date quitTime;
|
||||
|
||||
@ApiModelProperty("终止时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date terminationTime;
|
||||
|
||||
@ApiModelProperty("入职薪水")
|
||||
private BigDecimal salary;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeStart;
|
||||
|
||||
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTimeEnd;
|
||||
|
||||
@ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeStart;
|
||||
|
||||
@ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTimeEnd;
|
||||
|
||||
/**
|
||||
* 用工企业id
|
||||
**/
|
||||
private Long companyId;
|
||||
/**
|
||||
* 姓名
|
||||
**/
|
||||
private String realNameLike;
|
||||
|
||||
private Set<String> realNames;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
**/
|
||||
private String phoneLike;
|
||||
|
||||
private Set<String> phones;
|
||||
/**
|
||||
* 身份证
|
||||
**/
|
||||
private String cardNoLike;
|
||||
|
||||
private Set<String> cardNos;
|
||||
|
||||
private Boolean show;
|
||||
|
||||
/**
|
||||
* 是否查看自己+子级orgId
|
||||
*/
|
||||
private Boolean childrenOrgAll;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.BaseDTO;
|
||||
import com.newyetai.common.util.TreeNode;
|
||||
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户岗位类型
|
||||
* </p>
|
||||
*
|
||||
* @author Carlye
|
||||
* @since 2021-01-21
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PositionTypeDTO extends BaseDTO implements TreeNode<Long, PositionTypeDTO> {
|
||||
|
||||
private static final long serialVersionUID = 2154317236704975221L;
|
||||
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 文件编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 岗位ID
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private List<PositionTypeDTO> childrenSet;
|
||||
|
||||
public List<PositionTypeDTO> getChildrenSet() {
|
||||
if (Objects.isNull(childrenSet)) {
|
||||
childrenSet = Lists.newArrayList();
|
||||
}
|
||||
return childrenSet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addChildren(PositionTypeDTO node) {
|
||||
getChildrenSet().add(node);
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制,不复制子元素
|
||||
*
|
||||
* @return {@link PositionTypeDTO}
|
||||
*/
|
||||
public PositionTypeDTO copy() {
|
||||
PositionTypeDTO positionTypeDTO = new PositionTypeDTO();
|
||||
positionTypeDTO.setCode(code);
|
||||
positionTypeDTO.setName(name);
|
||||
positionTypeDTO.setParentId(parentId);
|
||||
return positionTypeDTO;
|
||||
}
|
||||
|
||||
public static PositionTypeDTO search(PositionTypeDTO parent, PositionTypeQueryDTO queryDTO) {
|
||||
String name = parent.getName();
|
||||
String code = parent.getCode();
|
||||
List<PositionTypeDTO> childrenSet = parent.getChildrenSet();
|
||||
if ((StringUtils.isNotEmpty(queryDTO.getNameLike()) && StringUtils.contains(name, queryDTO.getNameLike())) || (CollUtil.isNotEmpty(queryDTO.getTypeCodes()) && queryDTO.getTypeCodes().contains(code))) {
|
||||
if (CollUtil.isNotEmpty(childrenSet)) {
|
||||
parent.setChildrenSet(null);
|
||||
}
|
||||
return parent;
|
||||
} else {
|
||||
if (CollUtil.isNotEmpty(childrenSet)) {
|
||||
List<PositionTypeDTO> collect = childrenSet.stream().map(child -> search(child, queryDTO))
|
||||
.filter(Objects::nonNull).collect(
|
||||
Collectors.toList());
|
||||
if (CollUtil.isEmpty(collect)) {
|
||||
return null;
|
||||
}
|
||||
parent.setChildrenSet(collect);
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户岗位类型 - 查询DTO
|
||||
* </p>
|
||||
*
|
||||
* @author Carlye
|
||||
* @since 2021-01-21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PositionTypeQueryDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -618123250962943084L;
|
||||
/**
|
||||
* 文件名称
|
||||
*/
|
||||
private String nameLike;
|
||||
|
||||
/**
|
||||
* 类型编码
|
||||
*/
|
||||
private Set<String> typeCodes;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 离职dto
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-16 15:17
|
||||
**/
|
||||
@Data
|
||||
public class ResignedDTO implements Serializable {
|
||||
|
||||
@NotNull(message = "请选择离职时间")
|
||||
@ApiModelProperty("离职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date quitTime;
|
||||
|
||||
@NotNull(message = "请选择数据")
|
||||
private Set<Long> ids;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 用户端报名岗位
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-15 16:29
|
||||
**/
|
||||
@Data
|
||||
public class UserPositionRegistrationDTO implements Serializable {
|
||||
|
||||
@NotNull(message = "请选择岗位")
|
||||
private Long positionId;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.newyetai.common.dto.PageQueryDTO;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description: 用户端查询我的报名
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-19 09:31
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserPositionRegistrationPageQueryDTO extends PageQueryDTO<UserPositionRegistrationResDTO> {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘")
|
||||
private String status;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.newyetai.recruit.position.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.newyetai.component.dict.util.DictUtils;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 用户端我的报名
|
||||
* @author: guixinman
|
||||
* @create: 2024-04-19 09:26
|
||||
**/
|
||||
@Data
|
||||
public class UserPositionRegistrationResDTO implements Serializable {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long positionId;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty("招聘标题")
|
||||
private String recruitTitle;
|
||||
|
||||
@ApiModelProperty("岗位标签")
|
||||
private String positionTag;
|
||||
|
||||
@ApiModelProperty("工作地址")
|
||||
private String positionAddress;
|
||||
|
||||
@ApiModelProperty("招聘专员")
|
||||
private String recruitUserName;
|
||||
|
||||
private String companyName;
|
||||
|
||||
private String companyLogo;
|
||||
|
||||
private String positionFileCode;
|
||||
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("报名时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("面试时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date interviewTime;
|
||||
|
||||
@ApiModelProperty("面试地点")
|
||||
private String interviewLocation;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("入职时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date inductionTime;
|
||||
|
||||
@ApiModelProperty("入职薪资")
|
||||
private BigDecimal salary;
|
||||
|
||||
/**
|
||||
* 招聘岗位类型
|
||||
*/
|
||||
private String recruitPositionType;
|
||||
|
||||
private String recruitPositionTypeName;
|
||||
|
||||
|
||||
/**
|
||||
* 薪资上限
|
||||
*/
|
||||
private BigDecimal salaryUp;
|
||||
/**
|
||||
* 薪资下限
|
||||
*/
|
||||
private BigDecimal salaryLow;
|
||||
|
||||
/**
|
||||
* 薪资类型
|
||||
*/
|
||||
private String salaryType;
|
||||
|
||||
|
||||
private String salaryStr;
|
||||
|
||||
private Boolean show;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
private String detailAddress;
|
||||
public String getSalaryStr() {
|
||||
String salary = "";
|
||||
if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) {
|
||||
salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
}
|
||||
} else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) {
|
||||
salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType())));
|
||||
} else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) {
|
||||
salary = "薪资面议";
|
||||
}
|
||||
return salary;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user