岗位业务逻辑完善
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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:发布Job,draft:草稿,template:模版)")
|
||||
private String dataType;
|
||||
|
||||
/** 当前操作步骤 */
|
||||
@ApiModelProperty("当前操作步骤")
|
||||
@ApiModelProperty("当前操作步骤()")
|
||||
@Excel(name = "当前操作步骤")
|
||||
private String operStep;
|
||||
|
||||
@ApiModelProperty("当前岗位状态(pause:暂停,archived:关闭/归档,open:发布,editing:编辑中)")
|
||||
private String status;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.vetti.hotake.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeInitScreQuestionsReplyRecordInfo;
|
||||
|
||||
/**
|
||||
* 初步筛选问题回答记录信息Mapper接口
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
public interface HotakeInitScreQuestionsReplyRecordInfoMapper
|
||||
{
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 初步筛选问题回答记录信息
|
||||
*/
|
||||
public HotakeInitScreQuestionsReplyRecordInfo selectHotakeInitScreQuestionsReplyRecordInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息列表
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 初步筛选问题回答记录信息集合
|
||||
*/
|
||||
public List<HotakeInitScreQuestionsReplyRecordInfo> selectHotakeInitScreQuestionsReplyRecordInfoList(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题回答记录信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题回答记录信息
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoByIds(Long[] ids);
|
||||
/**
|
||||
* 批量新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfoList 初步筛选问题回答记录信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchInsertHotakeInitScreQuestionsReplyRecordInfo(List<HotakeInitScreQuestionsReplyRecordInfo> hotakeInitScreQuestionsReplyRecordInfoList);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.vetti.hotake.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeInitialScreeningQuestionsInfo;
|
||||
|
||||
/**
|
||||
* 初步筛选问题信息Mapper接口
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
public interface HotakeInitialScreeningQuestionsInfoMapper
|
||||
{
|
||||
/**
|
||||
* 查询初步筛选问题信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 初步筛选问题信息
|
||||
*/
|
||||
public HotakeInitialScreeningQuestionsInfo selectHotakeInitialScreeningQuestionsInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题信息列表
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 初步筛选问题信息集合
|
||||
*/
|
||||
public List<HotakeInitialScreeningQuestionsInfo> selectHotakeInitialScreeningQuestionsInfoList(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题信息
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoByIds(Long[] ids);
|
||||
/**
|
||||
* 批量新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfoList 初步筛选问题信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchInsertHotakeInitialScreeningQuestionsInfo(List<HotakeInitialScreeningQuestionsInfo> hotakeInitialScreeningQuestionsInfoList);
|
||||
|
||||
}
|
||||
@@ -66,4 +66,14 @@ public interface HotakeRolesInfoMapper
|
||||
*/
|
||||
public int batchInsertHotakeRolesInfo(List<HotakeRolesInfo> hotakeRolesInfoList);
|
||||
|
||||
|
||||
/**
|
||||
* 修改岗位信息
|
||||
*
|
||||
* @param hotakeRolesInfo 岗位信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateAllHotakeRolesInfo(HotakeRolesInfo hotakeRolesInfo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.vetti.hotake.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeInitScreQuestionsReplyRecordInfo;
|
||||
|
||||
/**
|
||||
* 初步筛选问题回答记录信息Service接口
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
public interface IHotakeInitScreQuestionsReplyRecordInfoService
|
||||
{
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 初步筛选问题回答记录信息
|
||||
*/
|
||||
public HotakeInitScreQuestionsReplyRecordInfo selectHotakeInitScreQuestionsReplyRecordInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息列表
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 初步筛选问题回答记录信息集合
|
||||
*/
|
||||
public List<HotakeInitScreQuestionsReplyRecordInfo> selectHotakeInitScreQuestionsReplyRecordInfoList(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo);
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题回答记录信息
|
||||
*
|
||||
* @param ids 需要删除的初步筛选问题回答记录信息主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题回答记录信息信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 批量新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfoList 初步筛选问题回答记录信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchInsertHotakeInitScreQuestionsReplyRecordInfo(List<HotakeInitScreQuestionsReplyRecordInfo> hotakeInitScreQuestionsReplyRecordInfoList);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.vetti.hotake.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeInitialScreeningQuestionsInfo;
|
||||
|
||||
/**
|
||||
* 初步筛选问题信息Service接口
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
public interface IHotakeInitialScreeningQuestionsInfoService
|
||||
{
|
||||
/**
|
||||
* 查询初步筛选问题信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 初步筛选问题信息
|
||||
*/
|
||||
public HotakeInitialScreeningQuestionsInfo selectHotakeInitialScreeningQuestionsInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题信息列表
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 初步筛选问题信息集合
|
||||
*/
|
||||
public List<HotakeInitialScreeningQuestionsInfo> selectHotakeInitialScreeningQuestionsInfoList(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo);
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题信息
|
||||
*
|
||||
* @param ids 需要删除的初步筛选问题信息主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题信息信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 批量新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfoList 初步筛选问题信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchInsertHotakeInitialScreeningQuestionsInfo(List<HotakeInitialScreeningQuestionsInfo> hotakeInitialScreeningQuestionsInfoList);
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.vetti.hotake.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeRolesInfo;
|
||||
import com.vetti.hotake.domain.dto.HotakeRolesInfoDto;
|
||||
|
||||
/**
|
||||
* 岗位信息Service接口
|
||||
@@ -19,6 +20,15 @@ public interface IHotakeRolesInfoService
|
||||
*/
|
||||
public HotakeRolesInfo selectHotakeRolesInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询岗位信息
|
||||
*
|
||||
* @param id 岗位信息主键
|
||||
* @return 岗位信息
|
||||
*/
|
||||
public HotakeRolesInfoDto selectHotakeRolesInfoDtoById(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 查询岗位信息列表
|
||||
*
|
||||
@@ -67,4 +77,13 @@ public interface IHotakeRolesInfoService
|
||||
*/
|
||||
public int batchInsertHotakeRolesInfo(List<HotakeRolesInfo> hotakeRolesInfoList);
|
||||
|
||||
|
||||
/**
|
||||
* 保存岗位信息
|
||||
*
|
||||
* @param hotakeRolesInfo 岗位信息
|
||||
* @return 结果
|
||||
*/
|
||||
public HotakeRolesInfoDto saveHotakeRolesInfo(HotakeRolesInfoDto hotakeRolesInfo);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.vetti.hotake.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.vetti.common.core.service.BaseServiceImpl;
|
||||
import com.vetti.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.vetti.hotake.mapper.HotakeInitScreQuestionsReplyRecordInfoMapper;
|
||||
import com.vetti.hotake.domain.HotakeInitScreQuestionsReplyRecordInfo;
|
||||
import com.vetti.hotake.service.IHotakeInitScreQuestionsReplyRecordInfoService;
|
||||
|
||||
/**
|
||||
* 初步筛选问题回答记录信息Service业务层处理
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
@Service
|
||||
public class HotakeInitScreQuestionsReplyRecordInfoServiceImpl extends BaseServiceImpl implements IHotakeInitScreQuestionsReplyRecordInfoService
|
||||
{
|
||||
@Autowired
|
||||
private HotakeInitScreQuestionsReplyRecordInfoMapper hotakeInitScreQuestionsReplyRecordInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 初步筛选问题回答记录信息
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public HotakeInitScreQuestionsReplyRecordInfo selectHotakeInitScreQuestionsReplyRecordInfoById(Long id)
|
||||
{
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.selectHotakeInitScreQuestionsReplyRecordInfoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题回答记录信息列表
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 初步筛选问题回答记录信息
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public List<HotakeInitScreQuestionsReplyRecordInfo> selectHotakeInitScreQuestionsReplyRecordInfoList(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo)
|
||||
{
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.selectHotakeInitScreQuestionsReplyRecordInfoList(hotakeInitScreQuestionsReplyRecordInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int insertHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo)
|
||||
{
|
||||
hotakeInitScreQuestionsReplyRecordInfo.setCreateTime(DateUtils.getNowDate());
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.insertHotakeInitScreQuestionsReplyRecordInfo(hotakeInitScreQuestionsReplyRecordInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfo 初步筛选问题回答记录信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int updateHotakeInitScreQuestionsReplyRecordInfo(HotakeInitScreQuestionsReplyRecordInfo hotakeInitScreQuestionsReplyRecordInfo)
|
||||
{
|
||||
hotakeInitScreQuestionsReplyRecordInfo.setUpdateTime(DateUtils.getNowDate());
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.updateHotakeInitScreQuestionsReplyRecordInfo(hotakeInitScreQuestionsReplyRecordInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题回答记录信息
|
||||
*
|
||||
* @param ids 需要删除的初步筛选问题回答记录信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoByIds(Long[] ids)
|
||||
{
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.deleteHotakeInitScreQuestionsReplyRecordInfoByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题回答记录信息信息
|
||||
*
|
||||
* @param id 初步筛选问题回答记录信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeInitScreQuestionsReplyRecordInfoById(Long id)
|
||||
{
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.deleteHotakeInitScreQuestionsReplyRecordInfoById(id);
|
||||
}
|
||||
/**
|
||||
* 批量新增初步筛选问题回答记录信息
|
||||
*
|
||||
* @param hotakeInitScreQuestionsReplyRecordInfoList 初步筛选问题回答记录信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int batchInsertHotakeInitScreQuestionsReplyRecordInfo(List<HotakeInitScreQuestionsReplyRecordInfo> hotakeInitScreQuestionsReplyRecordInfoList){
|
||||
return hotakeInitScreQuestionsReplyRecordInfoMapper.batchInsertHotakeInitScreQuestionsReplyRecordInfo(hotakeInitScreQuestionsReplyRecordInfoList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package com.vetti.hotake.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.vetti.common.core.service.BaseServiceImpl;
|
||||
import com.vetti.common.enums.FillTypeEnum;
|
||||
import com.vetti.hotake.domain.HotakeInitialScreeningQuestionsInfo;
|
||||
import com.vetti.hotake.domain.dto.AnswerOptionsDto;
|
||||
import com.vetti.hotake.mapper.HotakeInitialScreeningQuestionsInfoMapper;
|
||||
import com.vetti.hotake.service.IHotakeInitialScreeningQuestionsInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 初步筛选问题信息Service业务层处理
|
||||
*
|
||||
* @author wangxiangshun
|
||||
* @date 2025-12-14
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
@Service
|
||||
public class HotakeInitialScreeningQuestionsInfoServiceImpl extends BaseServiceImpl implements IHotakeInitialScreeningQuestionsInfoService
|
||||
{
|
||||
@Autowired
|
||||
private HotakeInitialScreeningQuestionsInfoMapper hotakeInitialScreeningQuestionsInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 初步筛选问题信息
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public HotakeInitialScreeningQuestionsInfo selectHotakeInitialScreeningQuestionsInfoById(Long id)
|
||||
{
|
||||
HotakeInitialScreeningQuestionsInfo questionsInfo = hotakeInitialScreeningQuestionsInfoMapper.selectHotakeInitialScreeningQuestionsInfoById(id);
|
||||
if(questionsInfo != null && StrUtil.isNotEmpty(questionsInfo.getAnswerOptions())){
|
||||
List<AnswerOptionsDto> answerOptionsDtos = JSONUtil.toList(questionsInfo.getAnswerOptions(), AnswerOptionsDto.class);
|
||||
questionsInfo.setAnswerOptionsList(answerOptionsDtos);
|
||||
}
|
||||
return questionsInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询初步筛选问题信息列表
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 初步筛选问题信息
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public List<HotakeInitialScreeningQuestionsInfo> selectHotakeInitialScreeningQuestionsInfoList(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo)
|
||||
{
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.selectHotakeInitialScreeningQuestionsInfoList(hotakeInitialScreeningQuestionsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int insertHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo)
|
||||
{
|
||||
|
||||
fill(FillTypeEnum.INSERT.getCode(), hotakeInitialScreeningQuestionsInfo);
|
||||
if(CollectionUtil.isNotEmpty(hotakeInitialScreeningQuestionsInfo.getAnswerOptionsList())){
|
||||
hotakeInitialScreeningQuestionsInfo.setAnswerOptions(JSONUtil.toJsonStr(hotakeInitialScreeningQuestionsInfo.getAnswerOptionsList()));
|
||||
}else {
|
||||
hotakeInitialScreeningQuestionsInfo.setAnswerOptions("");
|
||||
}
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.insertHotakeInitialScreeningQuestionsInfo(hotakeInitialScreeningQuestionsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfo 初步筛选问题信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int updateHotakeInitialScreeningQuestionsInfo(HotakeInitialScreeningQuestionsInfo hotakeInitialScreeningQuestionsInfo)
|
||||
{
|
||||
fill(FillTypeEnum.UPDATE.getCode(), hotakeInitialScreeningQuestionsInfo);
|
||||
if(CollectionUtil.isNotEmpty(hotakeInitialScreeningQuestionsInfo.getAnswerOptionsList())){
|
||||
hotakeInitialScreeningQuestionsInfo.setAnswerOptions(JSONUtil.toJsonStr(hotakeInitialScreeningQuestionsInfo.getAnswerOptionsList()));
|
||||
}else {
|
||||
hotakeInitialScreeningQuestionsInfo.setAnswerOptions("");
|
||||
}
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.updateHotakeInitialScreeningQuestionsInfo(hotakeInitialScreeningQuestionsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除初步筛选问题信息
|
||||
*
|
||||
* @param ids 需要删除的初步筛选问题信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoByIds(Long[] ids)
|
||||
{
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.deleteHotakeInitialScreeningQuestionsInfoByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除初步筛选问题信息信息
|
||||
*
|
||||
* @param id 初步筛选问题信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeInitialScreeningQuestionsInfoById(Long id)
|
||||
{
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.deleteHotakeInitialScreeningQuestionsInfoById(id);
|
||||
}
|
||||
/**
|
||||
* 批量新增初步筛选问题信息
|
||||
*
|
||||
* @param hotakeInitialScreeningQuestionsInfoList 初步筛选问题信息列表
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
@Override
|
||||
public int batchInsertHotakeInitialScreeningQuestionsInfo(List<HotakeInitialScreeningQuestionsInfo> hotakeInitialScreeningQuestionsInfoList){
|
||||
return hotakeInitialScreeningQuestionsInfoMapper.batchInsertHotakeInitialScreeningQuestionsInfo(hotakeInitialScreeningQuestionsInfoList);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,30 @@
|
||||
package com.vetti.hotake.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.vetti.common.core.service.BaseServiceImpl;
|
||||
import com.vetti.common.enums.FillTypeEnum;
|
||||
import com.vetti.common.enums.RoleOperStepsEnum;
|
||||
import com.vetti.common.enums.RoleStatusEnum;
|
||||
import com.vetti.common.exception.ServiceException;
|
||||
import com.vetti.common.utils.DateUtils;
|
||||
import com.vetti.common.utils.MessageUtils;
|
||||
import com.vetti.common.utils.SecurityUtils;
|
||||
import com.vetti.common.utils.uuid.IdUtils;
|
||||
import com.vetti.hotake.domain.HotakeInitialScreeningQuestionsInfo;
|
||||
import com.vetti.hotake.domain.HotakeRolesInfo;
|
||||
import com.vetti.hotake.domain.dto.HotakeRolesInfoDto;
|
||||
import com.vetti.hotake.domain.dto.roleDto.*;
|
||||
import com.vetti.hotake.mapper.HotakeRolesInfoMapper;
|
||||
import com.vetti.hotake.service.IHotakeInitialScreeningQuestionsInfoService;
|
||||
import com.vetti.hotake.service.IHotakeRolesInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.vetti.hotake.mapper.HotakeRolesInfoMapper;
|
||||
import com.vetti.hotake.domain.HotakeRolesInfo;
|
||||
import com.vetti.hotake.service.IHotakeRolesInfoService;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位信息Service业务层处理
|
||||
@@ -25,6 +39,9 @@ public class HotakeRolesInfoServiceImpl extends BaseServiceImpl implements IHota
|
||||
@Autowired
|
||||
private HotakeRolesInfoMapper hotakeRolesInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private IHotakeInitialScreeningQuestionsInfoService hotakeInitialScreeningQuestionsInfoService;
|
||||
|
||||
/**
|
||||
* 查询岗位信息
|
||||
*
|
||||
@@ -38,6 +55,62 @@ public class HotakeRolesInfoServiceImpl extends BaseServiceImpl implements IHota
|
||||
return hotakeRolesInfoMapper.selectHotakeRolesInfoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询岗位详细信息
|
||||
* @param id 岗位信息主键
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public HotakeRolesInfoDto selectHotakeRolesInfoDtoById(Long id) {
|
||||
HotakeRolesInfoDto dto = new HotakeRolesInfoDto();
|
||||
HotakeRolesInfo hotakeRolesInfo = hotakeRolesInfoMapper.selectHotakeRolesInfoById(id);
|
||||
BeanUtil.copyProperties(hotakeRolesInfo, dto);
|
||||
|
||||
if(hotakeRolesInfo != null) {
|
||||
String requiredSkillsJson = hotakeRolesInfo.getRequiredSkillsJson();
|
||||
if(StrUtil.isNotEmpty(requiredSkillsJson)){
|
||||
List<RequiredSkillsDto> requiredSkillsList = JSONUtil.toList(requiredSkillsJson, RequiredSkillsDto.class);
|
||||
dto.setRequiredSkillsList(requiredSkillsList);
|
||||
}
|
||||
|
||||
String niceToHaveSkillsJson = hotakeRolesInfo.getNiceToHaveSkillsJson();
|
||||
if(StrUtil.isNotEmpty(niceToHaveSkillsJson)){
|
||||
List<NiceToHaveSkillsDto> niceToHaveSkillsList = JSONUtil.toList(niceToHaveSkillsJson, NiceToHaveSkillsDto.class);
|
||||
dto.setNiceToHaveSkillsList(niceToHaveSkillsList);
|
||||
}
|
||||
|
||||
String educationRequirementsJson = hotakeRolesInfo.getEducationRequirementsJson();
|
||||
if(StrUtil.isNotEmpty(educationRequirementsJson)){
|
||||
EducationRequirementsDto educationRequirements = JSONUtil.toBean(educationRequirementsJson, EducationRequirementsDto.class);
|
||||
dto.setEducationRequirements(educationRequirements);
|
||||
}
|
||||
|
||||
String certificationsLicensesJson = hotakeRolesInfo.getCertificationsLicensesJson();
|
||||
if(StrUtil.isNotEmpty(certificationsLicensesJson)){
|
||||
List<CertificationsLicensesDto> certificationsLicensesList = JSONUtil.toList(certificationsLicensesJson, CertificationsLicensesDto.class);
|
||||
dto.setCertificationsLicensesList(certificationsLicensesList);
|
||||
}
|
||||
|
||||
String roleBenefitsJson = hotakeRolesInfo.getRoleBenefitsJson();
|
||||
if(StrUtil.isNotEmpty(roleBenefitsJson)){
|
||||
List<RoleBenefitsDto> roleBenefitsList = JSONUtil.toList(roleBenefitsJson, RoleBenefitsDto.class);
|
||||
dto.setRoleBenefitsList(roleBenefitsList);
|
||||
}
|
||||
|
||||
String publishingChannelsJson = hotakeRolesInfo.getPublishingChannelsJson();
|
||||
if(StrUtil.isNotEmpty(publishingChannelsJson)){
|
||||
List<PublishingChannelsDto> publishingChannelsList = JSONUtil.toList(publishingChannelsJson, PublishingChannelsDto.class);
|
||||
dto.setPublishingChannelsList(publishingChannelsList);
|
||||
}
|
||||
HotakeInitialScreeningQuestionsInfo queryQuestion = new HotakeInitialScreeningQuestionsInfo();
|
||||
queryQuestion.setRoleId(id);
|
||||
List<HotakeInitialScreeningQuestionsInfo> questionsInfoList = hotakeInitialScreeningQuestionsInfoService.selectHotakeInitialScreeningQuestionsInfoList(queryQuestion);
|
||||
dto.setInitialScreeningQuestionsInfoList(questionsInfoList);
|
||||
}
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询岗位信息列表
|
||||
*
|
||||
@@ -48,7 +121,16 @@ public class HotakeRolesInfoServiceImpl extends BaseServiceImpl implements IHota
|
||||
@Override
|
||||
public List<HotakeRolesInfo> selectHotakeRolesInfoList(HotakeRolesInfo hotakeRolesInfo)
|
||||
{
|
||||
return hotakeRolesInfoMapper.selectHotakeRolesInfoList(hotakeRolesInfo);
|
||||
hotakeRolesInfo.setRecruiterId(SecurityUtils.getUserId());
|
||||
List<HotakeRolesInfo> rolesInfoList = hotakeRolesInfoMapper.selectHotakeRolesInfoList(hotakeRolesInfo);
|
||||
//计算一个发布日期
|
||||
if(CollectionUtil.isNotEmpty(rolesInfoList)){
|
||||
for (HotakeRolesInfo rolesInfo : rolesInfoList) {
|
||||
String posted = DateUtils.getTimeAgo(rolesInfo.getCreateTime());
|
||||
rolesInfo.setPosted(posted);
|
||||
}
|
||||
}
|
||||
return rolesInfoList;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -115,4 +197,113 @@ public class HotakeRolesInfoServiceImpl extends BaseServiceImpl implements IHota
|
||||
public int batchInsertHotakeRolesInfo(List<HotakeRolesInfo> hotakeRolesInfoList){
|
||||
return hotakeRolesInfoMapper.batchInsertHotakeRolesInfo(hotakeRolesInfoList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存岗位信息
|
||||
* @param hotakeRolesInfo 岗位信息
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public HotakeRolesInfoDto saveHotakeRolesInfo(HotakeRolesInfoDto hotakeRolesInfo) {
|
||||
//先看岗位信息ID是否存在
|
||||
HotakeRolesInfo rolesInfo = null;
|
||||
Long rolesInfoId = 0L;
|
||||
if(hotakeRolesInfo.getId() == null){
|
||||
//先保存一个空数据
|
||||
HotakeRolesInfo info = new HotakeRolesInfo();
|
||||
fill(FillTypeEnum.INSERT.getCode(), info);
|
||||
info.setUuid(IdUtils.simpleUUID());
|
||||
insertHotakeRolesInfo(info);
|
||||
rolesInfoId = info.getId();
|
||||
}else{
|
||||
rolesInfoId = hotakeRolesInfo.getId();
|
||||
}
|
||||
rolesInfo = selectHotakeRolesInfoById(rolesInfoId);
|
||||
if(rolesInfo == null){
|
||||
throw new ServiceException(MessageUtils.messageCustomize("HotakeRolesInfoServiceImpl10001"));
|
||||
}
|
||||
//按照步骤来进行保存对应的数据
|
||||
if(RoleOperStepsEnum.STEPS_1.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
rolesInfo.setRoleName(hotakeRolesInfo.getRoleName());
|
||||
rolesInfo.setCompanyName(hotakeRolesInfo.getCompanyName());
|
||||
rolesInfo.setRoleType(hotakeRolesInfo.getRoleType());
|
||||
rolesInfo.setJobLevel(hotakeRolesInfo.getJobLevel());
|
||||
rolesInfo.setJobExperience(hotakeRolesInfo.getJobExperience());
|
||||
rolesInfo.setLocationType(hotakeRolesInfo.getLocationType());
|
||||
rolesInfo.setJobType(hotakeRolesInfo.getJobType());
|
||||
rolesInfo.setSalaryStart(hotakeRolesInfo.getSalaryStart());
|
||||
rolesInfo.setSalaryEnd(hotakeRolesInfo.getSalaryEnd());
|
||||
}
|
||||
if(RoleOperStepsEnum.STEPS_2.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
|
||||
if(CollectionUtil.isNotEmpty(hotakeRolesInfo.getRequiredSkillsList())){
|
||||
String requiredSkillsJson = JSONUtil.toJsonStr(hotakeRolesInfo.getRequiredSkillsList());
|
||||
rolesInfo.setRequiredSkillsJson(requiredSkillsJson);
|
||||
}else{
|
||||
rolesInfo.setRequiredSkillsJson("");
|
||||
}
|
||||
|
||||
if(CollectionUtil.isNotEmpty(hotakeRolesInfo.getNiceToHaveSkillsList())){
|
||||
String niceToHaveSkillsJson = JSONUtil.toJsonStr(hotakeRolesInfo.getNiceToHaveSkillsList());
|
||||
rolesInfo.setNiceToHaveSkillsJson(niceToHaveSkillsJson);
|
||||
}else{
|
||||
rolesInfo.setNiceToHaveSkillsJson("");
|
||||
}
|
||||
|
||||
if(hotakeRolesInfo.getEducationRequirements() != null){
|
||||
rolesInfo.setEducationRequirementsJson(JSONUtil.toJsonStr(hotakeRolesInfo.getEducationRequirements()));
|
||||
}else {
|
||||
rolesInfo.setEducationRequirementsJson("");
|
||||
}
|
||||
|
||||
if (CollectionUtil.isNotEmpty(hotakeRolesInfo.getCertificationsLicensesList())){
|
||||
String certificationsLicensesJson = JSONUtil.toJsonStr(hotakeRolesInfo.getCertificationsLicensesList());
|
||||
rolesInfo.setCertificationsLicensesJson(certificationsLicensesJson);
|
||||
}else{
|
||||
rolesInfo.setCertificationsLicensesJson("");
|
||||
}
|
||||
}
|
||||
if(RoleOperStepsEnum.STEPS_3.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
rolesInfo.setDescriptionTone(hotakeRolesInfo.getDescriptionTone());
|
||||
rolesInfo.setAboutRole(hotakeRolesInfo.getAboutRole());
|
||||
rolesInfo.setResponsibilities(hotakeRolesInfo.getResponsibilities());
|
||||
if (CollectionUtil.isNotEmpty(hotakeRolesInfo.getRoleBenefitsList())){
|
||||
String roleBenefitsJson = JSONUtil.toJsonStr(hotakeRolesInfo.getRoleBenefitsList());
|
||||
rolesInfo.setRoleBenefitsJson(roleBenefitsJson);
|
||||
}else{
|
||||
rolesInfo.setRoleBenefitsJson("");
|
||||
}
|
||||
}
|
||||
if(RoleOperStepsEnum.STEPS_4.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
|
||||
}
|
||||
if(RoleOperStepsEnum.STEPS_5.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
|
||||
}
|
||||
if(RoleOperStepsEnum.STEPS_6.getCode().equals(hotakeRolesInfo.getOperStep())){
|
||||
|
||||
if (CollectionUtil.isNotEmpty(hotakeRolesInfo.getPublishingChannelsList())){
|
||||
String publishingChannelsJson = JSONUtil.toJsonStr(hotakeRolesInfo.getPublishingChannelsList());
|
||||
rolesInfo.setPublishingChannelsJson(publishingChannelsJson);
|
||||
}else{
|
||||
rolesInfo.setPublishingChannelsJson("");
|
||||
}
|
||||
rolesInfo.setPublishingScheduleDate(hotakeRolesInfo.getPublishingScheduleDate());
|
||||
rolesInfo.setPublishingScheduleTime(hotakeRolesInfo.getPublishingScheduleTime());
|
||||
rolesInfo.setApplicationDeadline(hotakeRolesInfo.getApplicationDeadline());
|
||||
}
|
||||
//默认是编辑中状态
|
||||
if(StrUtil.isEmpty(hotakeRolesInfo.getStatus())){
|
||||
rolesInfo.setStatus(RoleStatusEnum.EDITING.getCode());
|
||||
}
|
||||
rolesInfo.setDataType(hotakeRolesInfo.getDataType());
|
||||
rolesInfo.setLanguages(hotakeRolesInfo.getLanguages());
|
||||
rolesInfo.setOperStep(hotakeRolesInfo.getOperStep());
|
||||
rolesInfo.setRecruiterId(SecurityUtils.getUserId());
|
||||
fill(FillTypeEnum.UPDATE.getCode(), rolesInfo);
|
||||
hotakeRolesInfoMapper.updateAllHotakeRolesInfo(rolesInfo);
|
||||
//查询返回所有的结果数据
|
||||
HotakeRolesInfoDto rolesInfoDto = selectHotakeRolesInfoDtoById(rolesInfo.getId());
|
||||
return rolesInfoDto;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.vetti.hotake.mapper.HotakeInitScreQuestionsReplyRecordInfoMapper">
|
||||
|
||||
<resultMap type="HotakeInitScreQuestionsReplyRecordInfo" id="HotakeInitScreQuestionsReplyRecordInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="roleId" column="role_id" />
|
||||
<result property="candidateId" column="candidate_id" />
|
||||
<result property="questionId" column="question_id" />
|
||||
<result property="answerConnect" column="answer_connect" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectHotakeInitScreQuestionsReplyRecordInfoVo">
|
||||
select id, role_id, candidate_id, question_id, answer_connect, del_flag, create_by, create_time, update_by, update_time, remark from hotake_init_scre_questions_reply_record_info
|
||||
</sql>
|
||||
|
||||
<select id="selectHotakeInitScreQuestionsReplyRecordInfoList" parameterType="HotakeInitScreQuestionsReplyRecordInfo" resultMap="HotakeInitScreQuestionsReplyRecordInfoResult">
|
||||
<include refid="selectHotakeInitScreQuestionsReplyRecordInfoVo"/>
|
||||
<where>
|
||||
<if test="roleId != null "> and role_id = #{roleId}</if>
|
||||
<if test="candidateId != null "> and candidate_id = #{candidateId}</if>
|
||||
<if test="questionId != null "> and question_id = #{questionId}</if>
|
||||
<if test="answerConnect != null and answerConnect != ''"> and answer_connect = #{answerConnect}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectHotakeInitScreQuestionsReplyRecordInfoById" parameterType="Long" resultMap="HotakeInitScreQuestionsReplyRecordInfoResult">
|
||||
<include refid="selectHotakeInitScreQuestionsReplyRecordInfoVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertHotakeInitScreQuestionsReplyRecordInfo" parameterType="HotakeInitScreQuestionsReplyRecordInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into hotake_init_scre_questions_reply_record_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="roleId != null">role_id,</if>
|
||||
<if test="candidateId != null">candidate_id,</if>
|
||||
<if test="questionId != null">question_id,</if>
|
||||
<if test="answerConnect != null">answer_connect,</if>
|
||||
<if test="delFlag != null">del_flag,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="roleId != null">#{roleId},</if>
|
||||
<if test="candidateId != null">#{candidateId},</if>
|
||||
<if test="questionId != null">#{questionId},</if>
|
||||
<if test="answerConnect != null">#{answerConnect},</if>
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateHotakeInitScreQuestionsReplyRecordInfo" parameterType="HotakeInitScreQuestionsReplyRecordInfo">
|
||||
update hotake_init_scre_questions_reply_record_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="roleId != null">role_id = #{roleId},</if>
|
||||
<if test="candidateId != null">candidate_id = #{candidateId},</if>
|
||||
<if test="questionId != null">question_id = #{questionId},</if>
|
||||
<if test="answerConnect != null">answer_connect = #{answerConnect},</if>
|
||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteHotakeInitScreQuestionsReplyRecordInfoById" parameterType="Long">
|
||||
delete from hotake_init_scre_questions_reply_record_info where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteHotakeInitScreQuestionsReplyRecordInfoByIds" parameterType="String">
|
||||
delete from hotake_init_scre_questions_reply_record_info where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchInsertHotakeInitScreQuestionsReplyRecordInfo">
|
||||
insert into hotake_init_scre_questions_reply_record_info( id, role_id, candidate_id, question_id, answer_connect, del_flag, create_by, create_time, update_by, update_time, remark) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
( #{item.id}, #{item.roleId}, #{item.candidateId}, #{item.questionId}, #{item.answerConnect}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
@@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.vetti.hotake.mapper.HotakeInitialScreeningQuestionsInfoMapper">
|
||||
|
||||
<resultMap type="HotakeInitialScreeningQuestionsInfo" id="HotakeInitialScreeningQuestionsInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="roleId" column="role_id" />
|
||||
<result property="recruiterId" column="recruiter_id" />
|
||||
<result property="questionTitle" column="question_title" />
|
||||
<result property="questionType" column="question_type" />
|
||||
<result property="answerOptions" column="answer_options" />
|
||||
<result property="requiredField" column="required_field" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectHotakeInitialScreeningQuestionsInfoVo">
|
||||
select id, role_id, recruiter_id, question_title, question_type, answer_options, required_field, del_flag, create_by, create_time, update_by, update_time, remark from hotake_initial_screening_questions_info
|
||||
</sql>
|
||||
|
||||
<select id="selectHotakeInitialScreeningQuestionsInfoList" parameterType="HotakeInitialScreeningQuestionsInfo" resultMap="HotakeInitialScreeningQuestionsInfoResult">
|
||||
<include refid="selectHotakeInitialScreeningQuestionsInfoVo"/>
|
||||
<where>
|
||||
<if test="roleId != null "> and role_id = #{roleId}</if>
|
||||
<if test="recruiterId != null "> and recruiter_id = #{recruiterId}</if>
|
||||
<if test="questionTitle != null and questionTitle != ''"> and question_title = #{questionTitle}</if>
|
||||
<if test="questionType != null and questionType != ''"> and question_type = #{questionType}</if>
|
||||
<if test="answerOptions != null and answerOptions != ''"> and answer_options = #{answerOptions}</if>
|
||||
<if test="requiredField != null and requiredField != ''"> and required_field = #{requiredField}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectHotakeInitialScreeningQuestionsInfoById" parameterType="Long" resultMap="HotakeInitialScreeningQuestionsInfoResult">
|
||||
<include refid="selectHotakeInitialScreeningQuestionsInfoVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertHotakeInitialScreeningQuestionsInfo" parameterType="HotakeInitialScreeningQuestionsInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into hotake_initial_screening_questions_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="roleId != null">role_id,</if>
|
||||
<if test="recruiterId != null">recruiter_id,</if>
|
||||
<if test="questionTitle != null">question_title,</if>
|
||||
<if test="questionType != null">question_type,</if>
|
||||
<if test="answerOptions != null">answer_options,</if>
|
||||
<if test="requiredField != null">required_field,</if>
|
||||
<if test="delFlag != null">del_flag,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="roleId != null">#{roleId},</if>
|
||||
<if test="recruiterId != null">#{recruiterId},</if>
|
||||
<if test="questionTitle != null">#{questionTitle},</if>
|
||||
<if test="questionType != null">#{questionType},</if>
|
||||
<if test="answerOptions != null">#{answerOptions},</if>
|
||||
<if test="requiredField != null">#{requiredField},</if>
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateHotakeInitialScreeningQuestionsInfo" parameterType="HotakeInitialScreeningQuestionsInfo">
|
||||
update hotake_initial_screening_questions_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="roleId != null">role_id = #{roleId},</if>
|
||||
<if test="recruiterId != null">recruiter_id = #{recruiterId},</if>
|
||||
<if test="questionTitle != null">question_title = #{questionTitle},</if>
|
||||
<if test="questionType != null">question_type = #{questionType},</if>
|
||||
<if test="answerOptions != null">answer_options = #{answerOptions},</if>
|
||||
<if test="requiredField != null">required_field = #{requiredField},</if>
|
||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteHotakeInitialScreeningQuestionsInfoById" parameterType="Long">
|
||||
delete from hotake_initial_screening_questions_info where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteHotakeInitialScreeningQuestionsInfoByIds" parameterType="String">
|
||||
delete from hotake_initial_screening_questions_info where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchInsertHotakeInitialScreeningQuestionsInfo">
|
||||
insert into hotake_initial_screening_questions_info( id, role_id, recruiter_id, question_title, question_type, answer_options, required_field, del_flag, create_by, create_time, update_by, update_time, remark) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
( #{item.id}, #{item.roleId}, #{item.recruiterId}, #{item.questionTitle}, #{item.questionType}, #{item.answerOptions}, #{item.requiredField}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
@@ -6,8 +6,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<resultMap type="HotakeRolesInfo" id="HotakeRolesInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="uuid" column="uuid" />
|
||||
<result property="recruiterId" column="recruiter_id" />
|
||||
<result property="roleName" column="role_name" />
|
||||
<result property="companyName" column="company_name" />
|
||||
<result property="roleType" column="role_type" />
|
||||
<result property="locationType" column="location_type" />
|
||||
<result property="locations" column="locations" />
|
||||
<result property="applied" column="applied" />
|
||||
@@ -24,14 +27,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="descriptionTone" column="description_tone" />
|
||||
<result property="aboutRole" column="about_role" />
|
||||
<result property="responsibilities" column="responsibilities" />
|
||||
<result property="roleBenefits" column="role_benefits" />
|
||||
<result property="roleBenefitsJson" column="role_benefits_json" />
|
||||
<result property="publishingChannelsJson" column="publishing_channels_json" />
|
||||
<result property="publishingScheduleDate" column="publishing_schedule_date" />
|
||||
<result property="publishingScheduleTime" column="publishing_schedule_time" />
|
||||
<result property="applicationDeadline" column="application_deadline" />
|
||||
<result property="posted" column="posted" />
|
||||
<result property="languages" column="languages" />
|
||||
<result property="dataType" column="data_type" />
|
||||
<result property="operStep" column="oper_step" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
@@ -41,12 +46,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectHotakeRolesInfoVo">
|
||||
select id, recruiter_id, role_name, location_type, locations, applied, job_Level, job_type, job_experience, salary_start, salary_end, required_skills_json, nice_to_have_skills_json, education_requirements_json, accept_equivalent_work_flag, certifications_licenses_json, description_tone, about_role, responsibilities, role_benefits, publishing_channels_json, publishing_schedule_date, publishing_schedule_time, application_deadline, posted, data_type, oper_step, del_flag, create_by, create_time, update_by, update_time, remark from hotake_roles_info
|
||||
select id, uuid,recruiter_id, role_name,company_name,role_type, location_type, locations, applied, job_Level, job_type, job_experience, salary_start, salary_end, required_skills_json,
|
||||
nice_to_have_skills_json, education_requirements_json, accept_equivalent_work_flag,
|
||||
certifications_licenses_json, description_tone, about_role, responsibilities, role_benefits_json,
|
||||
publishing_channels_json, publishing_schedule_date, publishing_schedule_time, application_deadline, posted, languages,data_type,
|
||||
oper_step, status,del_flag, create_by, create_time, update_by, update_time, remark from hotake_roles_info
|
||||
</sql>
|
||||
|
||||
<select id="selectHotakeRolesInfoList" parameterType="HotakeRolesInfo" resultMap="HotakeRolesInfoResult">
|
||||
<include refid="selectHotakeRolesInfoVo"/>
|
||||
<where>
|
||||
<where>
|
||||
<if test="uuid != null "> and uuid = #{uuid}</if>
|
||||
<if test="recruiterId != null "> and recruiter_id = #{recruiterId}</if>
|
||||
<if test="roleName != null and roleName != ''"> and role_name like concat('%', #{roleName}, '%')</if>
|
||||
<if test="locationType != null and locationType != ''"> and location_type = #{locationType}</if>
|
||||
@@ -65,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="descriptionTone != null and descriptionTone != ''"> and description_tone = #{descriptionTone}</if>
|
||||
<if test="aboutRole != null and aboutRole != ''"> and about_role = #{aboutRole}</if>
|
||||
<if test="responsibilities != null and responsibilities != ''"> and responsibilities = #{responsibilities}</if>
|
||||
<if test="roleBenefits != null and roleBenefits != ''"> and role_benefits = #{roleBenefits}</if>
|
||||
<if test="roleBenefitsJson != null and roleBenefitsJson != ''"> and role_benefits_json = #{roleBenefitsJson}</if>
|
||||
<if test="publishingChannelsJson != null and publishingChannelsJson != ''"> and publishing_channels_json = #{publishingChannelsJson}</if>
|
||||
<if test="publishingScheduleDate != null and publishingScheduleDate != ''"> and publishing_schedule_date = #{publishingScheduleDate}</if>
|
||||
<if test="publishingScheduleTime != null and publishingScheduleTime != ''"> and publishing_schedule_time = #{publishingScheduleTime}</if>
|
||||
@@ -73,19 +83,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="posted != null and posted != ''"> and posted = #{posted}</if>
|
||||
<if test="dataType != null and dataType != ''"> and data_type = #{dataType}</if>
|
||||
<if test="operStep != null and operStep != ''"> and oper_step = #{operStep}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectHotakeRolesInfoById" parameterType="Long" resultMap="HotakeRolesInfoResult">
|
||||
<include refid="selectHotakeRolesInfoVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectHotakeRolesInfoByUuid" parameterType="String" resultMap="HotakeRolesInfoResult">
|
||||
<include refid="selectHotakeRolesInfoVo"/>
|
||||
where uuid = #{uuid}
|
||||
</select>
|
||||
|
||||
<insert id="insertHotakeRolesInfo" parameterType="HotakeRolesInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into hotake_roles_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="uuid != null">uuid,</if>
|
||||
<if test="recruiterId != null">recruiter_id,</if>
|
||||
<if test="roleName != null">role_name,</if>
|
||||
<if test="companyName != null">company_name,</if>
|
||||
<if test="roleType != null">role_type,</if>
|
||||
<if test="locationType != null">location_type,</if>
|
||||
<if test="locations != null">locations,</if>
|
||||
<if test="applied != null">applied,</if>
|
||||
@@ -102,14 +122,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="descriptionTone != null">description_tone,</if>
|
||||
<if test="aboutRole != null">about_role,</if>
|
||||
<if test="responsibilities != null">responsibilities,</if>
|
||||
<if test="roleBenefits != null">role_benefits,</if>
|
||||
<if test="roleBenefitsJson != null">role_benefits_json,</if>
|
||||
<if test="publishingChannelsJson != null">publishing_channels_json,</if>
|
||||
<if test="publishingScheduleDate != null">publishing_schedule_date,</if>
|
||||
<if test="publishingScheduleTime != null">publishing_schedule_time,</if>
|
||||
<if test="applicationDeadline != null">application_deadline,</if>
|
||||
<if test="posted != null">posted,</if>
|
||||
<if test="languages != null">languages,</if>
|
||||
<if test="dataType != null">data_type,</if>
|
||||
<if test="operStep != null">oper_step,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="delFlag != null">del_flag,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
@@ -118,8 +140,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="uuid != null">#{uuid},</if>
|
||||
<if test="recruiterId != null">#{recruiterId},</if>
|
||||
<if test="roleName != null">#{roleName},</if>
|
||||
<if test="companyName != null">#{companyName},</if>
|
||||
<if test="roleType != null">#{roleType},</if>
|
||||
<if test="locationType != null">#{locationType},</if>
|
||||
<if test="locations != null">#{locations},</if>
|
||||
<if test="applied != null">#{applied},</if>
|
||||
@@ -136,14 +161,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="descriptionTone != null">#{descriptionTone},</if>
|
||||
<if test="aboutRole != null">#{aboutRole},</if>
|
||||
<if test="responsibilities != null">#{responsibilities},</if>
|
||||
<if test="roleBenefits != null">#{roleBenefits},</if>
|
||||
<if test="roleBenefitsJson != null">#{roleBenefitsJson},</if>
|
||||
<if test="publishingChannelsJson != null">#{publishingChannelsJson},</if>
|
||||
<if test="publishingScheduleDate != null">#{publishingScheduleDate},</if>
|
||||
<if test="publishingScheduleTime != null">#{publishingScheduleTime},</if>
|
||||
<if test="applicationDeadline != null">#{applicationDeadline},</if>
|
||||
<if test="posted != null">#{posted},</if>
|
||||
<if test="languages != null">#{languages},</if>
|
||||
<if test="dataType != null">#{dataType},</if>
|
||||
<if test="operStep != null">#{operStep},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
@@ -158,6 +185,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="recruiterId != null">recruiter_id = #{recruiterId},</if>
|
||||
<if test="roleName != null">role_name = #{roleName},</if>
|
||||
<if test="companyName != null">company_name = #{companyName},</if>
|
||||
<if test="roleType != null">role_type = #{roleType},</if>
|
||||
<if test="locationType != null">location_type = #{locationType},</if>
|
||||
<if test="locations != null">locations = #{locations},</if>
|
||||
<if test="applied != null">applied = #{applied},</if>
|
||||
@@ -174,14 +203,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="descriptionTone != null">description_tone = #{descriptionTone},</if>
|
||||
<if test="aboutRole != null">about_role = #{aboutRole},</if>
|
||||
<if test="responsibilities != null">responsibilities = #{responsibilities},</if>
|
||||
<if test="roleBenefits != null">role_benefits = #{roleBenefits},</if>
|
||||
<if test="roleBenefitsJson != null">role_benefits_json = #{roleBenefitsJson},</if>
|
||||
<if test="publishingChannelsJson != null">publishing_channels_json = #{publishingChannelsJson},</if>
|
||||
<if test="publishingScheduleDate != null">publishing_schedule_date = #{publishingScheduleDate},</if>
|
||||
<if test="publishingScheduleTime != null">publishing_schedule_time = #{publishingScheduleTime},</if>
|
||||
<if test="applicationDeadline != null">application_deadline = #{applicationDeadline},</if>
|
||||
<if test="posted != null">posted = #{posted},</if>
|
||||
<if test="languages != null">languages = #{languages},</if>
|
||||
<if test="dataType != null">data_type = #{dataType},</if>
|
||||
<if test="operStep != null">oper_step = #{operStep},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
@@ -192,6 +223,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateAllHotakeRolesInfo" parameterType="HotakeRolesInfo">
|
||||
update hotake_roles_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
recruiter_id = #{recruiterId},
|
||||
role_name = #{roleName},
|
||||
company_name = #{companyName},
|
||||
role_type = #{roleType},
|
||||
location_type = #{locationType},
|
||||
locations = #{locations},
|
||||
applied = #{applied},
|
||||
job_Level = #{jobLevel},
|
||||
job_type = #{jobType},
|
||||
job_experience = #{jobExperience},
|
||||
salary_start = #{salaryStart},
|
||||
salary_end = #{salaryEnd},
|
||||
required_skills_json = #{requiredSkillsJson},
|
||||
nice_to_have_skills_json = #{niceToHaveSkillsJson},
|
||||
education_requirements_json = #{educationRequirementsJson},
|
||||
accept_equivalent_work_flag = #{acceptEquivalentWorkFlag},
|
||||
certifications_licenses_json = #{certificationsLicensesJson},
|
||||
description_tone = #{descriptionTone},
|
||||
about_role = #{aboutRole},
|
||||
responsibilities = #{responsibilities},
|
||||
role_benefits_json = #{roleBenefitsJson},
|
||||
publishing_channels_json = #{publishingChannelsJson},
|
||||
publishing_schedule_date = #{publishingScheduleDate},
|
||||
publishing_schedule_time = #{publishingScheduleTime},
|
||||
application_deadline = #{applicationDeadline},
|
||||
posted = #{posted},
|
||||
languages = #{languages},
|
||||
data_type = #{dataType},
|
||||
oper_step = #{operStep},
|
||||
status = #{status},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime},
|
||||
remark = #{remark},
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteHotakeRolesInfoById" parameterType="Long">
|
||||
delete from hotake_roles_info where id = #{id}
|
||||
</delete>
|
||||
@@ -204,9 +275,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</delete>
|
||||
|
||||
<insert id="batchInsertHotakeRolesInfo">
|
||||
insert into hotake_roles_info( id, recruiter_id, role_name, location_type, locations, applied, job_Level, job_type, job_experience, salary_start, salary_end, required_skills_json, nice_to_have_skills_json, education_requirements_json, accept_equivalent_work_flag, certifications_licenses_json, description_tone, about_role, responsibilities, role_benefits, publishing_channels_json, publishing_schedule_date, publishing_schedule_time, application_deadline, posted, data_type, oper_step, del_flag, create_by, create_time, update_by, update_time, remark,) values
|
||||
insert into hotake_roles_info( id, recruiter_id, role_name, location_type, locations, applied, job_Level, job_type, job_experience, salary_start, salary_end, required_skills_json, nice_to_have_skills_json, education_requirements_json, accept_equivalent_work_flag, certifications_licenses_json, description_tone, about_role, responsibilities, role_benefits_json, publishing_channels_json, publishing_schedule_date, publishing_schedule_time, application_deadline, posted, data_type, oper_step, del_flag, create_by, create_time, update_by, update_time, remark) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
( #{item.id}, #{item.recruiterId}, #{item.roleName}, #{item.locationType}, #{item.locations}, #{item.applied}, #{item.jobLevel}, #{item.jobType}, #{item.jobExperience}, #{item.salaryStart}, #{item.salaryEnd}, #{item.requiredSkillsJson}, #{item.niceToHaveSkillsJson}, #{item.educationRequirementsJson}, #{item.acceptEquivalentWorkFlag}, #{item.certificationsLicensesJson}, #{item.descriptionTone}, #{item.aboutRole}, #{item.responsibilities}, #{item.roleBenefits}, #{item.publishingChannelsJson}, #{item.publishingScheduleDate}, #{item.publishingScheduleTime}, #{item.applicationDeadline}, #{item.posted}, #{item.dataType}, #{item.operStep}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark},)
|
||||
( #{item.id}, #{item.recruiterId}, #{item.roleName}, #{item.locationType}, #{item.locations}, #{item.applied}, #{item.jobLevel}, #{item.jobType}, #{item.jobExperience}, #{item.salaryStart}, #{item.salaryEnd}, #{item.requiredSkillsJson}, #{item.niceToHaveSkillsJson}, #{item.educationRequirementsJson}, #{item.acceptEquivalentWorkFlag}, #{item.certificationsLicensesJson}, #{item.descriptionTone}, #{item.aboutRole}, #{item.responsibilities}, #{item.roleBenefitsJson}, #{item.publishingChannelsJson}, #{item.publishingScheduleDate}, #{item.publishingScheduleTime}, #{item.applicationDeadline}, #{item.posted}, #{item.dataType}, #{item.operStep}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user