Ver Fonte

1、优化招聘会字段

rayson há 4 meses atrás
pai
commit
5a4db34eb5

+ 3 - 1
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -403,9 +403,11 @@ public interface ErrorCodeConstants {
     ErrorCode JOB_CV_REL_URL_NOT_NULL = new ErrorCode(1_100_035_008, "简历附件地址不能为空");
     ErrorCode JOB_CV_REL_STATUS_NOT_NULL = new ErrorCode(1_100_035_009, "投递的简历状态不能为空");
 
-
     ErrorCode JOB_CV_REL_STATUS_NOT_REVOKE = new ErrorCode(1_100_035_010, "简历已被查看,无法撤回");
 
+    ErrorCode JOB_CV_REL_DELIVERY_LIMIT = new ErrorCode(1_100_035_011, "您在当前招聘会的投递次数使用完,您可以前往其他招聘会投递");
+
+
     // ========== 众聘-简历投递 1_100_036_000 ==========
     ErrorCode HIRE_JOB_CV_REL_NOT_EXISTS = new ErrorCode(1_100_036_001, "投递简历不存在");
     ErrorCode HIRE_JOB_CV_REL_JOB_ID_NOT_NULL = new ErrorCode(1_100_036_002, "发布的职位id不能为空");

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

@@ -14,6 +14,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdver
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobCvLookRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
+import com.citu.module.menduner.system.controller.base.job.cv.JobCvRelDetailRespVO;
 import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.service.job.JobCvRelService;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
@@ -45,12 +46,10 @@ public class AppJobCvRelController {
     @GetMapping("/page")
     @PreAuthenticated
     @Operation(summary = "获取投递的职位分页")
-    public CommonResult<PageResult<AppJobAdvertisedRespVO>> getJobCvPage(@Valid PageParam page) {
+    public CommonResult<PageResult<JobCvRelDetailRespVO>> getJobCvPage(@Valid PageParam page) {
         // 获取已投递的职位
         Long userId = LoginUserContext.getUserId();
-        PageResult<AppJobAdvertisedRespVO> result =
-                JobAdvertisedConvert.INSTANCE.convertPage(jobIntegrationService.getJobCvPage(page,userId));
-        return success(result);
+        return success(jobIntegrationService.getJobCvPage(page,userId));
     }
 
     @GetMapping("/look/page")

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

@@ -3,9 +3,12 @@ package com.citu.module.menduner.system.controller.app.jobhunt.job.vo;
 import com.citu.module.menduner.system.controller.base.contact.EnterpriseUserContactRespVO;
 import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
 import com.citu.module.menduner.system.controller.base.job.JobAdvertisedSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.job.cv.JobCvRelRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.annotation.Resource;
+
 @Schema(description = "menduner - 职位 Response VO")
 @Data
 public class AppJobAdvertisedRespVO {

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

@@ -98,6 +98,10 @@ public class JobFairRespVO {
     @ExcelProperty("结束时间")
     private LocalDateTime endTime;
 
+    @Schema(description = "求职者简历允许投递数量")
+    @ExcelProperty("求职者简历允许投递数量")
+    private Integer cvRelNum;
+
     @Schema(description = "状态(0正常 1停用)")
     @ExcelProperty("状态(0正常 1停用)")
     private String status;

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

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.controller.base.fair;
 
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairTagContent;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -81,6 +82,9 @@ public class JobFairSaveReqVO {
     @NotNull(message = "结束时间不能为空")
     private LocalDateTime endTime;
 
+    @Schema(description = "求职者简历允许投递数量")
+    private Integer cvRelNum;
+
     @Schema(description = "状态(0正常 1停用)")
     private String status;
 

+ 6 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/fair/FairDO.java

@@ -1,10 +1,7 @@
 package com.citu.module.menduner.system.dal.dataobject.fair;
 
 
-import com.baomidou.mybatisplus.annotation.KeySequence;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.citu.framework.tenant.core.db.TenantBaseDO;
 import lombok.*;
@@ -115,6 +112,11 @@ public class FairDO extends TenantBaseDO {
      * 结束时间
      */
     private LocalDateTime endTime;
+    /**
+     * 求职者简历允许投递数量
+     */
+    @TableField( updateStrategy = FieldStrategy.ALWAYS)
+    private Integer cvRelNum;
     /**
      * 状态 0开启 1关闭
      */

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

@@ -236,6 +236,16 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         return selectJoinPage(pageParam, JobCvRelDO.class, wrapper);
     }
 
+    /**
+     * 获取用户在某个招聘会的投递简历数量
+     **/
+    default Long getJobCvSendCount(Long userId, Long jobFairId) {
+        return selectCount(new LambdaQueryWrapperX<JobCvRelDO>()
+                .eq(JobCvRelDO::getUserId, userId)
+                .eq(JobCvRelDO::getJobFairId, jobFairId)
+        );
+    }
+
     // ========== 统计 ==========
 
     /**

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

@@ -112,7 +112,6 @@ public interface JobCvRelService {
      */
     boolean checkSend(Long jobFairId,Long jobId);
 
-
     /**
      * 撤回投递的简历(未查看才可撤回)
      *

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

@@ -19,6 +19,7 @@ import com.citu.module.menduner.system.controller.base.analysis.RecruitJobCvRelA
 import com.citu.module.menduner.system.controller.base.job.cv.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.base.job.cv.JobCvRelSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
 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.mysql.job.JobCvRelMapper;
@@ -28,6 +29,7 @@ import com.citu.module.menduner.system.enums.eduexp.EducationTypeEnum;
 import com.citu.module.menduner.system.enums.person.PersonSexEnum;
 import com.citu.module.menduner.system.enums.workexp.ExpTypeEnum;
 import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
+import com.citu.module.menduner.system.service.fair.FairService;
 import com.citu.module.menduner.system.util.MessageUtils;
 import com.citu.module.system.api.social.dto.SocialWxaSubscribeMessageSendReqDTO;
 import org.springframework.stereotype.Service;
@@ -67,6 +69,9 @@ public class JobCvRelServiceImpl implements JobCvRelService {
     @Resource
     private EnterpriseService enterpriseService;
 
+    @Resource
+    private FairService fairService;
+
     @Resource
     private MessageUtils messageUtils;
 
@@ -144,6 +149,17 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         if (jobCvRelMapper.checkDataWithin7Day(userId, reqVO.getJobFairId(), reqVO.getJobId())) {
             throw exception(JOB_CV_REL_EXISTS);
         }
+        if (null != reqVO.getJobFairId()) {
+            // 招聘会投递
+            FairDO fair = fairService.getJobFair(reqVO.getJobFairId());
+            if (null != fair.getCvRelNum()) {
+                Long count = jobCvRelMapper.getJobCvSendCount(userId, reqVO.getJobFairId());
+                // 对比次数有没有超过
+                if (count + 1 > fair.getCvRelNum()) {
+                    throw exception(JOB_CV_REL_DELIVERY_LIMIT);
+                }
+            }
+        }
         // 赋值
         JobCvRelDO jobCvRel = BeanUtils.toBean(reqVO, JobCvRelDO.class);
         jobCvRel.setUserId(userId);

+ 1 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_GB.properties

@@ -288,6 +288,7 @@
 1_100_035_008=Resume attachment address cannot be empty
 1_100_035_009=Resume status submitted cannot be empty
 1_100_035_010=Resume has been viewed and cannot be retracted
+1_100_035_011=You have used up the number of submissions at the current job fair, you can go to other job fairs to submit
 # ========== 众聘-简历投递 1_100_036_000 ==========
 1_100_036_001=The submitted resume does not exist
 1_100_036_002=The posted position ID cannot be empty

+ 1 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -293,6 +293,7 @@
 1_100_035_008=Resume attachment address cannot be empty
 1_100_035_009=Resume status submitted cannot be empty
 1_100_035_010=Resume has been viewed and cannot be retracted
+1_100_035_011=You have used up the number of submissions at the current job fair, you can go to other job fairs to submit
 # ========== 众聘-简历投递 1_100_036_000 ==========
 1_100_036_001=The submitted resume does not exist
 1_100_036_002=The posted position ID cannot be empty

+ 1 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -294,6 +294,7 @@
 1_100_035_008=简历附件地址不能为空
 1_100_035_009=投递的简历状态不能为空
 1_100_035_010=简历已被查看,无法撤回
+1_100_035_011=您在当前招聘会的投递次数使用完,您可以前往其他招聘会投递
 # ========== 众聘-简历投递 1_100_036_000 ==========
 1_100_036_001=投递简历不存在
 1_100_036_002=发布的职位id不能为空