添加求职助手任务列表
This commit is contained in:
@@ -4,11 +4,7 @@ import lombok.AllArgsConstructor;
|
||||
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.JobFavoriteQueryParam;
|
||||
import org.jiayunet.pojo.param.job.JobQueryParam;
|
||||
import org.jiayunet.pojo.param.job.*;
|
||||
import org.jiayunet.pojo.vo.JobApplyCountVo;
|
||||
import org.jiayunet.pojo.vo.JobFavoriteCountVo;
|
||||
import org.jiayunet.service.JobService;
|
||||
@@ -134,4 +130,13 @@ public class JobController {
|
||||
Long userId = UserSecurityTool.getUserId();
|
||||
return jobService.getApplyCount(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 求职助手任务列表(tab=1 进行中/待投递,tab=2 已完成)
|
||||
*/
|
||||
@PostMapping("/agent/task/list")
|
||||
public PageResult<JobDto> listAgentTasks(@Validated @RequestBody JobAgentTaskQueryParam param) {
|
||||
Long userId = UserSecurityTool.getUserId();
|
||||
return jobService.listAgentTasks(param, userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.jiayunet.pojo.param.job;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.jiayunet.pojo.PageParam;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 求职助手任务列表查询参数
|
||||
*
|
||||
* @author zk
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class JobAgentTaskQueryParam extends PageParam {
|
||||
|
||||
/** tab类型 1=进行中(待投递) 2=已完成(已投递及之后状态) */
|
||||
@NotNull(message = "tab不能为空")
|
||||
@Min(value = 1, message = "tab值范围1-2")
|
||||
@Max(value = 2, message = "tab值范围1-2")
|
||||
private Integer tab;
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import org.jiayunet.pojo.PageResult;
|
||||
import org.jiayunet.pojo.dto.job.JobDetailDto;
|
||||
import org.jiayunet.pojo.dto.job.JobDto;
|
||||
import org.jiayunet.pojo.dto.job.JobMatchScoreDto;
|
||||
import org.jiayunet.pojo.param.job.JobAgentTaskQueryParam;
|
||||
import org.jiayunet.pojo.param.job.JobApplyQueryParam;
|
||||
import org.jiayunet.pojo.param.job.JobFavoriteQueryParam;
|
||||
import org.jiayunet.pojo.param.job.JobQueryParam;
|
||||
@@ -451,6 +452,37 @@ public class JobService {
|
||||
return listJobs(queryParam, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 求职助手任务列表
|
||||
* <p>tab=1 进行中(待投递),tab=2 已完成(已投递及之后状态)</p>
|
||||
*/
|
||||
public PageResult<JobDto> listAgentTasks(JobAgentTaskQueryParam param, Long userId) {
|
||||
// 1. 分页查询投递记录
|
||||
Page<UserJobApplication> appPage = new Page<>(param.getPageNum(), param.getPageSize());
|
||||
LambdaQueryWrapper<UserJobApplication> wrapper = new LambdaQueryWrapper<UserJobApplication>().eq(UserJobApplication::getUserId, userId);
|
||||
if (param.getTab() == 1) {
|
||||
wrapper.in(UserJobApplication::getStatus, -1).orderByDesc(UserJobApplication::getCreateTime);
|
||||
} else {
|
||||
wrapper.in(UserJobApplication::getStatus, 0, 1, 2, 3, 4).orderByDesc(UserJobApplication::getApplyTime);
|
||||
}
|
||||
Page<UserJobApplication> applications = userJobApplicationMapper.selectPage(appPage, wrapper);
|
||||
|
||||
// 2. 提取 jobId 列表
|
||||
List<Long> jobIds = applications.getRecords().stream().map(UserJobApplication::getJobId).collect(Collectors.toList());
|
||||
if (jobIds.isEmpty()) {
|
||||
return new PageResult<>(param.getPageNum().longValue(), param.getPageSize().longValue(), 0L, Collections.emptyList());
|
||||
}
|
||||
|
||||
// 3. 构造查询参数,复用岗位列表逻辑
|
||||
JobQueryParam queryParam = new JobQueryParam();
|
||||
queryParam.setPageNum(param.getPageNum());
|
||||
queryParam.setPageSize(param.getPageSize());
|
||||
queryParam.setJobIds(jobIds);
|
||||
queryParam.setStatusFilter(Arrays.asList(0, 1, 2));
|
||||
|
||||
return listJobs(queryParam, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 投递岗位
|
||||
* <p>方法逻辑流程:</p>
|
||||
|
||||
Reference in New Issue
Block a user