岗位业务逻辑完善

This commit is contained in:
2025-12-14 09:20:06 +08:00
parent 3361633dba
commit 4ef73a8ee8
39 changed files with 1720 additions and 188 deletions

View File

@@ -0,0 +1,46 @@
package com.vetti.hotake.domain;
import lombok.Data;
import lombok.experimental.Accessors;
import io.swagger.annotations.ApiModelProperty;
import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity;
/**
* 初步筛选问题回答记录信息对象 hotake_init_scre_questions_reply_record_info
*
* @author wangxiangshun
* @date 2025-12-14
*/
@Data
@Accessors(chain = true)
public class HotakeInitScreQuestionsReplyRecordInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
/** 岗位ID */
@ApiModelProperty("岗位ID")
@Excel(name = "岗位ID")
private Long roleId;
/** 候选人ID */
@ApiModelProperty("候选人ID")
@Excel(name = "候选人ID")
private Long candidateId;
/** 问题ID */
@ApiModelProperty("问题ID")
@Excel(name = "问题ID")
private Long questionId;
/** 答案 */
@ApiModelProperty("答案")
@Excel(name = "答案")
private String answerConnect;
}

View File

@@ -0,0 +1,61 @@
package com.vetti.hotake.domain;
import com.vetti.hotake.domain.dto.AnswerOptionsDto;
import lombok.Data;
import lombok.experimental.Accessors;
import io.swagger.annotations.ApiModelProperty;
import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity;
import java.util.List;
/**
* 初步筛选问题信息对象 hotake_initial_screening_questions_info
*
* @author wangxiangshun
* @date 2025-12-14
*/
@Data
@Accessors(chain = true)
public class HotakeInitialScreeningQuestionsInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
/** 岗位ID */
@ApiModelProperty("岗位ID")
@Excel(name = "岗位ID")
private Long roleId;
/** 招聘人ID */
@ApiModelProperty("招聘人ID")
@Excel(name = "招聘人ID")
private Long recruiterId;
/** 问题 */
@ApiModelProperty("问题")
@Excel(name = "问题")
private String questionTitle;
/** 问题类型 */
@ApiModelProperty("问题类型")
@Excel(name = "问题类型")
private String questionType;
/** 问题答案json */
@ApiModelProperty("问题答案json")
@Excel(name = "问题答案json")
private String answerOptions;
/** 是否是必填项 */
@ApiModelProperty("是否是必填项")
@Excel(name = "是否是必填项")
private String requiredField;
@ApiModelProperty("问题答案选项数据集合")
private List<AnswerOptionsDto> answerOptionsList;
}

View File

@@ -23,6 +23,9 @@ public class HotakeRolesInfo extends BaseEntity
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("UUID主键")
private String uuid;
/** 招聘人ID */
@ApiModelProperty("招聘人ID")
@Excel(name = "招聘人ID")
@@ -33,6 +36,12 @@ public class HotakeRolesInfo extends BaseEntity
@Excel(name = "岗位名称")
private String roleName;
@ApiModelProperty("招聘公司名称")
private String companyName;
@ApiModelProperty("岗位类型")
private String roleType;
/** 工作地点类型 */
@ApiModelProperty("工作地点类型")
@Excel(name = "工作地点类型")
@@ -116,7 +125,7 @@ public class HotakeRolesInfo extends BaseEntity
/** 角色福利 */
@ApiModelProperty("角色福利")
@Excel(name = "角色福利")
private String roleBenefits;
private String roleBenefitsJson;
/** 发布渠道 */
@ApiModelProperty("发布渠道")
@@ -143,16 +152,19 @@ public class HotakeRolesInfo extends BaseEntity
@Excel(name = "发布日期")
private String posted;
/** 数据类型normal:正常draft:草稿) */
@ApiModelProperty("数据类型normal:正常draft:草稿)")
@Excel(name = "数据类型", readConverterExp = "n=ormal:正常draft:草稿")
@ApiModelProperty("语言")
private String languages;
@ApiModelProperty("数据类型release:发布Jobdraft:草稿,template:模版)")
private String dataType;
/** 当前操作步骤 */
@ApiModelProperty("当前操作步骤")
@ApiModelProperty("当前操作步骤()")
@Excel(name = "当前操作步骤")
private String operStep;
@ApiModelProperty("当前岗位状态(pause:暂停,archived:关闭/归档,open:发布,editing:编辑中)")
private String status;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.hotake.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 问题答案
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class AnswerOptionsDto {
@ApiModelProperty("答案选项")
private String answers;
}

View File

@@ -0,0 +1,43 @@
package com.vetti.hotake.domain.dto;
import com.vetti.hotake.domain.HotakeInitialScreeningQuestionsInfo;
import com.vetti.hotake.domain.HotakeRolesInfo;
import com.vetti.hotake.domain.dto.roleDto.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 岗位信息 hotake_cv_info
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeRolesInfoDto extends HotakeRolesInfo {
@ApiModelProperty("所需技能数据集合")
private List<RequiredSkillsDto> requiredSkillsList;
@ApiModelProperty("加分技能数据集合")
private List<NiceToHaveSkillsDto> niceToHaveSkillsList;
@ApiModelProperty("教育要求")
private EducationRequirementsDto educationRequirements;
@ApiModelProperty("证书数据集合")
private List<CertificationsLicensesDto> certificationsLicensesList;
@ApiModelProperty("角色福利数据集合")
private List<RoleBenefitsDto> roleBenefitsList;
@ApiModelProperty("发布渠道数据集合")
private List<PublishingChannelsDto> publishingChannelsList;
@ApiModelProperty("初步筛选问题数据集合")
private List<HotakeInitialScreeningQuestionsInfo> initialScreeningQuestionsInfoList;
}

View File

@@ -0,0 +1,22 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 证书信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CertificationsLicensesDto {
@ApiModelProperty("证书Key/自定义证书名")
private String val;
@ApiModelProperty("standard:标准证书,customize:自定义")
private String type;
}

View File

@@ -0,0 +1,22 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 教育要求信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class EducationRequirementsDto {
@ApiModelProperty("学历专业名称")
private String academicMajor;
@ApiModelProperty("学位")
private String degree;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 岗位加分技能信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class NiceToHaveSkillsDto {
@ApiModelProperty("加分技能Key")
private String keyValue;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 岗位发布渠道信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class PublishingChannelsDto {
@ApiModelProperty("发布渠道Key")
private String keyValue;
}

View File

@@ -0,0 +1,20 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 岗位所需技能信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class RequiredSkillsDto {
@ApiModelProperty("所需技能Key")
private String keyValue;
}

View File

@@ -0,0 +1,19 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 岗位福利信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class RoleBenefitsDto {
@ApiModelProperty("福利Key")
private String keyValue;
}