21 KiB
勤工俭学管理系统产品需求分析书
📋 文档信息
| 项目 | 信息 |
|---|---|
| 文档名称 | 勤工俭学管理系统产品需求分析书 |
| 项目名称 | 校园管理系统 - 勤工俭学模块 |
| 文档版本 | v1.0 |
| 创建日期 | 2025-01-03 |
| 最后更新 | 2025-01-03 |
| 需求来源 | 勤工俭学用户原始需求.md |
🎯 项目概述
1.1 产品背景
勤工俭学管理系统是校园管理系统的重要组成部分,旨在为高校提供完整的勤工助学岗位管理、学生申请、审核流程的数字化解决方案。系统支持二级学院和学生处的分级审核机制,规范勤工俭学的全流程管理。
1.2 产品目标
- 🎯 提升效率: 实现勤工俭学岗位管理的数字化、流程化
- 📊 规范管理: 建立标准的岗位发布、申请、审核流程
- 🔍 透明公开: 提供岗位信息公开展示和申请状态跟踪
- ⚖️ 权限分级: 支持二级学院和学生处的分级审核管理
- 📱 多端访问: 支持Web端和移动端的便捷使用
1.3 产品定位
面向高校勤工助学管理的综合性平台,覆盖岗位发布方(二级学院)、申请方(学生)、审核方(二级学院负责人、学生处负责人)的全角色需求。
👥 用户角色分析
2.1 核心用户角色
🎓 学生用户
角色描述: 需要通过勤工俭学获得经济资助的在校学生 核心需求:
- 浏览和搜索适合的勤工俭学岗位
- 在线申请心仪的岗位
- 跟踪申请状态和结果
- 查看工作时间和薪资信息
使用场景:
- 经济困难学生寻找兼职工作
- 希望通过勤工俭学锻炼能力
- 需要了解岗位要求和待遇信息
🏛️ 二级学院管理员
角色描述: 负责本学院勤工俭学岗位发布和初审的工作人员 核心需求:
- 发布和管理本学院的勤工俭学岗位
- 设置岗位发布范围(本学院/全校)
- 审核学生的岗位申请
- 管理岗位的有效期和需求人数
使用场景:
- 根据学院需要发布新岗位
- 定期更新岗位信息
- 处理学生申请的初审工作
📋 二级学院审核负责人
角色描述: 负责审核本学院学生勤工俭学申请的领导或负责人 核心需求:
- 审核学生的岗位申请
- 查看申请人的基本信息和条件
- 决定申请通过或驳回
- 查看审核统计数据
使用场景:
- 定期审核待处理的申请
- 根据岗位要求评估申请人条件
- 控制岗位的录用质量
🏫 学生处审核负责人
角色描述: 负责全校勤工俭学申请终审的学生处工作人员 核心需求:
- 终审已通过二级学院审核的申请
- 统筹全校勤工俭学岗位分配
- 查看全校勤工俭学统计数据
- 管理特殊情况的申请处理
使用场景:
- 对重要岗位进行最终审核
- 协调跨学院的岗位申请
- 处理申请争议和特殊情况
2.2 用户权限矩阵
| 功能模块 | 学生 | 学院管理员 | 学院审核负责人 | 学生处负责人 |
|---|---|---|---|---|
| 岗位浏览 | ✅ 查看 | ✅ 查看 | ✅ 查看 | ✅ 查看 |
| 岗位管理 | ❌ | ✅ 增删改 | ✅ 查看本学院 | ✅ 查看全部 |
| 岗位申请 | ✅ 申请 | ❌ | ❌ | ❌ |
| 初审管理 | ❌ | ❌ | ✅ 本学院 | ❌ |
| 终审管理 | ❌ | ❌ | ❌ | ✅ 全校 |
| 数据统计 | ✅ 个人 | ✅ 本学院 | ✅ 本学院 | ✅ 全校 |
🔧 功能需求分析
3.1 功能架构图
勤工俭学管理系统
├── 岗位管理模块
│ ├── 岗位发布
│ ├── 岗位维护
│ └── 岗位查询
├── 申请管理模块
│ ├── 在线申请
│ ├── 申请查询
│ └── 申请撤回
├── 审核管理模块
│ ├── 二级学院审核
│ ├── 学生处审核
│ └── 审核记录
└── 统计报表模块
├── 岗位统计
├── 申请统计
└── 审核统计
3.2 详细功能需求
🏢 模块一:勤工俭学岗位维护
功能描述: 二级学院管理员负责岗位的全生命周期管理
子功能列表:
3.2.1 岗位新增
功能说明: 创建新的勤工俭学岗位 输入信息:
- 🏷️ 岗位名称
必填- 岗位的标题和名称 - 🎯 岗位发布范围
必填- 选择项:本学院- 仅本学院学生可见和申请全校- 所有学生可见和申请
- 👥 需求人数
必填- 本岗位计划招录的学生数量 - ⏰ 工作时间
必填- 工作时间安排描述 - 📅 岗位有效期
必填- 岗位的起止日期 - 📝 岗位要求
必填- 对申请学生的条件要求 - 💰 薪资情况
必填- 薪资标准和发放方式 - 👨🏫 联系老师
必填- 负责该岗位的联系人 - 📞 联系电话
必填- 联系方式
业务规则:
- 岗位有效期不能早于当前日期
- 需求人数必须大于0
- 同一学院内岗位名称不能重复
- 联系电话需要格式验证
输出结果: 岗位创建成功,生成唯一岗位编号
3.2.2 岗位查询展示
功能说明: 根据权限展示相关岗位信息 查询条件:
- 📍 按学院筛选 - 学院管理员只能看到本学院岗位
- 📅 按有效期筛选 - 有效/即将到期/已过期
- 🔍 按岗位名称搜索 - 模糊搜索
- 👥 按招录状态筛选 - 招录中/已满员/已结束
展示信息:
- 岗位基本信息(名称、要求、薪资等)
- 当前申请人数/需求人数
- 岗位状态(招录中/已满员等)
- 操作按钮(编辑/删除/查看详情)
3.2.3 岗位修改
功能说明: 修改已发布的岗位信息 可修改字段: 除岗位编号外的所有字段 业务规则:
- 已有学生申请的岗位修改需要特别提示
- 缩减需求人数时,需要处理超出部分的申请
- 修改岗位要求时,需要重新评估已申请学生的条件
3.2.4 岗位删除
功能说明: 删除不再需要的岗位 业务规则:
- 有学生申请的岗位不能直接删除
- 删除前需要确认操作
- 删除后相关申请记录需要妥善处理
🎓 模块二:勤工俭学岗位申请
功能描述: 学生用户申请勤工俭学岗位
3.2.5 岗位浏览
功能说明: 学生查看可申请的岗位 可见岗位范围:
- ✅ 本学院发布的所有岗位
- ✅ 其他学院发布的全校范围岗位
- ❌ 其他学院发布的本学院范围岗位
展示信息:
- 岗位详细信息
- 当前申请状态
- 岗位剩余名额
- 申请截止时间
3.2.6 在线申请
功能说明: 学生提交岗位申请 申请流程:
- 选择心仪岗位
- 确认个人信息
- 填写申请理由
- 提交申请
业务规则:
- 每个岗位学生只能申请一次
- 申请时需要满足岗位设定的条件限制
- 岗位已满员或过期不能申请
- 学生同时申请的岗位数量可能有限制
3.2.7 申请状态查询
功能说明: 学生查看自己的申请状态 状态类型:
- 🟡 已提交 - 等待二级学院审核
- 🔵 二级学院审核中 - 学院负责人审核中
- 🟠 待学生处审核 - 已通过学院审核,等待学生处审核
- 🟢 审核通过 - 申请成功
- 🔴 审核不通过 - 申请被驳回
- ⚪ 已撤回 - 学生主动撤回申请
查询功能:
- 按状态筛选申请
- 查看审核意见和时间
- 查看岗位详细信息
🏛️ 模块三:勤工俭学岗位申请审核(二级学院)
功能描述: 二级学院负责人审核本学院学生的岗位申请
3.2.8 待审核申请列表
功能说明: 展示需要审核的申请 筛选条件:
- 按申请时间排序
- 按岗位分类
- 按学生年级专业筛选
- 按紧急程度标记
展示信息:
- 申请学生基本信息
- 申请岗位信息
- 申请时间
- 学生条件匹配度
3.2.9 申请审核处理
功能说明: 对申请进行审核决策 审核操作:
- ✅ 通过审核 - 申请状态变为"待学生处审核"
- ❌ 驳回申请 - 申请状态变为"审核不通过",需要填写驳回理由
审核依据:
- 学生是否满足岗位要求
- 学生学习成绩和表现
- 岗位剩余名额情况
- 学生经济困难程度
3.2.10 审核记录管理
功能说明: 查看和管理审核历史 记录内容:
- 审核时间和审核人
- 审核决策和理由
- 申请人信息和岗位信息
- 审核结果统计
🏫 模块四:勤工俭学岗位申请审核(学生处)
功能描述: 学生处负责人进行最终审核
3.2.11 终审申请列表
功能说明: 展示已通过二级学院审核的申请 筛选条件:
- 按学院分类
- 按岗位类型分类
- 按申请时间排序
- 按优先级标记
3.2.12 终审处理
功能说明: 进行最终审核决策 审核操作:
- ✅ 终审通过 - 申请状态变为"审核通过",完成整个流程
- ❌ 终审驳回 - 申请状态变为"审核不通过",需要填写驳回理由
审核重点:
- 跨学院岗位的协调
- 特殊岗位的资质要求
- 全校勤工俭学名额统筹
- 政策合规性检查
🔄 业务流程设计
4.1 岗位发布流程
开始 → 学院管理员登录 → 填写岗位信息 → 设置发布范围 →
保存岗位 → 岗位生效 → 学生可见并申请 → 结束
关键节点:
- 岗位信息验证: 确保必填字段完整性
- 发布范围设置: 决定岗位的可见性
- 岗位生效: 岗位在有效期内对学生开放
4.2 学生申请流程
开始 → 学生登录 → 浏览岗位 → 选择岗位 → 检查申请条件 →
提交申请 → 等待审核 → 结束
关键节点:
- 条件检查: 验证学生是否满足岗位要求
- 重复申请检查: 防止学生重复申请同一岗位
- 申请提交: 生成申请记录并进入审核流程
4.3 两级审核流程
学生提交申请 → 二级学院审核 → 审核通过?
↓ ↓
审核不通过 ←——————— No
↓
结束流程
↓
Yes
↓
学生处终审 → 终审通过?
↓ ↓
审核通过 ←——————— Yes
↓
结束流程
↓
No
↓
审核不通过 → 结束流程
审核节点说明:
- 二级学院审核: 主要评估学生条件和岗位匹配度
- 学生处终审: 主要进行政策合规性和统筹协调
- 驳回处理: 任何节点驳回都需要提供明确理由
4.4 状态流转图
草稿 → 已提交 → 二级学院审核中 → 待学生处审核 → 审核通过
↑ ↓ ↓ ↓
└——————————————————————————————————————→ 审核不通过
状态说明:
- 草稿: 学生暂存但未提交的申请
- 已提交: 学生正式提交,等待二级学院审核
- 二级学院审核中: 二级学院负责人审核中
- 待学生处审核: 已通过二级学院审核,等待学生处终审
- 审核通过: 完成所有审核,学生可以开始工作
- 审核不通过: 任何阶段被驳回的申请
💾 数据模型设计
5.1 核心数据实体
📋 岗位信息表 (jcbt_work_study_position)
| 字段名 | 字段类型 | 长度 | 必填 | 说明 |
|---|---|---|---|---|
| id | bigint | 20 | ✅ | 主键ID(雪花ID) |
| position_name | varchar | 100 | ✅ | 岗位名称 |
| position_scope | varchar | 20 | ✅ | 发布范围(COLLEGE/UNIVERSITY) |
| required_count | int | - | ✅ | 需求人数 |
| work_time | varchar | 200 | ✅ | 工作时间 |
| start_date | date | - | ✅ | 岗位有效期开始 |
| end_date | date | - | ✅ | 岗位有效期结束 |
| position_requirements | text | - | ✅ | 岗位要求 |
| salary_info | varchar | 200 | ✅ | 薪资情况 |
| contact_teacher | varchar | 50 | ✅ | 联系老师 |
| contact_phone | varchar | 20 | ✅ | 联系电话 |
| college_id | bigint | 20 | ✅ | 发布学院ID |
| status | varchar | 20 | ✅ | 岗位状态 |
| current_count | int | - | ✅ | 当前申请通过人数 |
| create_by | bigint | 20 | ✅ | 创建者 |
| create_time | datetime | - | ✅ | 创建时间 |
| update_by | bigint | 20 | ✅ | 更新者 |
| update_time | datetime | - | ✅ | 更新时间 |
| deleted | tinyint | 1 | ✅ | 逻辑删除标记 |
| tenant_id | varchar | 20 | ✅ | 租户ID |
📝 申请信息表 (jcbt_work_study_application)
| 字段名 | 字段类型 | 长度 | 必填 | 说明 |
|---|---|---|---|---|
| id | bigint | 20 | ✅ | 主键ID(雪花ID) |
| position_id | bigint | 20 | ✅ | 岗位ID |
| student_id | bigint | 20 | ✅ | 学生ID |
| student_name | varchar | 50 | ✅ | 学生姓名 |
| student_number | varchar | 20 | ✅ | 学号 |
| college_id | bigint | 20 | ✅ | 学生所在学院ID |
| major | varchar | 100 | ✅ | 专业 |
| grade | varchar | 10 | ✅ | 年级 |
| phone | varchar | 20 | ✅ | 联系电话 |
| application_reason | text | - | ✅ | 申请理由 |
| status | varchar | 20 | ✅ | 申请状态 |
| college_review_status | varchar | 20 | ❌ | 学院审核状态 |
| college_review_time | datetime | - | ❌ | 学院审核时间 |
| college_reviewer_id | bigint | 20 | ❌ | 学院审核人ID |
| college_review_comment | text | - | ❌ | 学院审核意见 |
| final_review_status | varchar | 20 | ❌ | 学生处审核状态 |
| final_review_time | datetime | - | ❌ | 学生处审核时间 |
| final_reviewer_id | bigint | 20 | ❌ | 学生处审核人ID |
| final_review_comment | text | - | ❌ | 学生处审核意见 |
| create_by | bigint | 20 | ✅ | 创建者 |
| create_time | datetime | - | ✅ | 创建时间 |
| update_by | bigint | 20 | ✅ | 更新者 |
| update_time | datetime | - | ✅ | 更新时间 |
| deleted | tinyint | 1 | ✅ | 逻辑删除标记 |
| tenant_id | varchar | 20 | ✅ | 租户ID |
5.2 枚举定义
📋 岗位状态枚举 (PositionStatusEnum)
public enum PositionStatusEnum {
DRAFT("DRAFT", "草稿"),
PUBLISHED("PUBLISHED", "已发布"),
RECRUITING("RECRUITING", "招录中"),
FULL("FULL", "已满员"),
EXPIRED("EXPIRED", "已过期"),
SUSPENDED("SUSPENDED", "已暂停");
}
📝 申请状态枚举 (ApplicationStatusEnum)
public enum ApplicationStatusEnum {
DRAFT("DRAFT", "草稿"),
SUBMITTED("SUBMITTED", "已提交"),
COLLEGE_REVIEWING("COLLEGE_REVIEWING", "学院审核中"),
COLLEGE_PASSED("COLLEGE_PASSED", "学院审核通过"),
FINAL_REVIEWING("FINAL_REVIEWING", "学生处审核中"),
APPROVED("APPROVED", "审核通过"),
REJECTED("REJECTED", "审核不通过"),
WITHDRAWN("WITHDRAWN", "已撤回");
}
🚀 技术实现方案
6.1 技术架构
🏗️ 总体架构
┌─────────────────────────────────────────────────┐
│ 前端展示层 │
│ Vue 3 + TypeScript + Element Plus │
├─────────────────────────────────────────────────┤
│ 网关层 │
│ Spring Cloud Gateway + Sa-Token │
├─────────────────────────────────────────────────┤
│ 业务服务层 │
│ Spring Boot 3.4.6 + MyBatis-Plus │
├─────────────────────────────────────────────────┤
│ 数据存储层 │
│ MySQL 8.0 + Redis 6.0 │
└─────────────────────────────────────────────────┘
🔧 核心技术栈
- 前端框架: Vue 3.5.13 + TypeScript 5.8.3
- UI组件库: Element Plus + Art Design Pro
- 后端框架: Spring Boot 3.4.6 + MyBatis-Plus
- 数据库: MySQL 8.0
- 缓存: Redis 6.0
- 权限认证: Sa-Token
- 文档工具: Swagger 3.x
6.2 关键业务逻辑
🔄 岗位状态自动更新逻辑
@Scheduled(cron = "0 0 1 * * ?") // 每天凌晨1点执行
public void updatePositionStatus() {
// 1. 更新过期岗位状态
// 2. 更新满员岗位状态
// 3. 发送状态变更通知
}
🎯 申请条件检查逻辑
public boolean checkApplicationConditions(Long studentId, Long positionId) {
// 1. 检查学生是否已申请该岗位
// 2. 检查岗位是否还有名额
// 3. 检查岗位是否在有效期内
// 4. 检查学生是否满足岗位要求
// 5. 检查学生当前申请岗位数量限制
}
📋 项目实施计划
7.1 开发阶段规划
🏗️ 第一阶段:基础框架搭建(1周)
- 项目初始化和环境配置
- 数据库表结构设计和创建
- 基础框架代码生成
- 权限体系集成
🔧 第二阶段:岗位管理模块(2周)
- 岗位CRUD基础功能
- 岗位发布范围控制
- 岗位状态管理
- 岗位信息展示优化
🎓 第三阶段:申请管理模块(2周)
- 学生申请功能
- 申请状态跟踪
- 申请条件校验
- 申请撤回功能
🏛️ 第四阶段:审核管理模块(2周)
- 二级学院审核功能
- 学生处终审功能
- 审核记录管理
- 审核统计报表
🎨 第五阶段:界面优化和测试(1周)
- 前端界面优化
- 移动端适配
- 功能测试
- 性能优化
7.2 里程碑计划
| 里程碑 | 时间节点 | 主要成果 | 验收标准 |
|---|---|---|---|
| M1 | 第1周末 | 基础框架完成 | ✅ 环境搭建完成 ✅ 数据库结构就绪 ✅ 基础代码生成 |
| M2 | 第3周末 | 岗位管理模块 | ✅ 岗位CRUD功能 ✅ 权限控制正常 ✅ 界面展示完整 |
| M3 | 第5周末 | 申请管理模块 | ✅ 申请流程通畅 ✅ 条件校验有效 ✅ 状态跟踪准确 |
| M4 | 第7周末 | 审核管理模块 | ✅ 两级审核流程 ✅ 审核记录完整 ✅ 统计数据准确 |
| M5 | 第8周末 | 项目交付 | ✅ 功能测试通过 ✅ 性能达标 ✅ 文档完整 |
📚 附录
8.1 术语表
| 术语 | 英文 | 定义 |
|---|---|---|
| 勤工俭学 | Work-Study Program | 学生通过参与学校提供的工作岗位获得经济资助的项目 |
| 二级学院 | Secondary College | 高校内的院系级别管理单位 |
| 学生处 | Student Affairs Office | 负责学生事务管理的学校行政部门 |
| 岗位范围 | Position Scope | 岗位的可见和申请范围(本学院/全校) |
| 两级审核 | Two-Level Review | 二级学院初审 + 学生处终审的审核机制 |
8.2 参考文档
- 原始需求: 勤工俭学用户原始需求.md
- 技术规范: 后端开发规范文档
- 前端规范: 前端开发规范文档
- 数据库规范: 数据库设计规范文档
8.3 版本历史
| 版本 | 日期 | 修改内容 | 修改人 |
|---|---|---|---|
| v1.0 | 2025-01-03 | 初始版本创建 | Cursor AI |
✅ 文档总结
🎯 核心价值
本产品需求分析书基于用户原始需求,系统性地分析了勤工俭学管理系统的完整业务流程,为开发团队提供了清晰的产品方向和技术实现指导。
📋 主要成果
- 4个核心用户角色 的需求分析和权限设计
- 4个主要功能模块 的详细设计
- 完整的业务流程 和状态流转机制
- 标准的数据模型 和API接口设计
- 详细的项目实施计划 和里程碑设置
🚀 下一步行动
- 技术团队评审和确认需求
- 数据库表结构设计和创建
- 按照开发计划启动编码工作
- 定期评审和调整实施进度
📝 文档状态: ✅ 完成
📅 创建时间: 2025-01-03
🔄 更新频率: 根据需求变更及时更新
👥 维护团队: 产品团队 + 开发团队