SOP-202:资金池挂账入账 E2E 测试

文档元数据

  • 文档类型:SOP / Checklist
  • 适用场景:资金池挂账入账工作流测试
  • 配置文件recharge_pending_prod.yaml
  • 创建者:QA / 自动化工程
  • 最近更新时间:2025-12-22
  • 工作流类型recharge_pending_prod (资金池挂账入账)

核心概念

资金池挂账入账资金池入账 的关键区别:

工作流类型 配置文件 审批流程 开关状态
资金池入账 recharge_prod 财务审批 垫款充值:✅ 开启
挂账充值:❌ 关闭
资金池挂账入账 recharge_pending_prod 媒介审批 垫款充值:❌ 关闭
挂账充值:✅ 开启

⚠️ 重要:在"客户入账单"弹窗中,挂账充值开关的状态决定了工作流类型和审批流程!

流程图

graph LR
    A[客户详情] --> B[点击入账]
    B --> C[开启挂账充值]
    C --> D[填写金额]
    D --> E[上传证明]
    E --> F[提交申请]
    F --> G[媒介部门审批]
    G -->|通过| H[挂账生效]
    G -->|驳回| I[流程结束]

审批角色

步骤 审批人 说明 关键区别
媒介审批 媒介 / 媒介经理 媒介部门确认挂账入账申请 ⚠️ 不需要财务审批

前置条件

检查项 要求 验证方式 截图参考
环境可用 CRM 系统正常运行 访问 http://localhost:3000 sop-202-01-login-page.png
用户登录 具有操作权限的账号 登录成功并进入首页 sop-202-02-dashboard.png
客户存在 至少有一个客户 客户列表非空 sop-202-06-customer-list.png
媒介账号 媒介/媒介经理账号可用 后台设置 → 用户管理

任务矩阵(Excel Checklist 行模板)

任务 T1:环境准备与登录

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:访问 CRM 系统 URL: http://localhost:3000 显示登录页面 页面正常加载 sop-202-01-login-page.png [✓] 步骤 2
步骤2:登录系统 用户名 + 密码 登录成功,进入首页 显示 CRM 首页 sop-202-02-dashboard.png [✓] 步骤 3
步骤3:导航到客户列表 点击侧边栏"客户"菜单 显示客户列表 列表加载成功 sop-202-06-customer-list.png [✓] T2

步骤1:访问 CRM 系统

CRM 登录页面

步骤2:登录成功后的首页

CRM 首页

步骤3:客户列表页面

客户列表

:可选步骤 - 查看工作流列表和资金池列表以了解系统状态

可选:查看工作流列表

工作流列表

可选:查看工作流类型

工作流类型抽屉

任务 T2:发起挂账入账申请

关键操作路径客户列表打开客户详情点击入账按钮开启挂账充值提交

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:打开客户详情 点击客户列表中的任意客户行 弹出客户详情抽屉 显示客户资金池信息 [✓] 步骤 2
步骤2:点击入账按钮 在客户详情中点击某个资金池的操作按钮 弹出"客户入账单"对话框 显示入账表单 sop-202-09-customer-detail-opened.png [✓] 步骤 3
步骤3:配置挂账入账 ⚠️ 关键:开启"挂账充值"开关
金额:100
上传入账证明截图
表单填写完成
挂账充值开关为绿色(开启状态)
垫款充值开关为灰色(关闭状态)
表单验证通过 sop-202-10-pending-recharge-form.png [✓] 步骤 4
步骤4:提交申请 点击"入账"按钮 提交成功,显示成功对话框 显示"提交成功",提示"点击此处 查看审批流程" sop-202-11-submit-success.png [✓] 步骤 5
步骤5:查看工作流详情 点击"点击此处"链接 跳转到工作流详情页面 显示工作流ID、发起人、审批人信息 sop-202-12-flows-page-after-submit.png [✓] 步骤 6
步骤6:确认工作流信息 查看工作流详情各项数据 工作流类型:资金池挂账入账
状态:等待审批
总金额:¥ 100.00
审批人:媒介部门(5人)
数据正确,审批人为媒介 sop-202-13-flow-detail-transaction.png [✓] T3

步骤2:点击入账按钮 - 客户入账单弹窗

客户入账单弹窗

图示:点击客户详情中的入账按钮后,弹出"客户入账单"对话框,显示资金池余额、挂账、垫款等信息,以及两个关键开关。

步骤3:配置挂账入账表单(关键步骤)

挂账入账表单

图示:⚠️ 关键配置 - 挂账充值开关为绿色(开启),垫款充值开关为灰色(关闭),输入金额100元,已上传入账证明。

步骤4:提交成功

提交成功对话框

图示:提交成功后显示"提交成功"对话框,提供"点击此处 查看审批流程"链接。

步骤5:工作流详情页面

工作流详情

图示:点击链接后跳转到工作流详情页面,显示工作流ID、发起人、审批人等信息。工作流类型为"资金池挂账入账"。

步骤6:交易概览信息

交易概览

图示:向下滚动查看交易概览,显示总金额¥100.00、交易编号、状态等详细信息,以及已上传的入账证明附件。

⚠️ 特别说明: - 入账弹窗中有两个开关:垫款充值挂账充值 - 挂账入账 = 挂账充值开启 + 垫款充值关闭 - 普通入账 = 垫款充值开启 + 挂账充值关闭 - 开关状态会影响工作流类型和审批流程!

任务 T3:媒介审批流程

审批人员:媒介部门人员(媒介 / 媒介经理)

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:切换到媒介账号 登录媒介/媒介经理账号 登录成功 显示 CRM 首页 [?] 步骤 2
步骤2:查看待审批任务 进入"工作流" → "要我审批" 看到待审批的挂账入账申请 列表显示对应工作流 [?] 步骤 3
步骤3:打开工作流详情 点击工作流记录 显示审批详情 显示审批历史和"通过"/"驳回"按钮 [?] 步骤 4
步骤4:确认审批信息 查看审批历史 tab 显示当前待审批人员列表
共5个媒介人员待审批
审批历史正确 sop-202-15-approval-history.png [✓] 步骤 5
步骤5:审批通过 点击"通过"按钮 审批成功,流程流转 显示审批成功提示 [?] T4

步骤4:审批历史查看

审批历史

图示:审批历史页面显示当前审批进度。超级管理员已批准(绿色勾),待审批人员包括5位媒介部门人员:代兰平、张慧、张琼、邓颖慧、邓彩霞。

注意: - 在测试环境中,可能需要使用具有媒介角色的账号登录才能看到审批按钮 - 挂账入账工作流的审批人是媒介部门,不同于普通入账的财务审批 - 审批历史截图显示有5个媒介人员待审批:代兰平、张慧、张琼、邓颖慧、邓彩霞

任务 T4:验证挂账生效

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:查看流程状态 在工作流列表中查看该工作流 状态变为"已完成" 流程详情显示已完成 [?] 步骤 2
步骤2:验证资金池余额 进入客户详情查看资金池 挂账金额已转为正常余额 余额数据更新 [?]

异常场景测试

测试场景一:媒介审批拒绝

Action Steps Input / Payload 预期结果 验证方式 证据 状态
1. 媒介点击"驳回" 拒绝理由:挂账信息不完整 流程被拒绝 状态变为"已拒绝" 屏幕截图 [ ]
2. 验证资金池状态不变 查看客户资金池 挂账金额未生效 挂账金额保持原状 屏幕截图 [ ]
3. 通知发起人 查看系统通知 收到驳回通知 通知信息完整 屏幕截图 [ ]

测试场景二:无效金额输入

Action Steps Input / Payload 预期结果 验证方式 证据 状态
1. 填写零金额 金额:0 表单验证失败 显示"入账金额必须大于0" 屏幕截图 [ ]
2. 填写负数金额 金额:-100 表单验证失败 显示错误提示或无法输入 屏幕截图 [ ]

测试场景三:未上传证明

Action Steps Input / Payload 预期结果 验证方式 证据 状态
1. 不上传入账证明直接提交 金额:100,证明:空 提交失败或给出警告 显示错误提示 屏幕截图 [ ]

进度采集模板

Task ID Task Name Assignee Start Time End Time Status Evidence Notes
T1 环境准备与登录 QA 2025-12-22 10:00 2025-12-22 10:05 [✓] screenshots/sop-202-01~06 已完成
T2 发起挂账入账申请 发起人 2025-12-22 10:06 2025-12-22 10:10 [✓] screenshots/sop-202-09~13
工作流ID: 10f15eb1-b5c4-46e6-ad95-fd35a7581531
已提交,金额¥100
T3 媒介审批流程 媒介部门 2025-12-22 10:10 [进行中] screenshots/sop-202-15 待5个媒介人员审批
T4 验证挂账生效 QA [待开始] 等待T3完成

API 相关信息

工作流配置

配置文件位置: core/internal/workflow/recharge_pending_prod.yaml

# 资金池挂账入账配置示例
name: 资金池挂账入账
type: recharge_pending_prod
approval_roles:
  - role: media  # 媒介审批
    required: true

相关 API 端点

参考 crm.swagger.json 中的工作流相关接口:

  • POST /api/v1/flows - 创建工作流
  • GET /api/v1/flows/{flowId} - 查看工作流详情
  • POST /api/v1/flows/{flowId}/approve - 审批通过
  • POST /api/v1/flows/{flowId}/reject - 审批驳回

数据库记录

工作流提交后会在以下表中创建记录:

  • flows - 工作流主表
  • flow_items - 工作流明细(交易信息)
  • flow_approvals - 审批记录

注意事项

1. 关键概念理解

挂账 vs 入账: - 挂账:客户有待确认的款项记录,需要审批后才能成为正式余额 - 入账:直接充值到资金池,立即生效

2. 工作流类型区分 ⚠️

最关键的区别 —— 看"客户入账单"弹窗中的开关状态:

特征 资金池入账 (recharge_prod) 资金池挂账入账 (recharge_pending_prod)
垫款充值 ✅ 开启(绿色) ❌ 关闭(灰色)
挂账充值 ❌ 关闭(灰色) ✅ 开启(绿色)
审批流程 财务部门审批 媒介部门审批
配置文件 recharge_prod.yaml recharge_pending_prod.yaml

对比截图

挂账入账表单 - 挂账充值开启

上图:资金池挂账入账表单 - 注意挂账充值开关为绿色(开启),垫款充值开关为灰色(关闭)

3. 操作路径

正确的发起路径(从客户详情发起):

客户列表 → 点击客户行 → 客户详情抽屉弹出 → 
点击某个资金池的操作按钮 → "客户入账单"弹窗 → 
开启"挂账充值"开关 → 填写金额 → 上传证明 → 提交

错误的理解 ❌: - ~~从工作流列表直接创建~~ (无此入口) - ~~从资金池列表直接操作~~ (需要先进入客户详情)

4. 审批权限

  • 审批角色:媒介 / 媒介经理
  • 审批入口:工作流 → 要我审批 tab
  • 关键区别:不需要财务审批(与普通入账的主要区别)

5. 测试建议

  • 使用独立的测试客户,避免影响生产数据
  • 建议测试金额为小额(如 100 元)
  • 保留完整的截图证据链
  • 验证审批历史中的审批人列表是否正确(应该是媒介部门人员)

6. 常见问题

Q1: 为什么看不到"通过"/"驳回"按钮?
A: 需要使用指定的审批人账号(媒介)登录,并在"要我审批" tab 中打开工作流详情。

Q2: 挂账和垫款有什么区别?
A: - 挂账充值:客户预付款,需媒介审批确认 - 垫款充值:公司垫付,需财务审批确认

Q3: 如何判断工作流类型?
A: 查看工作流详情页面的标题,或者审批历史中的审批人角色。

相关文档

测试执行记录

执行日期:2025-12-22

测试环境:http://localhost:3000

测试账号: - 发起人:超级管理员 - 审批人:媒介部门(代兰平、张慧、张琼、邓颖慧、邓彩霞)

测试结果: | 任务 | 状态 | 说明 | |-----|------|------| | T1 - 环境准备 | ✅ 通过 | 登录成功,客户列表正常 | | T2 - 发起申请 | ✅ 通过 | 工作流创建成功,ID: 10f15eb1-b5c4-46e6-ad95-fd35a7581531 | | T3 - 媒介审批 | 🔄 进行中 | 待5个媒介人员审批 | | T4 - 验证生效 | ⏳ 待执行 | 等待审批完成 |

关键发现: 1. ✅ 挂账充值开关状态正确影响工作流类型 2. ✅ 审批人为媒介部门(与普通入账的财务审批不同) 3. ✅ 提交流程顺畅,用户体验良好 4. ⚠️ 需要使用媒介账号登录才能完成审批步骤

截图清单: - 共17张截图,涵盖完整的发起和审批查看流程 - 所有截图位于 docs/SOP/screenshots/sop-202-*.png


文档版本: v1.0
最后更新: 2025-12-22
更新人: AI Assistant
审核状态: 待审核