跳转至

DIP1 工作日志 — UAT 第二轮 4 项新 Bug 修复

DWLG 编号:DWLG-20260810-06 日期:2026-08-10 参与方:DIP1 Code Agent 关联文档DWLG-20260810-05 UAT 第二轮复测报告(§三 新发现 5 项) 关联 Issue:无


一、修复内容(对应复测报告 §三)

Bug 严重度 修复 文件
BUG-NEW-01 试算金额为 0 🔴 P0 按方案 A:calculate_preview 增加可选 db 参数——category_id 为品类 code 时走内存快查(保持单测兼容);为 CAT 前缀 ULID 时 resolve_category 查表取 code + 基础价/封顶价,与 create_quote 语义统一 qsv_service.py / api/qsv.py
BUG-NEW-02 报价列表品类列空 🟡 P1 列表「品類」列改渲染 category_code + CATEGORY_LABELS 中文映射 quotes/page.tsx
BUG-NEW-03 看板品类显示 UUID 🟡 P1 按方案 A:后端 CptOrderCard 增加 category_code(repo 新增 category_code_map 批量查询,ENUM→TEXT);前端看板卡片优先用 category_code 映射中文 dtos/cpt.py / repositories/cpt.py / cpt_service.py / orders/page.tsx / types.ts
BUG-NEW-04 驾驶舱池数量为 0 🟢 P2 代码复核无误(PoolKey 6 键、POOL_LABELS 6 项、board[pool]?.length 提取逻辑均正确;curl 实测返回 {L1:1, L3:1, L6:1})。判断为复测时浏览器缓存旧 chunk(本轮复测曾发生 .next 缓存损坏 BUG-NEW-05)——建议 Ctrl+F5 强刷复测,无需改码 (无变更)
BUG-NEW-05 .next 缓存损坏 运维 DT 已处置(清缓存重启),无需代码修复

二、回归与验证

验证 结果
后端 pytest 全量 74 passed, 0 failed(新增 UUID 试算回归测试:CAT 前缀 ID → base_fee 380/cap 1200/final>0)
ruff app+tests All checks passed
opr-admin typecheck + build ✅ 15 静态页全生成
端到端 curl ✅ UUID 试算 380/1200;✅ 看板卡片带 category_code(WARDROBE/BED/KITCHEN_CABINET);✅ 报价列表带 category_code

三、统一性说明(本轮根因)

本轮 3 个显示/计算问题同根:品类标识符语义不统一(category_id ULID vs category_code)。修复后规则:

场景 规则
前端 → 后端入参 category_id 可传 code 或 ULID,后端双路解析(resolve_category)
后端 → 前端展示 列表/看板均同时输出 category_id + category_code,前端展示一律用 category_code 映射中文
金额字段 后端 Decimal JSON 字符串,前端 formatMoney/toNumber 统一兼容

四、状态矩阵更新(DIP1-IMP §7.1)

  • C-B1(QSV):🟢(试算/列表/详情/状态流转/参数版本全链路通)
  • C-C2(opr-admin):🟢+(复测 8 页全可用 + 本轮 3 处显示修复)

修订记录

版本 日期 修订人 修订内容
V1.0 2026-08-10 DIP1 Code Agent 创建:UAT 第二轮 4 项新 Bug 修复记录

后端服务已用修复后代码重启(localhost:8000);前端重新 dev 即可复测,驾驶舱请 Ctrl+F5 强刷。