Files
hzdyjs/docs/需求文档/奖惩补贴需求/勤工俭学产品需求分析书.md
T
2025-08-12 16:52:10 +08:00

21 KiB
Raw Blame History

勤工俭学管理系统产品需求分析书

📋 文档信息

项目 信息
文档名称 勤工俭学管理系统产品需求分析书
项目名称 校园管理系统 - 勤工俭学模块
文档版本 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 在线申请

功能说明: 学生提交岗位申请 申请流程:

  1. 选择心仪岗位
  2. 确认个人信息
  3. 填写申请理由
  4. 提交申请

业务规则:

  • 每个岗位学生只能申请一次
  • 申请时需要满足岗位设定的条件限制
  • 岗位已满员或过期不能申请
  • 学生同时申请的岗位数量可能有限制
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 参考文档

8.3 版本历史

版本 日期 修改内容 修改人
v1.0 2025-01-03 初始版本创建 Cursor AI

✅ 文档总结

🎯 核心价值

本产品需求分析书基于用户原始需求,系统性地分析了勤工俭学管理系统的完整业务流程,为开发团队提供了清晰的产品方向和技术实现指导。

📋 主要成果

  1. 4个核心用户角色 的需求分析和权限设计
  2. 4个主要功能模块 的详细设计
  3. 完整的业务流程 和状态流转机制
  4. 标准的数据模型 和API接口设计
  5. 详细的项目实施计划 和里程碑设置

🚀 下一步行动

  1. 技术团队评审和确认需求
  2. 数据库表结构设计和创建
  3. 按照开发计划启动编码工作
  4. 定期评审和调整实施进度

📝 文档状态: ✅ 完成
📅 创建时间: 2025-01-03
🔄 更新频率: 根据需求变更及时更新
👥 维护团队: 产品团队 + 开发团队