init
This commit is contained in:
50
.trae/documents/多角色招聘系统全栈开发计划.md
Normal file
50
.trae/documents/多角色招聘系统全栈开发计划.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 全栈开发计划:多角色系统与简历投递功能
|
||||
|
||||
## 1. 后端权限修正与逻辑完善
|
||||
### 权限放宽与校验
|
||||
- **JobPostingController**: 移除 `add`, `update`, `delete` 的 `@AuthCheck(mustRole = UserConstant.ADMIN_ROLE)` 限制,修改为允许 **Boss** 操作。在 Service 层添加逻辑,确保 Boss 只能操作自己发布的职位。
|
||||
- **BossApplicationDecisionController**: 移除 `@AuthCheck(ADMIN_ROLE)`,允许 **Boss** 提交决策。确保 Boss 只能处理投递给自己职位的申请。
|
||||
- **BossController**: 调整 `update`, `delete` 权限,允许 Admin 和 Boss 自己操作。
|
||||
|
||||
### 业务逻辑增强
|
||||
- **ApplicationController**: 确保 `add` 接口正确处理投递逻辑(检查是否已投递、关联简历等)。
|
||||
- **ResumeService**: 确认并确保 `delete` 和 `update` 操作校验了 `userId`,防止越权修改。
|
||||
|
||||
## 2. 前端架构升级
|
||||
### API 更新
|
||||
- 运行 `npm run openapi`,生成最新的后端接口定义(包含 `getLoginBoss` 等)。
|
||||
|
||||
### 状态管理 (Store)
|
||||
- 改造 `src/stores/user.ts` 中的 `fetchLoginUser` 方法:
|
||||
1. 尝试 `getLoginUser` (User)
|
||||
2. 失败则尝试 `getLoginAdmin` (Admin)
|
||||
3. 失败则尝试 `getLoginBoss` (Boss)
|
||||
4. 统一设置 `loginUser` 状态,并附加 `role` 字段('user' | 'admin' | 'boss')。
|
||||
|
||||
## 3. 前端功能模块开发
|
||||
### 简历管理模块 (User & Admin)
|
||||
- **我的简历 (`/user/resumes`)**: 展示当前用户的简历列表。
|
||||
- **简历编辑/创建 (`/user/resume/edit/:id?`)**: 表单页面,支持 Markdown 编辑。
|
||||
- **权限控制**: 列表页仅展示自己的简历;Admin 可在后台管理页查看所有。
|
||||
|
||||
### 职位与投递模块 (User)
|
||||
- **投递功能**: 在职位详情页或列表页增加“投递”按钮。
|
||||
- 弹窗选择要使用的简历。
|
||||
- 调用 `/application/add` 接口。
|
||||
- **我的投递 (`/user/applications`)**: 列表展示已投递的职位、投递时间及当前状态(已投递/已拒绝/面试中等)。
|
||||
|
||||
### Boss 工作台 (Boss)
|
||||
- **收到的投递 (`/boss/applications`)**: 展示投递给当前 Boss 的申请列表。
|
||||
- **决策操作**: 提供“接受”和“拒绝”按钮,调用 `/decision/add` 接口更新状态。
|
||||
|
||||
### Boss 列表管理 (Admin & Boss)
|
||||
- **Boss 列表页 (`/bosses`)**:
|
||||
- 所有人可见列表。
|
||||
- **修改/删除按钮**: 仅当 `loginUser.role === 'admin'` 或 `loginUser.id === item.id` (且角色为 Boss) 时显示。
|
||||
|
||||
## 4. 数据库完善
|
||||
- 确保 `f:\Code\BOSS\BOSSBackEnd\sql\sql.sql` 中的表结构与实体类一致(目前看来基本一致,主要关注索引和约束)。
|
||||
|
||||
## 执行顺序
|
||||
1. **后端**: 修改 Controllers 和 Services 权限逻辑。
|
||||
2. **前端**: 更新 API -> 修改 Store -> 开发简历页 -> 开发投递功能 -> 开发 Boss 工作台 -> 完善权限控制 UI。
|
||||
Reference in New Issue
Block a user