更新项目结构文档

This commit is contained in:
zk
2026-04-24 16:36:37 +08:00
parent f8bf2727f4
commit e0c7c3dc54
+16 -8
View File
@@ -24,8 +24,9 @@ offerpie/back-end
│ │ ├─ RouteMenuController.java # 路由菜单接口(获取用户有效菜单树) │ │ ├─ RouteMenuController.java # 路由菜单接口(获取用户有效菜单树)
│ │ ├─ UserProfileController.java # 用户个人资料接口(主表+5张子表的查询与保存) │ │ ├─ UserProfileController.java # 用户个人资料接口(主表+5张子表的查询与保存)
│ │ ├─ JobIntentionController.java # 求职意向接口(查询与保存) │ │ ├─ JobIntentionController.java # 求职意向接口(查询与保存)
│ │ ├─ JobController.java # 岗位接口(岗位列表查询) │ │ ├─ JobController.java # 岗位接口(岗位列表查询、收藏、投递、不感兴趣、求职助手任务列表、AI岗位推荐
│ │ UserResumeController.java # 用户简历接口(简历列表、主表及5张子表的查询与保存、子表单条添加/编辑/删除、简历删除 │ │ JobAgentConfigController.java # 求职助手配置接口(配置查询与保存
│ │ └─ UserResumeController.java # 用户简历接口(简历列表、主表及5张子表的查询与保存、子表单条添加/编辑/删除、简历删除、设置默认简历)
│ ├─ service/ │ ├─ service/
│ │ ├─ LoginService.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置) │ │ ├─ LoginService.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置)
│ │ ├─ UserRegisterService.java # 用户注册服务(注册逻辑、邀请码生成与绑定) │ │ ├─ UserRegisterService.java # 用户注册服务(注册逻辑、邀请码生成与绑定)
@@ -33,21 +34,25 @@ offerpie/back-end
│ │ ├─ RouteMenuService.java # 路由菜单服务(查询、添加库存、获取用户菜单树) │ │ ├─ RouteMenuService.java # 路由菜单服务(查询、添加库存、获取用户菜单树)
│ │ ├─ UserProfileService.java # 用户个人资料服务(主表+5张子表的CRUD) │ │ ├─ UserProfileService.java # 用户个人资料服务(主表+5张子表的CRUD)
│ │ ├─ JobIntentionService.java # 求职意向服务(查询与保存/更新) │ │ ├─ JobIntentionService.java # 求职意向服务(查询与保存/更新)
│ │ ├─ JobService.java # 岗位服务(岗位列表查询、匹配度计算编排) │ │ ├─ JobService.java # 岗位服务(岗位列表查询、匹配度计算编排、求职助手任务列表、AI岗位推荐
│ │ ├─ UserResumeService.java # 用户简历服务(简历列表、主表及5张子表的CRUD、子表单条添加/编辑/删除 │ │ ├─ JobAgentConfigService.java # 求职助手配置服务(配置查询与保存
│ │ ├─ UserResumeService.java # 用户简历服务(简历列表、主表及5张子表的CRUD、子表单条添加/编辑/删除、设置默认简历)
│ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现 │ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现
│ └─ pojo/ │ └─ pojo/
│ ├─ param/ │ ├─ param/
│ │ ├─ userProfile/ # 个人资料入参(UserProfileParam、各子表Param │ │ ├─ userProfile/ # 个人资料入参(UserProfileParam、各子表Param
│ │ ├─ resume/ # 简历入参(ResumeParam、各子表Param、各子表UpdateParam、ResumeSubTableParam │ │ ├─ resume/ # 简历入参(ResumeParam、各子表Param、各子表UpdateParam、ResumeSubTableParam
│ │ ─ job/ # 岗位相关入参(JobIntentionParam、JobQueryParam │ │ ─ job/ # 岗位相关入参(JobIntentionParam、JobQueryParam、JobAgentTaskQueryParam、JobAgentRecommendParam
│ │ └─ jobAgent/ # 求职助手入参(JobAgentConfigParam
│ ├─ dto/ │ ├─ dto/
│ │ ├─ SmsLoginDto.java # 短信登录入参(mobileNumber + code + inviteCode │ │ ├─ SmsLoginDto.java # 短信登录入参(mobileNumber + code + inviteCode
│ │ ├─ userProfile/ # 个人资料出参(UserProfileDto、各子表Dto │ │ ├─ userProfile/ # 个人资料出参(UserProfileDto、各子表Dto
│ │ ├─ resume/ # 简历出参(ResumeDto、ResumeListItemDto、各子表Dto │ │ ├─ resume/ # 简历出参(ResumeDto、ResumeListItemDto、各子表Dto
│ │ ─ job/ # 岗位相关出参(JobIntentionDto、JobDto、JobMatchScoreDto │ │ ─ job/ # 岗位相关出参(JobIntentionDto、JobDto、JobMatchScoreDto、JobAgentRecommendDto
│ │ └─ jobAgent/ # 求职助手出参(JobAgentConfigDto
│ └─ vo/ │ └─ vo/
│ ├─ LoginVo.java # 登录返回(userId + nick │ ├─ LoginVo.java # 登录返回(userId + nick
│ ├─ LanguageAbility.java # 语言能力对象(求职助手配置JSON字段)
│ └─ RouteMenuVo.java # 路由菜单树形VO(含children子菜单) │ └─ RouteMenuVo.java # 路由菜单树形VO(含children子菜单)
├─ common/ # **共享层**:被 C 端和 B 端共同使用的代码库 ├─ common/ # **共享层**:被 C 端和 B 端共同使用的代码库
@@ -111,6 +116,7 @@ offerpie/back-end
│ ├─ UserResumeCompetitionMapper.java # 简历-竞赛经历Mapper │ ├─ UserResumeCompetitionMapper.java # 简历-竞赛经历Mapper
│ ├─ ResumeDiagnosisReportMapper.java # 简历诊断报告Mapper │ ├─ ResumeDiagnosisReportMapper.java # 简历诊断报告Mapper
│ ├─ ResumeDiagnosisIssueMapper.java # 简历诊断问题Mapper │ ├─ ResumeDiagnosisIssueMapper.java # 简历诊断问题Mapper
│ ├─ JobAgentConfigMapper.java # 求职助手配置Mapper
│ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper │ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper
├─ pojo/ ├─ pojo/
│ ├─ po/ # 持久化实体 │ ├─ po/ # 持久化实体
@@ -150,6 +156,7 @@ offerpie/back-end
│ │ ├─ UserResumeCompetition.java # 简历-竞赛经历表(bg_user_resume_competition │ │ ├─ UserResumeCompetition.java # 简历-竞赛经历表(bg_user_resume_competition
│ │ ├─ ResumeDiagnosisReport.java # 简历诊断报告表(bg_resume_diagnosis_report │ │ ├─ ResumeDiagnosisReport.java # 简历诊断报告表(bg_resume_diagnosis_report
│ │ ├─ ResumeDiagnosisIssue.java # 简历诊断问题表(bg_resume_diagnosis_issue │ │ ├─ ResumeDiagnosisIssue.java # 简历诊断问题表(bg_resume_diagnosis_issue
│ │ ├─ JobAgentConfig.java # 求职助手配置表(bg_job_agent_config
│ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data │ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data
│ └─ vo/ # ViewObjectOssUrlVo、DescriptionParagraph、JobListItemVo、UserHonorsVo 等) │ └─ vo/ # ViewObjectOssUrlVo、DescriptionParagraph、JobListItemVo、UserHonorsVo 等)
├─ resources/mapper/ # MyBatis XML 映射文件 ├─ resources/mapper/ # MyBatis XML 映射文件
@@ -161,9 +168,9 @@ offerpie/back-end
## 2️⃣ 各层模块职责 ## 2️⃣ 各层模块职责
| 层级 | 主要职责 | 关键类/包 | | 层级 | 主要职责 | 关键类/包 |
|------|----------|-----------| |------|----------|-----------|
| **client-api** | - 面向终端用户的 REST API <br> - 启动 Spring Boot 应用 <br> - 短信验证码登录(含自动注册、邀请码绑定) <br> - **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退) <br> - **路由菜单**:获取用户有效菜单树 | `ClientApplication``LoginController``RouteMenuController``FuncPermission``FuncPermissionAspect``FuncPermissionService``RouteMenuService``UserRegisterService``RouteMenuVo` | | **client-api** | - 面向终端用户的 REST API <br> - 启动 Spring Boot 应用 <br> - 短信验证码登录(含自动注册、邀请码绑定) <br> - **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退) <br> - **路由菜单**:获取用户有效菜单树 <br> - **求职助手**:配置管理、AI岗位推荐、任务列表 | `ClientApplication``LoginController``RouteMenuController``JobController``JobAgentConfigController``UserResumeController``FuncPermission``FuncPermissionAspect``FuncPermissionService``RouteMenuService``JobService``JobAgentConfigService``UserRegisterService``RouteMenuVo` |
| **common** | - **统一配置**OSS、Redis、Security、WxPay、Sms、Async 等 <br> - **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等 <br> - **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印 <br> - **统一异常/响应**`GlobalExceptionAdvice``UnifiedResponse` <br> - **业务抽象**:邮件发送、微信支付(Native/JS/Transfer)、异步任务 <br> - **公共 POJO**:登录令牌、防重放信息等 | `config/`, `tool/`, `interceptor/`, `aop/`, `exception/`, `email/`, `wxPay/`, `pojo/` | | **common** | - **统一配置**OSS、Redis、Security、WxPay、Sms、Async 等 <br> - **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等 <br> - **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印 <br> - **统一异常/响应**`GlobalExceptionAdvice``UnifiedResponse` <br> - **业务抽象**:邮件发送、微信支付(Native/JS/Transfer)、异步任务 <br> - **公共 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` <br> - **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` <br> - **业务 API**:文件上传/下载、健康检查等 <br> - **业务逻辑**:服务层、工具类等 <br> - **既供 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` <br> - **MyBatis Mapper**(对应全部业务实体的 Mapper,含 `JobAgentConfigMapper` <br> - **业务 API**:文件上传/下载、健康检查、地区/岗位分类/行业字典查询 <br> - **业务逻辑**OssService、SmsService、DictCacheService、JobCleanService、CompanyCleanService、UserProfileAnalyzeService、JobMatchService 等 <br> - **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` |
## 3️⃣ 关键业务实体 ## 3️⃣ 关键业务实体
| 实体 | 所属模块 | 作用概述 | | 实体 | 所属模块 | 作用概述 |
@@ -208,6 +215,7 @@ offerpie/back-end
| `UserResumeCompetition` | manager | 简历-竞赛经历表(bg_user_resume_competition),竞赛名、奖项、获奖时间、描述段落。 | | `UserResumeCompetition` | manager | 简历-竞赛经历表(bg_user_resume_competition),竞赛名、奖项、获奖时间、描述段落。 |
| `ResumeDiagnosisReport` | manager | 简历诊断报告表(bg_resume_diagnosis_report),存储AI对简历的整体诊断评级(A/B/C/D)、整体评价和各类问题统计。 | | `ResumeDiagnosisReport` | manager | 简历诊断报告表(bg_resume_diagnosis_report),存储AI对简历的整体诊断评级(A/B/C/D)、整体评价和各类问题统计。 |
| `ResumeDiagnosisIssue` | manager | 简历诊断问题表(bg_resume_diagnosis_issue),存储AI对简历各模块的诊断发现、建议、改写内容,含紧急/重点/表达三类问题子类型计数。 | | `ResumeDiagnosisIssue` | manager | 简历诊断问题表(bg_resume_diagnosis_issue),存储AI对简历各模块的诊断发现、建议、改写内容,含紧急/重点/表达三类问题子类型计数。 |
| `JobAgentConfig` | manager | 求职助手配置表(bg_job_agent_config),一个用户一条记录,存储Agent模式、投递目标、网申常见问题预设答案(部门调剂、地点调剂、面试方式、语言能力、到岗时间、实习天数/时长)。 |
## 4️⃣ 权限体系设计 ## 4️⃣ 权限体系设计
### 整体架构 ### 整体架构