Files
junhong_cmp_fiber/openspec/changes/add-asset-operation-audit-log/tasks.md
huang fe4c545308
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
修正数据
2026-04-27 18:10:08 +08:00

3.9 KiB
Raw Blame History

0. 验证准备与覆盖矩阵确认

  • 0.1 梳理资产敏感写操作覆盖矩阵(卡/设备/统一资产入口/自动停复机/导入任务创建),明确每个操作对应 operation_type
  • 0.2 定义日志字段验收清单:operator_*asset_*operation_*before_dataafter_datarequest_*result_*
  • 0.3 准备手工验收数据与脚本Postman/curl + PostgreSQL MCP 查询语句),覆盖 success/failed/denied 三类结果

1. 资产域日志模型与迁移

  • 1.1 新增资产操作日志 Modeltb_asset_operation_log)与 JSONB 字段结构,确保无外键/无 GORM 关联标签
  • 1.2 新增迁移文件up/down创建资产日志表和索引按资产、操作人、时间、结果等维度
  • 1.3 新增 Store 能力Create + 常用查询基础方法),满足异步写入与后续审计检索
  • 1.4 使用 PostgreSQL MCP 验证表结构、索引、字段类型与约束符合设计

2. 审计基础设施与常量

  • 2.1 在 pkg/constants 新增资产审计常量:操作类型、结果类型、资产类型、系统操作者类型等
  • 2.2 新增 asset_audit 服务与统一写入接口(异步落库、失败不阻断主流程)
  • 2.3 新增日志构建 helper统一 before/after、请求上下文、错误信息组装
  • 2.4 在 bootstrap 完成依赖注入(iot_carddevicestop_resumeasset lifecycleasset polling、导入服务)
  • 2.5 编译校验与静态检查(gofmtgo build)确保注入链路无回归

3. IoT 卡相关操作接入审计

  • 3.1 接入单卡分配/回收审计日志(包含前后归属、结果态)
  • 3.2 接入卡系列绑定、轮询开关、实名策略更新审计日志
  • 3.3 接入手动实名状态更新审计日志(必须记录 before/after
  • 3.4 接入卡删除/批量删除审计日志
  • 3.5 对卡相关拒绝与失败路径补充 denied/failed 审计日志
  • 3.6 手工验证卡操作日志完整性success/failed/denied + before/after

4. 设备相关操作接入审计

  • 4.1 接入设备删除、分配、回收、系列绑定审计日志
  • 4.2 接入设备绑卡/解绑审计日志(记录设备、卡、插槽与状态变化)
  • 4.3 接入设备停机/复机审计日志(记录成功数、失败数、失败摘要)
  • 4.4 接入设备远程控制审计日志(限速/WiFi/切卡/切卡模式/重启/恢复出厂)
  • 4.5 落实敏感字段脱敏WiFi 密码等不得明文写入日志)
  • 4.6 手工验证设备操作日志(含敏感字段脱敏校验)

5. 统一资产入口与停复机链路接入

  • 5.1 在统一资产入口相关写操作中补齐审计日志(停复机、停用、轮询状态、实名策略)
  • 5.2 在自动停复机链路补齐审计日志(自动停机/自动复机成功与失败)
  • 5.3 在手动停复机拒绝场景补齐 denied 审计日志(未实名、保护期等)
  • 5.4 校验系统触发操作的操作者语义(operator_type=system 等)
  • 5.5 手工验证统一入口与停复机链路审计闭环

6. 导入任务创建与批量链路补齐

  • 6.1 接入设备导入任务创建审计日志(记录任务参数摘要与创建结果)
  • 6.2 接入卡导入任务创建审计日志(记录任务参数摘要与创建结果)
  • 6.3 校验批量操作日志的聚合字段(batch_total/success_count/fail_count
  • 6.4 手工验证导入与批量链路审计数据可追溯

7. 文档与最终验收

  • 7.1 编写功能总结文档(docs/{feature-id}/),说明字段规范、覆盖范围、脱敏规则、查询示例
  • 7.2 更新 README 相关章节(资产审计日志能力与排障入口)
  • 7.3 完成全链路手工验收:卡与设备典型操作各覆盖 success/failed/denied 至少一例
  • 7.4 输出验收证据:接口请求响应、日志样例、数据库快照与关键 SQL 查询结果