فهرست منبع

1、增加众聘接口投递

rayson 1 سال پیش
والد
کامیت
eebe16687e

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/hire/AppHireJobCvRelController.java

@@ -5,6 +5,7 @@ import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelQueryReqVO;
+import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.appadmin.hire.vo.AppAdminHireJobCvRelPageReqVO;
@@ -50,10 +51,9 @@ public class AppHireJobCvRelController {
     }
 
     @PostMapping("/send")
-    @PreAuthenticated
     @Operation(summary = "投递简历")
-    public CommonResult<Boolean> send(@Valid @RequestBody AppJobCvRelReqVO reqVO) {
-//        jobCvRelService.send(reqVO);
+    public CommonResult<Boolean> send(@Valid @RequestBody AppHireJobCvRelReqVO reqVO) {
+        service.send(reqVO);
         return success(true);
     }
 

+ 12 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/hire/vo/AppHireJobCvRelReqVO.java

@@ -10,12 +10,23 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppHireJobCvRelReqVO {
 
-    @Schema(description = "发布的职位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19402")
+    @Schema(description = "发布的职位id")
     @NotNull(message = "{1_100_036_002}")
     private Long jobId;
 
+    @Schema(description = "推荐人")
+    private Long recommendUserId;
+
     @Schema(description = "简历附件地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
     @NotEmpty(message = "{1_100_036_008}")
     private String url;
 
+    // ========== 不登录情况下填 ==========
+
+    @Schema(description = "姓名")
+    private String name;
+
+    @Schema(description = "手机号")
+    private String phone;
+
 }

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

@@ -15,9 +15,11 @@ import com.citu.module.menduner.system.controller.base.hire.HireJobCvRelPageReqV
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.hire.HireJobCvRelDO;
 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.person.PersonInfoDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -110,4 +112,12 @@ public interface HireJobCvRelMapper extends BaseMapperX<HireJobCvRelDO> {
         return selectList(HireJobCvRelDO::getRecommendUserId, userId);
     }
 
+    // 根据用户ID和职位id判断15天内是否有数据,如果有返回true
+    default Boolean checkDataWithin15Day(Long userId, Long jobId) {
+        return selectCount(new LambdaQueryWrapperX<HireJobCvRelDO>()
+                .eq(HireJobCvRelDO::getUserId, userId)
+                .eq(HireJobCvRelDO::getJobId, jobId)
+                .ge(HireJobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(15))) > 0;
+    }
+
 }

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireJobCvRelService.java

@@ -4,6 +4,7 @@ package com.citu.module.menduner.system.service.hire;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelQueryReqVO;
+import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.base.hire.HireJobCvRelPageReqVO;
@@ -74,6 +75,13 @@ public interface HireJobCvRelService {
      * @return 众聘-简历投递分页
      */
     PageResult<AppHireJobCvRelRespVO> page(AppHireJobCvRelQueryReqVO reqVO);
+    /**
+     * 众聘-简历投递
+     *
+     * @param reqVO 分页查询
+     * @return 众聘-简历投递分页
+     */
+    void send(AppHireJobCvRelReqVO reqVO);
 
     // ========== 招聘端 ==========
 

+ 37 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireJobCvRelServiceImpl.java

@@ -6,14 +6,18 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.common.util.LoginUserContext;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelQueryReqVO;
+import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.base.hire.HireJobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.base.hire.HireJobCvRelSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.hire.HireJobCvRelDO;
 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.hire.HireJobCvRelMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
+import com.citu.module.menduner.system.enums.MendunerStatusEnum;
+import com.citu.module.menduner.system.enums.cv.JobCvRelStatusEnum;
 import com.citu.module.menduner.system.enums.hire.HireJobCvRelStatusEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -26,7 +30,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.HIRE_JOB_CV_REL_NOT_EXISTS;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
 
 /**
  * 众聘-简历投递 Service 实现类
@@ -40,6 +44,8 @@ public class HireJobCvRelServiceImpl implements HireJobCvRelService {
     @Resource
     private HireJobCvRelMapper hireJobCvRelMapper;
 
+    @Resource
+    private JobAdvertisedMapper jobAdvertisedMapper;
 
     @Override
     public Long createHireJobCvRel(HireJobCvRelSaveReqVO createReqVO) {
@@ -110,6 +116,36 @@ public class HireJobCvRelServiceImpl implements HireJobCvRelService {
         return hireJobCvRelMapper.page(reqVO,LoginUserContext.getUserId());
     }
 
+    @Override
+    @DSTransactional
+    public void send(AppHireJobCvRelReqVO reqVO) {
+        // 效验职位是否关闭
+        JobAdvertisedDO job = jobAdvertisedMapper.selectById(reqVO.getJobId());
+        if (MendunerStatusEnum.DISABLE.getStatus().equals(job.getStatus())) {
+            throw exception(JOB_CV_REL_JOB_STOP_DELIVERY);
+        }
+
+        Long userId = LoginUserContext.getUserId2();
+        if(null!= userId) {
+            // 登录效验
+            // 效验某段时间是否投递过
+            if (hireJobCvRelMapper.checkDataWithin15Day(userId, reqVO.getJobId())) {
+                throw exception(JOB_CV_REL_EXISTS);
+            }
+        }
+
+        HireJobCvRelDO cvRelDO = BeanUtils.toBean(reqVO, HireJobCvRelDO.class);
+        if(null!= userId) {
+            cvRelDO.setUserId(userId);
+        }
+        cvRelDO.setEnterpriseId(job.getEnterpriseId());
+        cvRelDO.setStatus(JobCvRelStatusEnum.NEW.getStatus());
+        // 保存
+        hireJobCvRelMapper.insert(cvRelDO);
+
+
+    }
+
     @Override
     @DSTransactional
     public boolean look(Long id) {

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

@@ -100,8 +100,7 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         jobCvRel.setUserId(userId);
         jobCvRel.setPublishUserId(job.getUserId());
         jobCvRel.setEnterpriseId(job.getEnterpriseId());
-        // 暂时不知道有什么状态
-        jobCvRel.setStatus(MendunerStatusEnum.ENABLE.getStatus());
+        jobCvRel.setStatus(JobCvRelStatusEnum.NEW.getStatus());
         // 保存
         jobCvRelMapper.insert(jobCvRel);
     }