添加求职助手任务列表
This commit is contained in:
@@ -4,11 +4,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import org.jiayunet.pojo.PageResult;
|
import org.jiayunet.pojo.PageResult;
|
||||||
import org.jiayunet.pojo.dto.job.JobDetailDto;
|
import org.jiayunet.pojo.dto.job.JobDetailDto;
|
||||||
import org.jiayunet.pojo.dto.job.JobDto;
|
import org.jiayunet.pojo.dto.job.JobDto;
|
||||||
import org.jiayunet.pojo.param.job.JobApplyParam;
|
import org.jiayunet.pojo.param.job.*;
|
||||||
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.vo.JobApplyCountVo;
|
import org.jiayunet.pojo.vo.JobApplyCountVo;
|
||||||
import org.jiayunet.pojo.vo.JobFavoriteCountVo;
|
import org.jiayunet.pojo.vo.JobFavoriteCountVo;
|
||||||
import org.jiayunet.service.JobService;
|
import org.jiayunet.service.JobService;
|
||||||
@@ -134,4 +130,13 @@ public class JobController {
|
|||||||
Long userId = UserSecurityTool.getUserId();
|
Long userId = UserSecurityTool.getUserId();
|
||||||
return jobService.getApplyCount(userId);
|
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.JobDetailDto;
|
||||||
import org.jiayunet.pojo.dto.job.JobDto;
|
import org.jiayunet.pojo.dto.job.JobDto;
|
||||||
import org.jiayunet.pojo.dto.job.JobMatchScoreDto;
|
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.JobApplyQueryParam;
|
||||||
import org.jiayunet.pojo.param.job.JobFavoriteQueryParam;
|
import org.jiayunet.pojo.param.job.JobFavoriteQueryParam;
|
||||||
import org.jiayunet.pojo.param.job.JobQueryParam;
|
import org.jiayunet.pojo.param.job.JobQueryParam;
|
||||||
@@ -451,6 +452,37 @@ public class JobService {
|
|||||||
return listJobs(queryParam, userId);
|
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>
|
* <p>方法逻辑流程:</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user