From 13520a6e39966b9372f858a949475aeb559bf295 Mon Sep 17 00:00:00 2001 From: zk Date: Fri, 20 Mar 2026 15:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .kiro/steering/项目结构说明.md | 15 +++++-- .../controller/UserProfileController.java | 39 ++++++++++++++++++- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/.kiro/steering/项目结构说明.md b/.kiro/steering/项目结构说明.md index 9a792d0..bf01f3e 100644 --- a/.kiro/steering/项目结构说明.md +++ b/.kiro/steering/项目结构说明.md @@ -22,20 +22,24 @@ offerpie/back-end │ ├─ controller/ │ │ ├─ LoginController.java # 登录相关接口(发送验证码、短信登录) │ │ ├─ RouteMenuController.java # 路由菜单接口(获取用户有效菜单树) -│ │ └─ UserProfileController.java # 用户个人资料接口(主表+5张子表的查询与保存) +│ │ ├─ UserProfileController.java # 用户个人资料接口(主表+5张子表的查询与保存) +│ │ └─ JobIntentionController.java # 求职意向接口(查询与保存) │ ├─ service/ │ │ ├─ LoginService.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置) │ │ ├─ UserRegisterService.java # 用户注册服务(注册逻辑、邀请码生成与绑定) │ │ ├─ FuncPermissionService.java # 功能权限服务(校验、扣减、查询、添加库存、回退) │ │ ├─ RouteMenuService.java # 路由菜单服务(查询、添加库存、获取用户菜单树) │ │ ├─ UserProfileService.java # 用户个人资料服务(主表+5张子表的CRUD) +│ │ ├─ JobIntentionService.java # 求职意向服务(查询与保存/更新) │ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现 │ └─ pojo/ │ ├─ param/ -│ │ └─ userProfile/ # 个人资料入参(UserProfileParam、各子表Param) +│ │ ├─ userProfile/ # 个人资料入参(UserProfileParam、各子表Param) +│ │ └─ job/ # 岗位相关入参(JobIntentionParam) │ ├─ dto/ │ │ ├─ SmsLoginDto.java # 短信登录入参(mobileNumber + code + inviteCode) -│ │ └─ userProfile/ # 个人资料出参(UserProfileDto、各子表Dto) +│ │ ├─ userProfile/ # 个人资料出参(UserProfileDto、各子表Dto) +│ │ └─ job/ # 岗位相关出参(JobIntentionDto) │ └─ vo/ │ ├─ LoginVo.java # 登录返回(userId + nick) │ └─ RouteMenuVo.java # 路由菜单树形VO(含children子菜单) @@ -60,7 +64,10 @@ offerpie/back-end └─ src/main/java └─ org.jiayunet ├─ constant/ # 常量枚举(OSS路径、短信模板等) - ├─ controller/ # 对外 REST 接口(HealthCheck、Oss 等) + ├─ controller/ # 对外 REST 接口(HealthCheck、Oss、字典查询等) + │ ├─ RegionController.java # 地区接口(树形/层级/搜索/批量查询) + │ ├─ JobCategoryController.java # 岗位分类接口(树形/层级/搜索/批量查询) + │ └─ IndustryController.java # 行业接口(树形/层级/搜索/批量查询) ├─ mapper/ # MyBatis Mapper │ ├─ UserMapper.java │ ├─ OssFileMapper.java diff --git a/client-api/src/main/java/org/jiayunet/controller/UserProfileController.java b/client-api/src/main/java/org/jiayunet/controller/UserProfileController.java index fb01e19..9a791a5 100644 --- a/client-api/src/main/java/org/jiayunet/controller/UserProfileController.java +++ b/client-api/src/main/java/org/jiayunet/controller/UserProfileController.java @@ -14,7 +14,8 @@ import java.util.List; import java.util.stream.Collectors; /** - * 用户个人资料控制类 + * 用户个人资料接口 + * 提供主表及5张子表(教育/工作/实习/项目/竞赛)的查询与保存功能 * * @author zk */ @@ -28,6 +29,9 @@ public class UserProfileController { // ==================== 主表 ==================== + /** + * 查询当前用户的个人资料主表 + */ @GetMapping public UserProfileDto getProfile() { UserProfile po = userProfileService.getProfile(); @@ -39,6 +43,9 @@ public class UserProfileController { return dto; } + /** + * 保存/更新当前用户的个人资料主表 + */ @PostMapping public void saveProfile(@Validated @RequestBody UserProfileParam param) { UserProfile po = new UserProfile(); @@ -48,6 +55,9 @@ public class UserProfileController { // ==================== 教育经历 ==================== + /** + * 查询当前用户的教育经历列表 + */ @GetMapping("/education") public List listEducation() { return userProfileService.listEducation().stream().map(po -> { @@ -57,6 +67,9 @@ public class UserProfileController { }).collect(Collectors.toList()); } + /** + * 保存当前用户的教育经历列表(全量替换) + */ @PostMapping("/education") public void saveEducation(@Validated @RequestBody List<@Valid UserProfileEducationParam> params) { List list = params.stream().map(p -> { @@ -69,6 +82,9 @@ public class UserProfileController { // ==================== 工作经历 ==================== + /** + * 查询当前用户的工作经历列表 + */ @GetMapping("/work") public List listWork() { return userProfileService.listWork().stream().map(po -> { @@ -78,6 +94,9 @@ public class UserProfileController { }).collect(Collectors.toList()); } + /** + * 保存当前用户的工作经历列表(全量替换) + */ @PostMapping("/work") public void saveWork(@Validated @RequestBody List<@Valid UserProfileWorkParam> params) { List list = params.stream().map(p -> { @@ -90,6 +109,9 @@ public class UserProfileController { // ==================== 实习经历 ==================== + /** + * 查询当前用户的实习经历列表 + */ @GetMapping("/internship") public List listInternship() { return userProfileService.listInternship().stream().map(po -> { @@ -99,6 +121,9 @@ public class UserProfileController { }).collect(Collectors.toList()); } + /** + * 保存当前用户的实习经历列表(全量替换) + */ @PostMapping("/internship") public void saveInternship(@Validated @RequestBody List<@Valid UserProfileInternshipParam> params) { List list = params.stream().map(p -> { @@ -111,6 +136,9 @@ public class UserProfileController { // ==================== 项目经历 ==================== + /** + * 查询当前用户的项目经历列表 + */ @GetMapping("/project") public List listProject() { return userProfileService.listProject().stream().map(po -> { @@ -120,6 +148,9 @@ public class UserProfileController { }).collect(Collectors.toList()); } + /** + * 保存当前用户的项目经历列表(全量替换) + */ @PostMapping("/project") public void saveProject(@Validated @RequestBody List<@Valid UserProfileProjectParam> params) { List list = params.stream().map(p -> { @@ -132,6 +163,9 @@ public class UserProfileController { // ==================== 竞赛经历 ==================== + /** + * 查询当前用户的竞赛经历列表 + */ @GetMapping("/competition") public List listCompetition() { return userProfileService.listCompetition().stream().map(po -> { @@ -141,6 +175,9 @@ public class UserProfileController { }).collect(Collectors.toList()); } + /** + * 保存当前用户的竞赛经历列表(全量替换) + */ @PostMapping("/competition") public void saveCompetition(@Validated @RequestBody List<@Valid UserProfileCompetitionParam> params) { List list = params.stream().map(p -> {