use-cases.md 14 KB

阶段2a用例文档 — 果农核心功能

功能点覆盖:14/14 用例数:32


一、果农名篇用例

UC-GP-001: 查看名片信息

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农进入"我的名片"页面
  2. 系统查询 grower_profile 表
  3. 系统展示名片信息:品种、产量、预期价格、果园地址、视频、照片、审核状态

替代流程:

  • 2a. 名片未完善 → 显示引导页,提示完善信息

后置条件: 无数据变更


UC-GP-002: 编辑名片信息

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农点击"编辑名片"
  2. 系统显示编辑表单(品种多选、产量、价格、地址)
  3. 果农修改信息
  4. 果农点击"保存"
  5. 系统验证数据(品种非空、价格>0、地址非空)
  6. 系统更新 grower_profile 表
  7. 系统重置审核状态为"待审"

替代流程:

  • 5a. 必填字段为空 → 提示"请填写完整信息"
  • 5b. 价格≤0 → 提示"价格必须大于0"

后置条件: 名片信息已更新,审核状态重置为待审


UC-GP-003: 上传果园视频

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农在名片编辑页点击"上传视频"
  2. 前端调用 wx.chooseVideo() 选择视频
  3. 前端清除EXIF元数据
  4. 前端预校验:格式(MP4/MOV)、大小(≤50MB)
  5. 前端调用 /api/wx/file/upload/video 上传
  6. 后端校验文件格式和大小
  7. 后端存储到 ./uploads/video/ 目录
  8. 后端返回文件URL
  9. 前端更新名片视频URL
  10. 后端异步压缩视频(720p/2Mbps)

替代流程:

  • 4a. 格式不支持 → 提示"仅支持MP4/MOV格式"
  • 4b. 文件过大 → 提示"视频大小不能超过50MB"
  • 5a. 网络中断 → 提示"上传失败,请重试"
  • 10a. 压缩失败 → 自动重试3次,仍失败记录日志

后置条件: 视频已上传,URL已存入 grower_profile.video_url


UC-GP-004: 上传果园照片

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农在名片编辑页点击"上传照片"
  2. 前端调用 wx.chooseImage() 选择照片(≤9张)
  3. 前端清除EXIF元数据
  4. 前端预校验:格式(JPG/JPEG/PNG/GIF)、单张大小(≤5MB)
  5. 前端逐张调用 /api/wx/file/upload/image 上传
  6. 后端存储到 ./uploads/image/ 目录
  7. 后端返回文件URL列表
  8. 前端更新名片照片列表

替代流程:

  • 2a. 已有9张照片 → 提示"最多上传9张照片"
  • 4a. 单张过大 → 提示"单张照片不能超过5MB"
  • 5a. 部分上传失败 → 提示失败数量,支持重新上传

后置条件: 照片URL已存入 grower_profile.photos(JSON数组)


UC-GP-005: 删除已上传照片

主要参与者: 果农用户

前置条件: 已登录,身份为果农,已有照片

基本流程:

  1. 果农在名片编辑页查看照片列表
  2. 果农点击某张照片的"删除"按钮
  3. 系统弹出确认框
  4. 果农确认删除
  5. 系统调用 /api/wx/file/delete 删除文件
  6. 系统更新 grower_profile.photos,移除对应URL

替代流程:

  • 4a. 果农取消 → 不执行删除

后置条件: 照片已删除,URL已从数据库移除


UC-GP-006: 查看审核状态

主要参与者: 果农用户

前置条件: 已登录,身份为果农,已提交名片

基本流程:

  1. 果农进入"我的名片"页面
  2. 系统查询 audit_status 字段
  3. 系统展示审核状态:
    • 待审(0) → 显示"审核中"
    • 已通过(1) → 显示"已通过"
    • 被驳回(2) → 显示"已驳回" + 驳回原因

替代流程: 无

后置条件: 无数据变更


UC-GP-007: 驳回后重新提交

主要参与者: 果农用户

前置条件: 已登录,身份为果农,名片被驳回

基本流程:

  1. 果农查看驳回原因
  2. 果农修改名片信息/更换视频照片
  3. 果农点击"重新提交"
  4. 系统重置审核状态为"待审(0)"
  5. 系统清除驳回原因

替代流程: 无

后置条件: 审核状态重置为待审


二、招工发布用例

UC-RC-001: 发布招工信息

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农点击"发布招工"
  2. 系统显示招工表单
  3. 果农填写:工种(多选)、价格、价格单位、人数、天数、工作地点、备注
  4. 果农点击"发布"
  5. 系统验证必填字段(工种、价格、价格单位、人数、工作地点)
  6. 系统检测敏感关键词
  7. 如无敏感词 → keyword_flag=0
  8. 如有敏感词 → keyword_flag=1
  9. 系统创建 recruit_info 记录(status=1,免审核直接发布)
  10. 系统提示"发布成功"

替代流程:

  • 5a. 必填字段为空 → 提示"请填写完整信息"
  • 5b. 价格≤0 → 提示"价格必须大于0"
  • 5c. 人数≤0 → 提示"人数必须大于0"

后置条件: 招工信息已发布,工人可见


UC-RC-002: 语音输入备注

主要参与者: 果农用户

前置条件: 正在编辑招工表单

基本流程:

  1. 果农点击备注输入框旁的麦克风图标
  2. 前端调用语音识别API
  3. 果农说话
  4. 前端将语音转为文字
  5. 文字自动填入备注输入框
  6. 果农可手动修改识别结果

替代流程:

  • 2a. 语音识别失败 → 提示"识别失败,请手动输入"
  • 3a. 环境噪音过大 → 提示"请到安静环境重试"

后置条件: 备注已填入


UC-RC-003: 编辑招工信息

主要参与者: 果农用户

前置条件: 已登录,身份为果农,已有发布的招工

基本流程:

  1. 果农进入"我的招工"列表
  2. 果农选择某条招工,点击"编辑"
  3. 系统显示编辑表单(价格、人数、天数、备注可编辑)
  4. 果农修改信息
  5. 果农点击"保存"
  6. 系统验证数据
  7. 系统检测敏感关键词
  8. 系统更新 recruit_info 记录

替代流程:

  • 6a. 数据验证失败 → 提示错误信息

后置条件: 招工信息已更新


UC-RC-004: 下架招工信息

主要参与者: 果农用户

前置条件: 已登录,身份为果农,已有发布的招工

基本流程:

  1. 果农进入"我的招工"列表
  2. 果农选择某条招工,点击"下架"
  3. 系统弹出确认框
  4. 果农确认下架
  5. 系统更新 recruit_info.status=0
  6. 系统提示"已下架"

替代流程:

  • 4a. 果农取消 → 不执行下架

后置条件: 招工已下架,工人不可见


UC-RC-005: 查看我的招工列表

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农进入"我的招工"页面
  2. 系统查询该果农发布的所有招工
  3. 系统按发布时间倒序展示
  4. 展示:工种、价格、人数、发布时间、状态、报名人数
  5. 果农可下拉刷新、上拉加载更多

替代流程:

  • 2a. 无招工记录 → 显示"暂无招工,去发布"

后置条件: 无数据变更


UC-RC-006: 敏感词自动检测

主要参与者: 系统(自动)

前置条件: 果农发布或编辑招工

基本流程:

  1. 系统获取招工备注内容
  2. 系统使用正则表达式匹配敏感词库
  3. 匹配成功 → 设置 keyword_flag=1
  4. 匹配失败 → 设置 keyword_flag=0
  5. 记录检测结果

替代流程: 无

后置条件: keyword_flag 已设置


三、找工人用例

UC-WK-001: 查看工人列表

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农点击"找工人"
  2. 系统查询状态为"空闲"的工人
  3. 系统按工种筛选(可选)
  4. 系统按距离升序排序
  5. 系统展示工人列表:姓名、工种标签、报价、距离、状态
  6. 果农可下拉刷新、上拉加载更多

替代流程:

  • 2a. 无空闲工人 → 显示"暂无空闲工人"
  • 3a. 选择特定工种 → 仅显示该工种工人

后置条件: 无数据变更


UC-WK-002: 按工种筛选工人

主要参与者: 果农用户

前置条件: 正在查看工人列表

基本流程:

  1. 果农点击工种筛选按钮
  2. 系统显示工种选项(采摘工/分拣工/装卸工/喷药工/修剪工/施肥工)
  3. 果农选择工种
  4. 系统重新查询并展示筛选结果

替代流程: 无

后置条件: 无数据变更


UC-WK-003: 拨打工人电话

主要参与者: 果农用户

前置条件: 已登录,正在查看工人列表

基本流程:

  1. 果农点击某工人的"拨号"按钮
  2. 前端调用 /api/wx/call/phone 接口
  3. 后端记录拨号日志(call_log表)
  4. 后端返回脱敏手机号(138****8888)
  5. 前端调用 wx.makePhoneCall() 唤起系统拨号

替代流程:

  • 3a. 接口调用失败 → 提示"获取号码失败,请重试"
  • 5a. 用户取消拨号 → 不做处理

后置条件: 拨号日志已记录


UC-WK-004: 查看工人详情

主要参与者: 果农用户

前置条件: 正在查看工人列表

基本流程:

  1. 果农点击某工人卡片
  2. 系统显示工人详情:姓名、技能标签、报价、状态、距离
  3. 显示"拨号"按钮

替代流程: 无

后置条件: 无数据变更


四、找客商用例

UC-BY-001: 查看客商列表

主要参与者: 果农用户

前置条件: 已登录,身份为果农

基本流程:

  1. 果农点击"找客商"
  2. 系统查询所有客商
  3. 系统展示客商列表:姓名/公司名、收购品种、收购价格、收购数量、地址
  4. 果农可下拉刷新、上拉加载更多

替代流程:

  • 2a. 无客商数据 → 显示"暂无客商信息"

后置条件: 无数据变更


UC-BY-002: 拨打客商电话

主要参与者: 果农用户

前置条件: 已登录,正在查看客商列表

基本流程:

  1. 果农点击某客商的"拨号"按钮
  2. 前端调用 /api/wx/call/phone 接口
  3. 后端记录拨号日志
  4. 后端返回脱敏手机号
  5. 前端唤起系统拨号

替代流程:

  • 3a. 接口调用失败 → 提示"获取号码失败,请重试"

后置条件: 拨号日志已记录


UC-BY-003: 查看客商详情

主要参与者: 果农用户

前置条件: 正在查看客商列表

基本流程:

  1. 果农点击某客商卡片
  2. 系统显示客商详情:公司名、收购品种、价格区间、收购标准、地址
  3. 显示"拨号"按钮

替代流程: 无

后置条件: 无数据变更


五、后台审核用例

UC-AU-001: 查看名片审核列表

主要参与者: 审核员

前置条件: 已登录后台管理系统

基本流程:

  1. 审核员进入"内容审核" → "名片审核"
  2. 系统查询 audit_status=0 的果农档案
  3. 系统按提交时间倒序展示
  4. 展示:果农姓名、品种、提交时间、审核状态
  5. 系统显示待审核数量角标

替代流程:

  • 2a. 无待审核项 → 显示"暂无待审核"

后置条件: 无数据变更


UC-AU-002: 审核果农名片

主要参与者: 审核员

前置条件: 已登录后台管理系统,有待审核名片

基本流程:

  1. 审核员选择某条待审核名片
  2. 系统显示名片详情(视频、照片、信息)
  3. 审核员审核内容
  4. 审核员点击"通过"或"驳回"
  5. 如驳回 → 填写驳回原因(必填)
  6. 系统更新 grower_profile.audit_status
  7. 系统记录审核日志(audit_log表)
  8. 系统通知果农审核结果

替代流程:

  • 5a. 驳回但未填原因 → 提示"请填写驳回原因"

后置条件: 审核状态已更新,审核日志已记录


UC-AU-003: 查看待复核招工列表

主要参与者: 审核员

前置条件: 已登录后台管理系统

基本流程:

  1. 审核员进入"内容审核" → "待复核列表"
  2. 系统查询 keyword_flag=1 的招工信息
  3. 系统按发布时间倒序展示
  4. 展示:招工内容、标记关键词、发布者、发布时间
  5. 系统显示待复核数量角标

替代流程:

  • 2a. 无待复核项 → 显示"暂无待复核"

后置条件: 无数据变更


UC-AU-004: 处理待复核招工

主要参与者: 审核员

前置条件: 已登录后台管理系统,有待复核招工

基本流程:

  1. 审核员选择某条待复核招工
  2. 系统显示招工详情和标记的敏感词
  3. 审核员判断内容是否违规
  4. 如正常 → 点击"标记为正常",keyword_flag=0
  5. 如违规 → 点击"强制下架",填写原因,status=0
  6. 系统记录审核日志
  7. 系统通知发布者

替代流程:

  • 5a. 未填下架原因 → 提示"请填写下架原因"

后置条件: 招工状态已更新,审核日志已记录


UC-AU-005: 审核SLA提醒(24小时)

主要参与者: 系统(定时任务)

前置条件: 有待审核项超过24小时

基本流程:

  1. 定时任务每小时扫描一次
  2. 查询创建时间超过24小时且未处理的审核项
  3. 系统发送提醒通知给对应审核员
  4. 记录提醒日志

替代流程: 无

后置条件: 提醒已发送


UC-AU-006: 审核SLA升级(48小时)

主要参与者: 系统(定时任务)

前置条件: 有待审核项超过48小时

基本流程:

  1. 定时任务每小时扫描一次
  2. 查询创建时间超过48小时且未处理的审核项
  3. 系统发送升级提醒给超级管理员
  4. 记录提醒日志

替代流程: 无

后置条件: 升级提醒已发送


UC-AU-007: 后台查看招工巡查列表

主要参与者: 审核员、超级管理员

前置条件: 已登录后台管理系统

基本流程:

  1. 管理员进入"内容审核" → "招工巡查"
  2. 系统查询所有招工信息(含已下架)
  3. 系统按发布时间倒序展示
  4. 管理员可筛选:状态、关键词标记、时间范围
  5. 管理员可强制下架违规内容

替代流程: 无

后置条件: 无数据变更


用例统计

模块 用例数 功能点覆盖
果农名片 7 4/4
招工发布 6 5/5
找工人 4 2/2
找客商 3 2/2
后台审核 7 3/3
总计 32 14/14