diff --git a/client-api/src/main/java/org/jiayunet/controller/JobController.java b/client-api/src/main/java/org/jiayunet/controller/JobController.java index 52c7700..fa1864b 100644 --- a/client-api/src/main/java/org/jiayunet/controller/JobController.java +++ b/client-api/src/main/java/org/jiayunet/controller/JobController.java @@ -5,6 +5,7 @@ import org.jiayunet.pojo.PageParam; import org.jiayunet.pojo.PageResult; import org.jiayunet.pojo.dto.job.JobDetailDto; import org.jiayunet.pojo.dto.job.JobDto; +import org.jiayunet.pojo.param.job.JobApplyParam; import org.jiayunet.pojo.param.job.JobApplyQueryParam; import org.jiayunet.pojo.param.job.JobDislikeParam; import org.jiayunet.pojo.param.job.JobQueryParam; @@ -19,7 +20,7 @@ import org.springframework.web.bind.annotation.*; * @author zk */ @RestController -@RequestMapping("/job") +@RequestMapping("/api/job") @AllArgsConstructor public class JobController { @@ -89,4 +90,13 @@ public class JobController { Long userId = UserSecurityTool.getUserId(); return jobService.listApplications(param, userId); } + + /** + * 投递岗位 + */ + @PostMapping("/apply") + public void applyJob(@Validated @RequestBody JobApplyParam param) { + Long userId = UserSecurityTool.getUserId(); + jobService.applyJob(param.getJobId(), param.getStatus(), userId); + } } diff --git a/client-api/src/main/java/org/jiayunet/pojo/param/job/JobApplyParam.java b/client-api/src/main/java/org/jiayunet/pojo/param/job/JobApplyParam.java new file mode 100644 index 0000000..49768a9 --- /dev/null +++ b/client-api/src/main/java/org/jiayunet/pojo/param/job/JobApplyParam.java @@ -0,0 +1,26 @@ +package org.jiayunet.pojo.param.job; + +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * 投递岗位参数 + * + * @author zk + */ +@Data +public class JobApplyParam { + + /** 岗位ID */ + @NotNull(message = "岗位ID不能为空") + private Long jobId; + + /** 投递状态 0=已投递 1=面试中 2=有Offer 3=未通过 4=已结束 */ + @NotNull(message = "投递状态不能为空") + @Min(value = 0, message = "投递状态值范围0-4") + @Max(value = 4, message = "投递状态值范围0-4") + private Integer status; +} diff --git a/client-api/src/main/java/org/jiayunet/service/JobService.java b/client-api/src/main/java/org/jiayunet/service/JobService.java index 45bb2f0..a4052be 100644 --- a/client-api/src/main/java/org/jiayunet/service/JobService.java +++ b/client-api/src/main/java/org/jiayunet/service/JobService.java @@ -429,4 +429,36 @@ public class JobService { return listJobs(queryParam, userId); } + + /** + * 投递岗位 + *
方法逻辑流程:
+ *1. 查询岗位信息(校验存在性)
+ *2. 检查是否已投递(已投递则更新状态)
+ *3. 插入或更新投递记录
+ */ + public void applyJob(Long jobId, Integer status, Long userId) { + // 1. 查询岗位 + Job job = jobMapper.selectOne(new LambdaQueryWrapper