|
@@ -1,9 +1,13 @@
|
|
|
package com.citu.module.menduner.system.service.job.handler;
|
|
|
|
|
|
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.joinJobFairReqVO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.fair.FairWhiteDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
import com.citu.module.menduner.system.enums.job.JobSourceEnum;
|
|
|
import com.citu.module.menduner.system.enums.job.JobStatusEnum;
|
|
|
import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
|
|
|
+import com.citu.module.menduner.system.service.fair.FairService;
|
|
|
+import com.citu.module.menduner.system.service.fair.FairWhiteService;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -12,8 +16,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
|
|
|
import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_JOB_ADVERTISED_SOURCE_ID_NOT_NULL;
|
|
|
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_JOB_ADVERTISED_TIME_ERROR_24;
|
|
|
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -28,6 +31,13 @@ public class JobFairOperateHandler implements JobOperateHandler {
|
|
|
@Lazy
|
|
|
private EnterpriseService enterpriseService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ @Lazy
|
|
|
+ private FairWhiteService fairWhiteService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ @Lazy
|
|
|
+ private FairService fairService;
|
|
|
|
|
|
@Override
|
|
|
public void beforeCreate(JobAdvertisedDO job) {
|
|
@@ -36,9 +46,28 @@ public class JobFairOperateHandler implements JobOperateHandler {
|
|
|
// 没有填写来源(招聘会id)
|
|
|
throw exception(MDE_JOB_ADVERTISED_SOURCE_ID_NOT_NULL);
|
|
|
}
|
|
|
+ FairWhiteDO fairWhite = fairWhiteService.get(job.getEnterpriseId(), job.getBizId());
|
|
|
+ if(null == fairWhite) {
|
|
|
+ throw exception(JOB_FAIR_NO_PERMISSION);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void afterCreate(JobAdvertisedDO job) {
|
|
|
+ if (JobSourceEnum.FAIR.getType().equals(job.getSource())) {
|
|
|
+ // 基于招聘会创建职位
|
|
|
+ if(JobStatusEnum.ENABLE.getStatus().equals(job.getStatus())){
|
|
|
+ // 创建完招聘会后,同步职位到招聘会里面
|
|
|
+ fairService.joinJobFair(joinJobFairReqVO
|
|
|
+ .builder()
|
|
|
+ .jobFairId(job.getBizId())
|
|
|
+ .jobId(job.getId())
|
|
|
+ .build()
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public void beforeUpdate(JobAdvertisedDO job, JobAdvertisedDO oldJob) {
|
|
@@ -51,4 +80,21 @@ public class JobFairOperateHandler implements JobOperateHandler {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterUpdate(JobAdvertisedDO job, JobAdvertisedDO oldJob) {
|
|
|
+ // 判断之前职位不是属于招聘会,现在改为招聘会的情况
|
|
|
+ if (JobSourceEnum.FAIR.getType().equals(job.getSource())) {
|
|
|
+ // 基于招聘会修改职位
|
|
|
+ if(JobStatusEnum.ENABLE.getStatus().equals(job.getStatus())){
|
|
|
+ // 修改完招聘会后,同步职位到招聘会里面
|
|
|
+ fairService.joinJobFair(joinJobFairReqVO
|
|
|
+ .builder()
|
|
|
+ .jobFairId(job.getBizId())
|
|
|
+ .jobId(job.getId())
|
|
|
+ .build()
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|