添加 根据岗位来源地址查询岗位信息

This commit is contained in:
zk
2026-04-30 15:33:33 +08:00
parent 59fa37c681
commit e8f3eb0972
2 changed files with 38 additions and 0 deletions
@@ -169,4 +169,19 @@ public class JobController {
Long userId = UserSecurityTool.getUserId(); Long userId = UserSecurityTool.getUserId();
return jobService.recommendJobs(param, userId); return jobService.recommendJobs(param, userId);
} }
/**
* 根据岗位来源地址查询岗位信息
* <p>通过岗位的原始链接(如招聘网站URL)查询对应的岗位信息</p>
*/
@GetMapping("/findByUrl")
public JobDto findJobBySourceUrl(@RequestParam String sourceUrl) {
Long userId = 0L;
try {
userId = UserSecurityTool.getUserId();
} catch (Exception e) {
// 接口允许不登录,不处理
}
return jobService.findJobBySourceUrl(sourceUrl, userId);
}
} }
@@ -719,4 +719,27 @@ public class JobService {
} }
} }
/**
* 根据岗位来源地址查询岗位信息
* <p>1. 通过 sourceUrl 查询岗位ID</p>
* <p>2. 复用 listJobs 查询岗位详情</p>
*/
public JobDto findJobBySourceUrl(String sourceUrl, Long userId) {
// 1. 通过 sourceUrl 查询岗位
Job job = jobMapper.selectOne(new LambdaQueryWrapper<Job>().eq(Job::getSourceUrl, sourceUrl).select(Job::getId).last("LIMIT 1"));
if (job == null) {
return null;
}
// 2. 复用 listJobs 查询
JobQueryParam queryParam = new JobQueryParam();
queryParam.setPageNum(1);
queryParam.setPageSize(1);
queryParam.setJobIds(Collections.singletonList(job.getId()));
queryParam.setStatusFilter(Arrays.asList(0, 1, 2));
PageResult<JobDto> result = listJobs(queryParam, userId);
return result.getList().isEmpty() ? null : result.getList().get(0);
}
} }