|
@@ -148,6 +148,49 @@ public class FairServiceImpl implements FairService {
|
|
return fairMapper.selectPage(pageReqVO);
|
|
return fairMapper.selectPage(pageReqVO);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ @DSTransactional
|
|
|
|
+ public void updateJobFairCategory(JobFairCategoryUpdateReqVO reqVO) {
|
|
|
|
+ // 校验招聘会是否存在并获取实体
|
|
|
|
+ FairDO fairDO = validateJobFairExists(reqVO.getId());
|
|
|
|
+ fairDO.setCategory(reqVO.getCategory());
|
|
|
|
+ fairDO.setTag(reqVO.getTag());
|
|
|
|
+ fairMapper.updateById(fairDO);
|
|
|
|
+
|
|
|
|
+ // 如果是企业类别且有标签,则处理企业相关逻辑
|
|
|
|
+ if (isEnterpriseCategoryWithTags(reqVO)) {
|
|
|
|
+ processEnterpriseTags(reqVO, fairDO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 判断是否为带标签的企业类别
|
|
|
|
+ */
|
|
|
|
+ private boolean isEnterpriseCategoryWithTags(JobFairCategoryUpdateReqVO reqVO) {
|
|
|
|
+ return JobFairCategoryUpdateReqVO.ENTERPRISE.equals(reqVO.getCategory())
|
|
|
|
+ && CollUtil.isNotEmpty(reqVO.getTag());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理企业标签逻辑
|
|
|
|
+ */
|
|
|
|
+ private void processEnterpriseTags(JobFairCategoryUpdateReqVO reqVO, FairDO fairDO) {
|
|
|
|
+ reqVO.getTag().stream()
|
|
|
|
+ .filter(tag -> "enterpriseId".equals(tag.getKey())) // 过滤出 enterpriseId 的标签
|
|
|
|
+ .forEach(tag -> {
|
|
|
|
+ // 将 List<String> 转为 List<Long>
|
|
|
|
+ List<Long> enterpriseIds = tag.getValue().stream()
|
|
|
|
+ .map(Long::valueOf)
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ // 加入白名单
|
|
|
|
+ fairWhiteService.addWhiteList(fairDO.getId(), enterpriseIds);
|
|
|
|
+
|
|
|
|
+ // 同步职位
|
|
|
|
+ enterpriseIds.forEach(enterpriseId -> syncJob(enterpriseId, fairDO.getId()));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void checkJobFairExpired(FairDO fairDO) {
|
|
public void checkJobFairExpired(FairDO fairDO) {
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
@@ -210,7 +253,7 @@ public class FairServiceImpl implements FairService {
|
|
if (null == fairWhite) {
|
|
if (null == fairWhite) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (JobFairWhiteSourceEnum.ADMIN.getSource().equals(fairWhite.getSource())) {
|
|
|
|
|
|
+ if (JobFairWhiteSourceEnum.TICKET.getSource().equals(fairWhite.getSource())) {
|
|
if (null == fairWhite.getNum()) {
|
|
if (null == fairWhite.getNum()) {
|
|
// 没有次数不同步
|
|
// 没有次数不同步
|
|
return;
|
|
return;
|
|
@@ -221,12 +264,12 @@ public class FairServiceImpl implements FairService {
|
|
.limit(fairWhite.getNum())
|
|
.limit(fairWhite.getNum())
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
latestNRecords.forEach(job -> {
|
|
latestNRecords.forEach(job -> {
|
|
- insertFairJob(jobFairId, job.getId());
|
|
|
|
|
|
+ insertFairJob(jobFairId, enterpriseId, job.getId());
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
// 不是购买门票
|
|
// 不是购买门票
|
|
jobAdvertisedList.forEach(job -> {
|
|
jobAdvertisedList.forEach(job -> {
|
|
- insertFairJob(jobFairId, job.getId());
|
|
|
|
|
|
+ insertFairJob(jobFairId, enterpriseId, job.getId());
|
|
});
|
|
});
|
|
}
|
|
}
|
|
fairWhiteService.markFirstEnterFair(enterpriseId, jobFairId);
|
|
fairWhiteService.markFirstEnterFair(enterpriseId, jobFairId);
|
|
@@ -235,7 +278,7 @@ public class FairServiceImpl implements FairService {
|
|
@Override
|
|
@Override
|
|
@DSTransactional
|
|
@DSTransactional
|
|
public void joinJobFair(joinJobFairReqVO reqVO) {
|
|
public void joinJobFair(joinJobFairReqVO reqVO) {
|
|
- insertFairJob(reqVO.getJobFairId(), reqVO.getJobId());
|
|
|
|
|
|
+ insertFairJob(reqVO.getJobFairId(), LoginUserContext.getEnterpriseId(), reqVO.getJobId());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -258,11 +301,11 @@ public class FairServiceImpl implements FairService {
|
|
}
|
|
}
|
|
|
|
|
|
@DSTransactional
|
|
@DSTransactional
|
|
- public void insertFairJob(Long jobFairId, Long jobId) {
|
|
|
|
|
|
+ public void insertFairJob(Long jobFairId, Long enterpriseId, Long jobId) {
|
|
FairDetailDO detailDO = fairDetailMapper
|
|
FairDetailDO detailDO = fairDetailMapper
|
|
.selectOne(
|
|
.selectOne(
|
|
FairDetailDO::getJobFairId, jobFairId,
|
|
FairDetailDO::getJobFairId, jobFairId,
|
|
- FairDetailDO::getEnterpriseId, LoginUserContext.getEnterpriseId(),
|
|
|
|
|
|
+ FairDetailDO::getEnterpriseId, enterpriseId,
|
|
FairDetailDO::getJobId, jobId);
|
|
FairDetailDO::getJobId, jobId);
|
|
|
|
|
|
if (null != detailDO) {
|
|
if (null != detailDO) {
|
|
@@ -282,13 +325,13 @@ public class FairServiceImpl implements FairService {
|
|
// 新增数据
|
|
// 新增数据
|
|
FairDetailDO detail = FairDetailDO.builder()
|
|
FairDetailDO detail = FairDetailDO.builder()
|
|
.jobFairId(fairDO.getId())
|
|
.jobFairId(fairDO.getId())
|
|
- .enterpriseId(LoginUserContext.getEnterpriseId())
|
|
|
|
|
|
+ .enterpriseId(enterpriseId)
|
|
.jobId(jobId)
|
|
.jobId(jobId)
|
|
.build();
|
|
.build();
|
|
fairDetailMapper.insert(detail);
|
|
fairDetailMapper.insert(detail);
|
|
|
|
|
|
// 扣除额度
|
|
// 扣除额度
|
|
- fairWhiteService.deductAdmissionNum(LoginUserContext.getEnterpriseId(), fairDO.getId());
|
|
|
|
|
|
+ fairWhiteService.deductAdmissionNum(enterpriseId, fairDO.getId());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|