Files
TARE-Learn/slidev/pages/day4/m3-status-transition.md
T
2026-07-02 10:04:32 +08:00

3.0 KiB

模块 3:工单状态流转规则实现

工单状态不能靠临时 if else。必须先设计状态机,再实现接口和校验。

created
已创建
→
processing
处理中
→
pending_verify
待验证
→
closed
已关闭
pending_verify → rejected → processing

状态流转表

当前状态 动作 目标状态 允许角色 前置条件 失败提示
created 指派 processing 管理员/负责人 必须选择指派人 请选择指派人
processing 提交验证 pending_verify 研发/负责人 必须填写处理说明 请填写处理说明
pending_verify 关闭 closed 测试/负责人 验证通过 当前工单不可关闭
pending_verify 驳回 rejected 测试/负责人 必须填写驳回原因 请填写驳回原因
rejected 重新处理 processing 研发/负责人 必须填写处理说明 请填写重新处理说明

非法流转清单

当前状态 尝试动作 系统响应 验收
closed 重新处理 返回非法状态流转 状态不变
created 关闭 返回非法状态流转 页面提示原因
processing 驳回 返回非法状态流转 状态不变
pending_verify 驳回但无原因 返回参数错误 提示填写原因
任意状态 无权限流转 返回权限拒绝 不完成操作

状态流转接口契约

POST /workOrder/assign
字段:id、assignee、remark

POST /workOrder/transition
字段:id、action、targetStatus、remark、version

验收:
合法流转成功;非法流转失败;状态不被错误修改;审计日志可查。