Browse Source

1、面试模块、简历投递模块增加招聘会id

rayson 5 months ago
parent
commit
18829368a1
19 changed files with 97 additions and 23 deletions
  1. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/AppJobCvRelController.java
  2. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/hire/AppHireJobCvRelReqVO.java
  3. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/vo/AppJobCvRelReqVO.java
  4. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/person/cv/AppRecruitJobCvRelPageReqVO.java
  5. 3 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInvitePageReqVO.java
  6. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteRespVO.java
  7. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteSaveReqVO.java
  8. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/HireJobCvRelRespVO.java
  9. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelPageReqVO.java
  10. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelRespVO.java
  11. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelSaveReqVO.java
  12. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelSimpleRespVO.java
  13. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/interview/InterviewInviteDO.java
  14. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/job/JobCvRelDO.java
  15. 11 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairDetailMapper.java
  16. 3 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java
  17. 4 17
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairServiceImpl.java
  18. 9 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java
  19. 15 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/AppJobCvRelController.java

@@ -104,4 +104,12 @@ public class AppJobCvRelController {
     public CommonResult<Boolean> checkSend(@RequestParam("jobId") Long jobId) {
         return success(jobCvRelService.checkSend(jobId));
     }
+
+    @GetMapping("/job-fair/send/check")
+    @PreAuthenticated
+    @Operation(summary = "效验招聘会职位是否投递")
+    public CommonResult<Boolean> checkSend(@RequestParam("jobFairId") Long jobFairId,
+                                           @RequestParam("jobId") Long jobId) {
+        return success(jobCvRelService.checkSend(jobFairId,jobId));
+    }
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/hire/AppHireJobCvRelReqVO.java

@@ -10,6 +10,10 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppHireJobCvRelReqVO {
 
+
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "发布的职位id")
     @NotNull(message = "{1_100_036_002}")
     private Long jobId;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/job/vo/AppJobCvRelReqVO.java

@@ -10,6 +10,9 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppJobCvRelReqVO {
 
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "发布的职位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19402")
     @NotNull(message = "{1_100_035_004}")
     private Long jobId;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/person/cv/AppRecruitJobCvRelPageReqVO.java

@@ -8,6 +8,10 @@ import lombok.Data;
 @Data
 public class AppRecruitJobCvRelPageReqVO extends AppRecruitPersonPageReqVO {
 
+
+    @Schema(description = "招聘会id", example = "24200")
+    private Long jobFairId;
+
     @Schema(description = "简历投递类型",example = "1")
     private String type;
 

+ 3 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInvitePageReqVO.java

@@ -1,7 +1,6 @@
 package com.citu.module.menduner.system.controller.base.interview;
 
 
-import com.alibaba.excel.annotation.ExcelProperty;
 import com.citu.framework.common.pojo.PageParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -28,6 +27,9 @@ public class InterviewInvitePageReqVO extends PageParam {
     @Schema(description = "邀请用户id", example = "7105")
     private Long inviteUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "面试岗位", example = "7193")
     private Long jobId;
 

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteRespVO.java

@@ -25,6 +25,10 @@ public class InterviewInviteRespVO {
     @ExcelProperty("邀请用户id")
     private Long inviteUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    @ExcelProperty("招聘会id")
+    private Long jobFairId;
+
     @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13895")
     @ExcelProperty("受邀用户id")
     private Long userId;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteSaveReqVO.java

@@ -27,6 +27,9 @@ public class InterviewInviteSaveReqVO {
     @NotNull(message = "{1_100_033_003}")
     private Long inviteUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "面试岗位", requiredMode = Schema.RequiredMode.REQUIRED, example = "7193")
     @NotNull(message = "{1_100_033_004}")
     private Long jobId;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/HireJobCvRelRespVO.java

@@ -32,6 +32,10 @@ public class HireJobCvRelRespVO {
     @ExcelProperty("推荐人")
     private Long recommendUserId;
 
+    @Schema(description = "招聘会id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21239")
+    @ExcelProperty("招聘会id")
+    private Long jobFairId;
+
     @Schema(description = "投递用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32103")
     @ExcelProperty("投递用户id")
     private Long userId;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelPageReqVO.java

@@ -29,6 +29,9 @@ public class JobCvRelPageReqVO extends PageParam {
     @Schema(description = "推荐人", example = "21239")
     private Long recommendUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "投递用户id", example = "7769")
     private Long userId;
 

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelRespVO.java

@@ -32,6 +32,10 @@ public class JobCvRelRespVO {
     @ExcelProperty("推荐用户id")
     private Long recommendUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    @ExcelProperty("招聘会id")
+    private Long jobFairId;
+
     @Schema(description = "投递用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7769")
     @ExcelProperty("投递用户id")
     private Long userId;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelSaveReqVO.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.controller.base.job.cv;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -30,6 +31,9 @@ public class JobCvRelSaveReqVO {
     @NotNull(message = "{1_100_036_004}")
     private Long recommendUserId;
 
+    @Schema(description = "招聘会id", example = "21239")
+    private Long jobFairId;
+
     @Schema(description = "投递用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7769")
     @NotNull(message = "{1_099_000_006}")
     private Long userId;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/cv/JobCvRelSimpleRespVO.java

@@ -12,6 +12,9 @@ public class JobCvRelSimpleRespVO {
     @Schema(description = "id", example = "24200")
     private Long id;
 
+    @Schema(description = "招聘会id", example = "24200")
+    private Long jobFairId;
+
     @Schema(description = "简历附件标题")
     private String title;
 

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/interview/InterviewInviteDO.java

@@ -42,6 +42,10 @@ public class InterviewInviteDO extends TenantBaseDO {
      * 受邀用户id
      */
     private Long userId;
+    /**
+     * 招聘会id
+     */
+    private Long jobFairId;
     /**
      * 面试岗位
      */

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/job/JobCvRelDO.java

@@ -43,6 +43,10 @@ public class JobCvRelDO extends TenantBaseDO {
      * 推荐用户id
      */
     private Long recommendUserId;
+    /**
+     * 招聘会id
+     */
+    private Long jobFairId;
     /**
      * 投递用户id
      */

+ 11 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairDetailMapper.java

@@ -44,6 +44,17 @@ public interface FairDetailMapper extends BaseMapperX<FairDetailDO> {
         );
     }
 
+    default long selectCountByJobFairIdAndEnterpriseIdList(Long jobFairId, Long enterpriseId) {
+        MPJLambdaWrapperX<FairDetailDO> query = new MPJLambdaWrapperX<>();
+        query.innerJoin(FairDO.class, FairDO::getId, FairDetailDO::getJobFairId);
+        query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, FairDetailDO::getJobId);
+        query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, FairDetailDO::getEnterpriseId);
+        query.eq(FairDetailDO::getJobFairId, jobFairId);
+        query.eq(FairDetailDO::getEnterpriseId, enterpriseId);
+        query.eq(FairDetailDO::getStatus, JobFairStatusEnum.NORMAL.getStatus());
+        return selectCount(query);
+    }
+
 
     /**
      * 根据招聘会id查询招聘会发布职位的信息

+ 3 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java

@@ -68,6 +68,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.eqIfExists(JobCvRelDO::getStatus, reqVO.getStatus());
         wrapper.eqIfExists(JobCvRelDO::getType, reqVO.getType());
         wrapper.eqIfExists(JobCvRelDO::getRecommendUserId, reqVO.getRecommendUserId());
+        wrapper.eqIfExists(JobCvRelDO::getJobFairId, reqVO.getJobFairId());
         wrapper.likeIfExists(JobCvRelDO::getPhone, reqVO.getPhone());
 
         // 投递的职位 inner 人才信息 (投递人)
@@ -175,9 +176,10 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
 
 
     // 根据用户ID和职位id判断7天内是否有数据,如果有返回true
-    default Boolean checkDataWithin7Day(Long userId, Long jobId) {
+    default Boolean checkDataWithin7Day(Long userId,Long jobFairId, Long jobId) {
         return selectCount(new LambdaQueryWrapperX<JobCvRelDO>()
                 .eq(JobCvRelDO::getUserId, userId)
+                .eqIfPresent(JobCvRelDO::getJobFairId, jobFairId)
                 .eq(JobCvRelDO::getJobId, jobId)
                 .ge(JobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(7))) > 0;
     }

+ 4 - 17
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairServiceImpl.java

@@ -43,7 +43,6 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -413,22 +412,10 @@ public class FairServiceImpl implements FairService {
         PageResult<JobFairEnterpriseRespVO> result = fairDetailMapper.selectJobFairEnterprisePage(reqVO);
         result.getList().forEach(item -> {
             // 查询招聘会职位
-            List<FairDetailDO> fairDetailList =
-                    fairDetailMapper.selectByJobFairIdAndEnterpriseIdList(item.getJobFairId(), item.getId());
-            if (ObjectUtil.isEmpty(fairDetailList)) {
-                return;
-            }
-            // 取出最新的5个职位
-            List<Long> jobIdList = fairDetailList.stream()
-                    .sorted(Comparator.comparing(FairDetailDO::getUpdateTime).reversed())
-                    .limit(5)
-                    .map(FairDetailDO::getJobId).collect(Collectors.toList());
-            if (ObjectUtil.isNotEmpty(jobIdList)) {
-                // 赋值
-                item.setLastJobTop5(jobAdvertisedMapper.selectByJobId(jobIdList));
-                item.setJobCount((long) fairDetailList.size());
-            }
-
+            long count =
+                    fairDetailMapper.selectCountByJobFairIdAndEnterpriseIdList(item.getJobFairId(), item.getId());
+            // 赋值
+            item.setJobCount(count);
         });
         return result;
     }

+ 9 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java

@@ -94,6 +94,15 @@ public interface JobCvRelService {
      */
     boolean checkSend(Long jobId);
 
+    /**
+     * 效验是否投递了该职位
+     *
+     * @param jobFairId 招聘会id
+     * @param jobId 职位id
+     */
+    boolean checkSend(Long jobFairId,Long jobId);
+
+
     /**
      * 撤回投递的简历(未查看才可撤回)
      *

+ 15 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java

@@ -44,8 +44,8 @@ import java.util.stream.Collectors;
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY3;
 import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-import static com.citu.module.menduner.common.util.TimeUtils.generateDateTimeRange;
 import static com.citu.module.menduner.common.CommonConstants.*;
+import static com.citu.module.menduner.common.util.TimeUtils.generateDateTimeRange;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
 import static com.citu.module.menduner.system.util.RecruitAnalysisUtils.packBarCount;
 
@@ -136,7 +136,7 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         }
         Long userId = LoginUserContext.getUserId();
         // 效验某段时间是否投递过
-        if (jobCvRelMapper.checkDataWithin7Day(userId, reqVO.getJobId())) {
+        if (jobCvRelMapper.checkDataWithin7Day(userId, reqVO.getJobFairId(), reqVO.getJobId())) {
             throw exception(JOB_CV_REL_EXISTS);
         }
         // 赋值
@@ -169,7 +169,7 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         if (null != userId) {
             // 登录效验
             // 效验某段时间是否投递过
-            if (jobCvRelMapper.checkDataWithin7Day(userId, reqVO.getJobId())) {
+            if (jobCvRelMapper.checkDataWithin7Day(userId, reqVO.getJobFairId(), reqVO.getJobId())) {
                 throw exception(JOB_CV_REL_EXISTS);
             }
         }
@@ -203,7 +203,18 @@ public class JobCvRelServiceImpl implements JobCvRelService {
             return false;
         }
         // 效验某段时间是否投递过
-        return jobCvRelMapper.checkDataWithin7Day(userId, jobId);
+        return jobCvRelMapper.checkDataWithin7Day(userId, null, jobId);
+    }
+
+    @Override
+    public boolean checkSend(Long jobFairId, Long jobId) {
+        Long userId = getLoginUserId();
+        if (null == userId) {
+            // 没登录
+            return false;
+        }
+        // 效验某段时间是否投递过
+        return jobCvRelMapper.checkDataWithin7Day(userId, jobFairId, jobId);
     }
 
     @Override