# 证据库最小改造验证记录 ## 验证时间 2026-04-21 ## 验证环境 - 前端:`http://localhost:62319` - 后端:`http://localhost:62318` - 项目:`test` - 项目 ID:`90337` ## 验证结果 | 验证项 | 结果 | 说明 | | --- | --- | --- | | 后端编译 | 通过 | `mvn -pl ccdi-project -am compile -DskipTests` 成功 | | 前端构建 | 通过 | `npm run build:prod` 成功,仅存在原有包体积 warning | | 数据库表 | 通过 | `ccdi_evidence` 已存在 | | 模型证据入库 | 通过 | 模型详情小号「加入证据库」可打开弹窗并保存,生成 `EV-001` | | 流水证据入库 | 通过 | 流水详情小号「加入证据库」可打开弹窗并保存,当前代码已改为使用 32 位 MD5 指纹作为 `source_record_id` | | 资产证据入库 | 通过 | 资产详情小号「加入证据库」可打开弹窗并保存,已验证旧规则测试数据 `EV-003` 与新指纹规则测试数据 `EV-004` | | 证据线索抽屉 | 通过 | 抽屉展示三类证据,包含编号、类型、关联人员、摘要、来源、确认人、备注 | | 前端控制台 | 通过 | 验证后未发现 error/warn | | 模型/资产来源指纹更新 | 通过 | 已重启后端并通过 MCP 页面验证:模型证据、资产证据均可打开确认弹窗,本次未确认入库,避免新增测试数据 | | 证据抽屉跳转入口 | 通过 | 本期不做原记录跳转,已移除抽屉卡片中的「查看流水详情」「查看模型详情」「查看资产详情」按钮 | ## 落库核对 项目 `90337` 当前证据数: | 类型 | 数量 | | --- | ---: | | FLOW | 1 | | MODEL | 1 | | ASSET | 2 | | 合计 | 4 | ## 注意事项 - 本次验证产生了测试证据数据,如正式交付前需要干净环境,可按项目 ID 清理。 - 历史已保存的测试证据可能保留旧来源标识,新保存的流水、模型、资产证据会按当前规则生成 MD5 指纹。 - 当前代码已将模型证据来源标识改为 `md5(人员身份证+模型编码)`,资产证据来源标识改为 `md5(人员身份证+资产字段)`,均不拼接项目 ID。 - 为让模型详情前端拿到模型编码,后端仅补充返回 `modelCode` 字段,不涉及表结构和接口路径变更。 ## 后续边界 - 证据卡片「查看详情」本期不做真实跳转,当前抽屉不展示跳转按钮;后续如要定位原记录,可基于 `source_type`、`source_record_id`、`snapshot_json` 增加跳转逻辑。 - 跨项目引用/复用 UI 本期不做;当前 `source_record_id` 已按不拼接项目 ID 的规则生成,后续具备按同一来源指纹做跨项目比对的基础。 - 重复证据拦截本期不做;当前允许同一项目内重复确认,后续可按 `project_id + evidence_type + source_type + source_record_id` 增加唯一性提示或软拦截。