|
@@ -1,21 +1,17 @@
|
|
package com.citu.module.menduner.system.service.job;
|
|
package com.citu.module.menduner.system.service.job;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.citu.framework.common.pojo.PageParam;
|
|
import com.citu.framework.common.pojo.PageParam;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
-import com.citu.framework.dict.core.DictFrameworkUtils;
|
|
|
|
-import com.citu.framework.mybatis.core.util.MyBatisUtils;
|
|
|
|
-import com.citu.framework.tenant.core.aop.TenantIgnore;
|
|
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
-import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobPageReqVO;
|
|
|
|
-import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobRespVO;
|
|
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedSearchPageReqVO;
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedSearchPageReqVO;
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobCvLookRespVO;
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobCvLookRespVO;
|
|
-import com.citu.module.menduner.system.controller.app.recruit.job.vo.*;
|
|
|
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobExportRespVO;
|
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobPageReqVO;
|
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobRespVO;
|
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobSaveReqVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.person.cv.AppRecruitJobCvRelPageReqVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.person.cv.AppRecruitJobCvRelPageReqVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.person.cv.AppRecruitJobCvRelRespVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.person.cv.AppRecruitJobCvRelRespVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.unfit.AppRecruitUnfitCandidatePageReqVO;
|
|
import com.citu.module.menduner.system.controller.app.recruit.unfit.AppRecruitUnfitCandidatePageReqVO;
|
|
@@ -30,24 +26,18 @@ import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
|
|
import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
-import com.citu.module.menduner.system.dal.dataobject.job.JobFairDO;
|
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.job.JobFairDetailDO;
|
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.major.MajorDO;
|
|
|
|
import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
|
|
import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
|
|
import com.citu.module.menduner.system.dal.mysql.area.AreaMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.area.AreaMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
|
|
-import com.citu.module.menduner.system.dal.mysql.job.JobFairDetailMapper;
|
|
|
|
import com.citu.module.menduner.system.dal.mysql.major.MajorMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.major.MajorMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.position.PositionMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.position.PositionMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.unfit.UnfitCandidateMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.unfit.UnfitCandidateMapper;
|
|
import com.citu.module.menduner.system.service.area.AreaService;
|
|
import com.citu.module.menduner.system.service.area.AreaService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
-import com.citu.module.menduner.system.service.industry.IndustryService;
|
|
|
|
import com.citu.module.menduner.system.service.interview.InterviewInviteService;
|
|
import com.citu.module.menduner.system.service.interview.InterviewInviteService;
|
|
-import com.citu.module.menduner.system.service.job.fair.JobFairService;
|
|
|
|
import com.citu.module.menduner.system.util.ESQueryBuildUtils;
|
|
import com.citu.module.menduner.system.util.ESQueryBuildUtils;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
@@ -61,7 +51,6 @@ import org.springframework.data.elasticsearch.core.SearchHits;
|
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
|
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
|
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
|
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
-import org.springframework.util.StringUtils;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -70,8 +59,6 @@ import java.time.temporal.ChronoUnit;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static com.citu.module.menduner.system.enums.DictTypeConstants.*;
|
|
|
|
-
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
@Validated
|
|
@Validated
|
|
@@ -113,12 +100,6 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
|
|
@Resource
|
|
@Resource
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
|
|
|
|
- @Resource
|
|
|
|
- private FairService fairService;
|
|
|
|
-
|
|
|
|
- @Resource
|
|
|
|
- private IndustryService industryService;
|
|
|
|
-
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 包装职位发布联系人
|
|
* 包装职位发布联系人
|
|
@@ -383,86 +364,4 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
|
|
jobAdvertisedService.save(job);
|
|
jobAdvertisedService.save(job);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void joinJobFair(joinJobFairReqVO reqVO) {
|
|
|
|
- JobFairDetailDO detailDO = jobFairDetailMapper
|
|
|
|
- .selectOne(JobFairDetailDO::getEnterpriseId, LoginUserContext.getEnterpriseId(),
|
|
|
|
- JobFairDetailDO::getJobId, reqVO.getJobId());
|
|
|
|
- if (null != detailDO) {
|
|
|
|
- // 已经加入
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- JobFairDO jobFairDO = jobFairService.getJobFair(reqVO.getJobFairId());
|
|
|
|
- jobFairService.checkJobFairExpired(jobFairDO);
|
|
|
|
-
|
|
|
|
- if (ObjectUtil.isNotEmpty(jobFairDO.getVipRequire())) {
|
|
|
|
- // 效验是否符合会员要求
|
|
|
|
- // 不符合抛出异常提示
|
|
|
|
- }
|
|
|
|
- JobFairDetailDO detail = JobFairDetailDO.builder()
|
|
|
|
- .jobFairId(jobFairDO.getId())
|
|
|
|
- .enterpriseId(LoginUserContext.getEnterpriseId())
|
|
|
|
- .jobId(reqVO.getJobId())
|
|
|
|
- .build();
|
|
|
|
- jobFairDetailMapper.insert(detail);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void quitJobFair(joinJobFairReqVO reqVO) {
|
|
|
|
- JobFairDetailDO detailDO = jobFairDetailMapper
|
|
|
|
- .selectOne(JobFairDetailDO::getEnterpriseId, LoginUserContext.getEnterpriseId(),
|
|
|
|
- JobFairDetailDO::getJobId, reqVO.getJobId());
|
|
|
|
- if (null == detailDO) {
|
|
|
|
- // 不在招聘会里面
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- jobFairDetailMapper.deleteById(detailDO.getId());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @TenantIgnore
|
|
|
|
- @Override
|
|
|
|
- public PageResult<AppFlameJobRespVO> getFlameJobPage(AppFlameJobPageReqVO reqVO) {
|
|
|
|
- IPage<AppFlameJobRespVO> pageResult = jobFairDetailMapper.search(MyBatisUtils.buildPage(reqVO), reqVO);
|
|
|
|
- PageResult<AppFlameJobRespVO> result = new PageResult<>(pageResult.getRecords(), pageResult.getTotal());
|
|
|
|
- for (AppFlameJobRespVO record : result.getList()) {
|
|
|
|
- if (StringUtils.hasText(record.getJob().getPayUnit())) {
|
|
|
|
- record.getJob().setPayUnit(DictFrameworkUtils.getDictDataLabel(MENDUNER_PAY_UNIT, record.getJob().getPayUnit()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.hasText(record.getJob().getExpType())) {
|
|
|
|
- record.getJob().setExpType(DictFrameworkUtils.getDictDataLabel(MENDUNER_EXP_TYPE, record.getJob().getExpType()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.hasText(record.getJob().getEduType())) {
|
|
|
|
- record.getJob().setEduType(DictFrameworkUtils.getDictDataLabel(MENDUNER_EDUCATION_TYPE, record.getJob().getEduType()));
|
|
|
|
- }
|
|
|
|
- if (null != record.getJob().getAreaId()) {
|
|
|
|
- AreaDO area = areaService.getArea(record.getJob().getAreaId());
|
|
|
|
- record.getJob().setAreaName(null != area ? area.getName() : null);
|
|
|
|
- }
|
|
|
|
- if (null != record.getJob().getPositionId()) {
|
|
|
|
- PositionDO position = positionMapper.selectById(record.getJob().getPositionId());
|
|
|
|
- record.getJob().setPositionName(null != position ? position.getNameCn() : null);
|
|
|
|
- }
|
|
|
|
- if (null != record.getJobExtend().getMajorId()) {
|
|
|
|
- MajorDO major = majorMapper.selectById(record.getJobExtend().getMajorId());
|
|
|
|
- record.getJobExtend().setMajorName(null != major ? major.getNameCn() : null);
|
|
|
|
- }
|
|
|
|
- if (StringUtils.hasText(record.getEnterprise().getFinancingStatus())) {
|
|
|
|
- record.getEnterprise().setFinancingStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_FINANCING_STATUS, record.getEnterprise().getFinancingStatus()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.hasText(record.getEnterprise().getScale())) {
|
|
|
|
- record.getEnterprise().setScale(DictFrameworkUtils.getDictDataLabel(MENDUNER_SCALE, record.getEnterprise().getScale()));
|
|
|
|
- }
|
|
|
|
- record.getJob().setStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_JOB_STATUS, record.getJob().getStatus()));
|
|
|
|
- }
|
|
|
|
- return result;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public List<Long> getJobIdListByJobFairIdAndEnterpriseId(Long jobFairId, Long enterpriseId) {
|
|
|
|
- return jobFairDetailMapper.selectByJobFairIdAndEnterpriseIdList(jobFairId, enterpriseId)
|
|
|
|
- .stream()
|
|
|
|
- .map(JobFairDetailDO::getJobId)
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
}
|
|
}
|