From 0f06bb0db8027bda55f81e8b54ab8141b818687f Mon Sep 17 00:00:00 2001 From: zk Date: Sat, 21 Mar 2026 16:57:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BE=E5=BC=80=E9=83=A8=E5=88=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jiayunet/controller/JobController.java | 37 +++++++++++++------ .../java/org/jiayunet/service/JobService.java | 4 ++ .../src/main/resources/application-local.yml | 2 +- 3 files changed, 31 insertions(+), 12 deletions(-) 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 5dd32a8..5972310 100644 --- a/client-api/src/main/java/org/jiayunet/controller/JobController.java +++ b/client-api/src/main/java/org/jiayunet/controller/JobController.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*; * @author zk */ @RestController -@RequestMapping("/api/job") +@RequestMapping("/job") @AllArgsConstructor public class JobController { @@ -34,7 +34,15 @@ public class JobController { */ @PostMapping("/list") public PageResult listJobs(@Validated @RequestBody JobQueryParam param) { - Long userId = UserSecurityTool.getUserId(); + + Long userId = 0L; + try { + userId = UserSecurityTool.getUserId(); + }catch (Exception e) { + // 接口允许不登录,不处理 + } + + return jobService.listJobs(param, userId); } @@ -42,17 +50,24 @@ public class JobController { * 岗位详情 *

返回岗位完整信息、公司信息、匹配度、收藏状态

*/ - @GetMapping("/{jobId}") - public JobDetailDto getJobDetail(@PathVariable Long jobId) { - Long userId = UserSecurityTool.getUserId(); + @GetMapping("/detail") + public JobDetailDto getJobDetail(@RequestParam Long jobId) { + + Long userId = 0L; + try { + userId = UserSecurityTool.getUserId(); + }catch (Exception e) { + // 接口允许不登录,不处理 + } + return jobService.getJobDetail(jobId, userId); } /** * 收藏岗位 */ - @PostMapping("/{jobId}/favorite") - public void favoriteJob(@PathVariable Long jobId) { + @PostMapping("/favorite") + public void favoriteJob(@RequestParam Long jobId) { Long userId = UserSecurityTool.getUserId(); jobService.favoriteJob(jobId, userId); } @@ -60,8 +75,8 @@ public class JobController { /** * 取消收藏岗位 */ - @DeleteMapping("/{jobId}/favorite") - public void unfavoriteJob(@PathVariable Long jobId) { + @DeleteMapping("/favorite") + public void unfavoriteJob(@RequestParam Long jobId) { Long userId = UserSecurityTool.getUserId(); jobService.unfavoriteJob(jobId, userId); } @@ -69,8 +84,8 @@ public class JobController { /** * 标记岗位不感兴趣 */ - @PostMapping("/{jobId}/dislike") - public void dislikeJob(@PathVariable Long jobId, @Validated @RequestBody JobDislikeParam param) { + @PostMapping("/dislike") + public void dislikeJob(@RequestParam Long jobId, @Validated @RequestBody JobDislikeParam param) { Long userId = UserSecurityTool.getUserId(); jobService.dislikeJob(jobId, param.getReason(), userId); } 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 35809af..14bbf18 100644 --- a/client-api/src/main/java/org/jiayunet/service/JobService.java +++ b/client-api/src/main/java/org/jiayunet/service/JobService.java @@ -77,6 +77,10 @@ public class JobService { *

7. 组装返回数据

*/ public PageResult listJobs(JobQueryParam param, Long userId) { + + + + // 默认只查有效岗位 if (param.getStatusFilter() == null) { param.setStatusFilter(Collections.singletonList(0)); diff --git a/client-api/src/main/resources/application-local.yml b/client-api/src/main/resources/application-local.yml index b947f69..05675da 100644 --- a/client-api/src/main/resources/application-local.yml +++ b/client-api/src/main/resources/application-local.yml @@ -73,7 +73,7 @@ app: #开放接口 ignore: - urls: "/public/**" + urls: "/public/**","/job/list","/job/detail" # AI 多供应商配置,第一个为默认 provider # base-url 配到版本路径,如 DeepSeek: https://api.deepseek.com/v1,豆包: https://ark.cn-beijing.volces.com/api/v3