From e0c7c3dc545f28d004e5756d1fa469433d8a2571 Mon Sep 17 00:00:00 2001 From: zk Date: Fri, 24 Apr 2026 16:36:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .kiro/steering/项目结构说明.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.kiro/steering/项目结构说明.md b/.kiro/steering/项目结构说明.md index ad94fb6..77b2438 100644 --- a/.kiro/steering/项目结构说明.md +++ b/.kiro/steering/项目结构说明.md @@ -24,8 +24,9 @@ offerpie/back-end │ │ ├─ RouteMenuController.java # 路由菜单接口(获取用户有效菜单树) │ │ ├─ UserProfileController.java # 用户个人资料接口(主表+5张子表的查询与保存) │ │ ├─ JobIntentionController.java # 求职意向接口(查询与保存) -│ │ ├─ JobController.java # 岗位接口(岗位列表查询) -│ │ └─ UserResumeController.java # 用户简历接口(简历列表、主表及5张子表的查询与保存、子表单条添加/编辑/删除、简历删除) +│ │ ├─ JobController.java # 岗位接口(岗位列表查询、收藏、投递、不感兴趣、求职助手任务列表、AI岗位推荐) +│ │ ├─ JobAgentConfigController.java # 求职助手配置接口(配置查询与保存) +│ │ └─ UserResumeController.java # 用户简历接口(简历列表、主表及5张子表的查询与保存、子表单条添加/编辑/删除、简历删除、设置默认简历) │ ├─ service/ │ │ ├─ LoginService.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置) │ │ ├─ UserRegisterService.java # 用户注册服务(注册逻辑、邀请码生成与绑定) @@ -33,21 +34,25 @@ offerpie/back-end │ │ ├─ RouteMenuService.java # 路由菜单服务(查询、添加库存、获取用户菜单树) │ │ ├─ UserProfileService.java # 用户个人资料服务(主表+5张子表的CRUD) │ │ ├─ JobIntentionService.java # 求职意向服务(查询与保存/更新) -│ │ ├─ JobService.java # 岗位服务(岗位列表查询、匹配度计算编排) -│ │ ├─ UserResumeService.java # 用户简历服务(简历列表、主表及5张子表的CRUD、子表单条添加/编辑/删除) +│ │ ├─ JobService.java # 岗位服务(岗位列表查询、匹配度计算编排、求职助手任务列表、AI岗位推荐) +│ │ ├─ JobAgentConfigService.java # 求职助手配置服务(配置查询与保存) +│ │ ├─ UserResumeService.java # 用户简历服务(简历列表、主表及5张子表的CRUD、子表单条添加/编辑/删除、设置默认简历) │ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现 │ └─ pojo/ │ ├─ param/ │ │ ├─ userProfile/ # 个人资料入参(UserProfileParam、各子表Param) │ │ ├─ resume/ # 简历入参(ResumeParam、各子表Param、各子表UpdateParam、ResumeSubTableParam) -│ │ └─ job/ # 岗位相关入参(JobIntentionParam、JobQueryParam) +│ │ ├─ job/ # 岗位相关入参(JobIntentionParam、JobQueryParam、JobAgentTaskQueryParam、JobAgentRecommendParam) +│ │ └─ jobAgent/ # 求职助手入参(JobAgentConfigParam) │ ├─ dto/ │ │ ├─ SmsLoginDto.java # 短信登录入参(mobileNumber + code + inviteCode) │ │ ├─ userProfile/ # 个人资料出参(UserProfileDto、各子表Dto) │ │ ├─ resume/ # 简历出参(ResumeDto、ResumeListItemDto、各子表Dto) -│ │ └─ job/ # 岗位相关出参(JobIntentionDto、JobDto、JobMatchScoreDto) +│ │ ├─ job/ # 岗位相关出参(JobIntentionDto、JobDto、JobMatchScoreDto、JobAgentRecommendDto) +│ │ └─ jobAgent/ # 求职助手出参(JobAgentConfigDto) │ └─ vo/ │ ├─ LoginVo.java # 登录返回(userId + nick) +│ ├─ LanguageAbility.java # 语言能力对象(求职助手配置JSON字段) │ └─ RouteMenuVo.java # 路由菜单树形VO(含children子菜单) │ ├─ common/ # **共享层**:被 C 端和 B 端共同使用的代码库 @@ -111,6 +116,7 @@ offerpie/back-end │ ├─ UserResumeCompetitionMapper.java # 简历-竞赛经历Mapper │ ├─ ResumeDiagnosisReportMapper.java # 简历诊断报告Mapper │ ├─ ResumeDiagnosisIssueMapper.java # 简历诊断问题Mapper + │ ├─ JobAgentConfigMapper.java # 求职助手配置Mapper │ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper ├─ pojo/ │ ├─ po/ # 持久化实体 @@ -150,6 +156,7 @@ offerpie/back-end │ │ ├─ UserResumeCompetition.java # 简历-竞赛经历表(bg_user_resume_competition) │ │ ├─ ResumeDiagnosisReport.java # 简历诊断报告表(bg_resume_diagnosis_report) │ │ ├─ ResumeDiagnosisIssue.java # 简历诊断问题表(bg_resume_diagnosis_issue) + │ │ ├─ JobAgentConfig.java # 求职助手配置表(bg_job_agent_config) │ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data) │ └─ vo/ # ViewObject(OssUrlVo、DescriptionParagraph、JobListItemVo、UserHonorsVo 等) ├─ resources/mapper/ # MyBatis XML 映射文件 @@ -161,9 +168,9 @@ offerpie/back-end ## 2️⃣ 各层模块职责 | 层级 | 主要职责 | 关键类/包 | |------|----------|-----------| -| **client-api** | - 面向终端用户的 REST API
- 启动 Spring Boot 应用
- 短信验证码登录(含自动注册、邀请码绑定)
- **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退)
- **路由菜单**:获取用户有效菜单树 | `ClientApplication`、`LoginController`、`RouteMenuController`、`FuncPermission`、`FuncPermissionAspect`、`FuncPermissionService`、`RouteMenuService`、`UserRegisterService`、`RouteMenuVo` | +| **client-api** | - 面向终端用户的 REST API
- 启动 Spring Boot 应用
- 短信验证码登录(含自动注册、邀请码绑定)
- **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退)
- **路由菜单**:获取用户有效菜单树
- **求职助手**:配置管理、AI岗位推荐、任务列表 | `ClientApplication`、`LoginController`、`RouteMenuController`、`JobController`、`JobAgentConfigController`、`UserResumeController`、`FuncPermission`、`FuncPermissionAspect`、`FuncPermissionService`、`RouteMenuService`、`JobService`、`JobAgentConfigService`、`UserRegisterService`、`RouteMenuVo` | | **common** | - **统一配置**:OSS、Redis、Security、WxPay、Sms、Async 等
- **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等
- **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印
- **统一异常/响应**:`GlobalExceptionAdvice`、`UnifiedResponse`
- **业务抽象**:邮件发送、微信支付(Native/JS/Transfer)、异步任务
- **公共 POJO**:登录令牌、防重放信息等 | `config/`, `tool/`, `interceptor/`, `aop/`, `exception/`, `email/`, `wxPay/`, `pojo/` | -| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`、`ChinaRegionsCode`、`JobCategory`、`Company`、`Job`、`JobRegionRelation`、`Industry`、`SkillTag`、`UserJobFavorite`、`UserJobApplication`、`UserJobDislike`、`AppJobData`、`UserResume`、`UserResumeEducation`、`UserResumeWork`、`UserResumeInternship`、`UserResumeProject`、`UserResumeCompetition`)
- **MyBatis Mapper**(`UserMapper`、`OssFileMapper`、`UserInviteMapper`、`RouteMenuMapper`、`FuncPermissionMapper`、`UserRouteMenuStockMapper`、`UserFuncPermissionStockMapper`、`UserFuncUsageLogMapper`、`ChinaRegionsCodeMapper`、`JobCategoryMapper`、`CompanyMapper`、`JobMapper`、`JobRegionRelationMapper`、`IndustryMapper`、`SkillTagMapper`、`UserJobFavoriteMapper`、`UserJobApplicationMapper`、`UserJobDislikeMapper`、`AppJobDataMapper`、`UserResumeMapper`、`UserResumeEducationMapper`、`UserResumeWorkMapper`、`UserResumeInternshipMapper`、`UserResumeProjectMapper`、`UserResumeCompetitionMapper`)
- **业务 API**:文件上传/下载、健康检查等
- **业务逻辑**:服务层、工具类等
- **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` | +| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`、`ChinaRegionsCode`、`JobCategory`、`Company`、`Job`、`JobRegionRelation`、`Industry`、`SkillTag`、`UserJobFavorite`、`UserJobApplication`、`UserJobDislike`、`UserJobIntention`、`UserProfile`及5张子表、`UserProfileSkillTagRelation`、`UserResume`及5张子表、`ResumeDiagnosisReport`、`ResumeDiagnosisIssue`、`JobAgentConfig`、`AppJobData`)
- **MyBatis Mapper**(对应全部业务实体的 Mapper,含 `JobAgentConfigMapper`)
- **业务 API**:文件上传/下载、健康检查、地区/岗位分类/行业字典查询
- **业务逻辑**:OssService、SmsService、DictCacheService、JobCleanService、CompanyCleanService、UserProfileAnalyzeService、JobMatchService 等
- **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` | ## 3️⃣ 关键业务实体 | 实体 | 所属模块 | 作用概述 | @@ -208,6 +215,7 @@ offerpie/back-end | `UserResumeCompetition` | manager | 简历-竞赛经历表(bg_user_resume_competition),竞赛名、奖项、获奖时间、描述段落。 | | `ResumeDiagnosisReport` | manager | 简历诊断报告表(bg_resume_diagnosis_report),存储AI对简历的整体诊断评级(A/B/C/D)、整体评价和各类问题统计。 | | `ResumeDiagnosisIssue` | manager | 简历诊断问题表(bg_resume_diagnosis_issue),存储AI对简历各模块的诊断发现、建议、改写内容,含紧急/重点/表达三类问题子类型计数。 | +| `JobAgentConfig` | manager | 求职助手配置表(bg_job_agent_config),一个用户一条记录,存储Agent模式、投递目标、网申常见问题预设答案(部门调剂、地点调剂、面试方式、语言能力、到岗时间、实习天数/时长)。 | ## 4️⃣ 权限体系设计 ### 整体架构