# 模块 4:审计日志设计
工单是多人协作过程。关键动作必须能回答:谁、什么时候、对哪个工单、改了什么、结果如何。
指派
状态变更
优先级变更
驳回
关闭
删除
--- # 审计日志字段表
| 字段 | 含义 | 示例 | |---|---|---| | ticket_id | 工单 ID | WO-001 | | operator | 操作人 | zhangsan | | action | 操作动作 | assign / transition / edit | | field_name | 字段名 | status / assignee | | before_value | 修改前 | processing | | after_value | 修改后 | pending_verify | | result | 操作结果 | success / fail | | operate_time | 操作时间 | 2026-06-29 10:00 | | remark | 备注 | 提交验证说明 |
--- # 详情页操作记录
| 展示字段 | 说明 | |---|---| | 操作时间 | 按时间倒序 | | 操作人 | 当前登录用户 | | 动作 | 指派、提交验证、驳回、关闭 | | 变更内容 | status: processing -> pending_verify | | 备注 | 处理说明、驳回原因 | | 结果 | success / fail |
--- # 审计日志 SOP
```md 必须记录: 新增、编辑、删除、指派、状态变更、优先级变更、驳回、关闭。 展示位置: 工单详情页操作记录区域。 事务要求: 状态更新和日志写入在同一业务事务内完成。 验收: 执行状态变更、指派、驳回、关闭后,详情页能看到对应审计记录。 ```
--- # 可直接复制到 rules:审计日志
```md ## 关键业务操作必须写审计 - 级别:硬约束 - 适用场景:创建、编辑关键字段、指派、状态流转、驳回、关闭、删除、导出、权限变更。 - 必须:记录 actor、action、target_id、old_value、new_value、source、request_id、created_at 或项目等价字段。 - 禁止:只记录普通日志而没有业务审计;操作失败后写成功审计。 - 验收方式:执行关键操作后可查询审计记录,字段与实际变更一致。 ## 审计和业务写入必须一致 - 必须:明确审计写入时机、事务关系、失败处理和重试策略。 - 禁止:业务成功审计丢失,或审计成功但业务失败。 - 验收方式:模拟业务失败和审计失败,结果符合一致性策略。 ```