Files
atlas-seller-kit/docs/reviews/sku-pricing-verification.md
T
2026-09-28 17:34:33 +08:00

63 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SKU 定价实现与验证记录
日期:2026-09-28。方案:[SKU 定价工作流](../product/sku-pricing-workflow-proposal.md)。接口:[定价 API](../api/pricing.md)。
## 实现范围
- SKU 采购价失焦/回车自动计算,可关闭自动计算;支持按钮计算和批量计算,手动售价保留。
- 明细弹窗支持费用、汇率、包装、运输方式比较;取消不改草稿,应用仅回填当前 SKU,保存商品才确认报价。
- 独立试算与 SKU 共用服务端 Decimal 计算器;门店方案支持创建、编辑、默认、归档和参数另存,另存后列表立即更新。
- 商品保存事务核对预览归属、期限、输入和规则;确认任一 SKU 失败则全部回滚。新 SKU 使用 client_key 映射真实 ID。
- 报价与候选不可变,输入改变使有效标记失效;未定价允许保存草稿,首次发布预检要求有效报价。
- Worker 增加 CBR 官方参考汇率同步、并发锁及过期预览清理。
跨领域影响:Web 交互、API 计算/确认、Worker 同步、contracts DTO、database 约束与初始化,以及开发构建依赖。现有 `.env.example` 用户改动未修改。
## 自动验证
| 验证 | 结果 |
| --- | --- |
| 定价引擎单元测试 | 9 项通过:十进制、币种舍入、体积重、边界、规则适用性、负利润及输入规范化 |
| 定价 HTTP/PostgreSQL 集成测试 | 11 项通过:幂等、租户与 SKU 归属、原子确认、并发、失效、不可变快照、方案管理 |
| 既有商品编辑集成测试 | 12 项通过 |
| 系统物流费率审核 HTTP/PostgreSQL 集成测试 | 1 项通过:管理员鉴权、六类账单复算、重复账单拒绝、并发幂等、已审核版本和规则归属不可改写;与上述测试合计 33 项 |
| CBR 解析测试 | 2 项通过:面额换算与非法响应 |
| contracts、API、API 测试、Web、Worker 类型检查 | 通过 |
| contracts、database、API、Worker 构建及 Web 生产构建 | 通过;Web 仍有较大 bundle 提示 |
| Turbo dev dry-run | API/Worker 先构建 contracts/database,Web/扩展先构建 contracts |
| git diff --check | 通过 |
CBR 官方公开接口实际请求成功,解析得到生效日期 `2026-09-26`、CNY/RUB `12.5355000000`。同步函数检测到数据库两小时内已有官方记录而跳过重复抓取;本轮未强制改写既有汇率。
## 浏览器联调
使用隔离工作空间、临时平台、门店及标明测试用途的费率,真实调用本地 API:
- 采购价变化自动回填售价与利润;手动售价 90 在采购价变化后保持。
- 明细取消保留原草稿,应用后保存并重读显示“已确认”。
- 批量计算保留手动售价,缺采购价的 SKU 单独提示,允许其保存未定价草稿。
- 独立试算样例采购 28 CNY,包装 380 g / 220×160×90 mm,返回售价 77.44 CNY、利润 14 CNY。
- 参数另存弹窗成功保存,方案管理列表立即显示新方案。
- Ozon 正式上下文没有审核费率时显示明确空状态。
- 2026-09-28 补充:目录返回待复核费率卡;试算与方案页明确显示草稿版本及新建方案的阻断原因,并向系统管理员提供审核页入口。
- 2026-09-28 后续补齐:系统管理新增物流费率审核页及管理员 API。账单样本按正式计费函数复算,审核记录和启用状态同事务保存;普通用户 403、差额不符 422、成功/幂等/重复审核由 PostgreSQL 集成测试覆盖。CEL 正式草稿仍保持待审核,未使用测试账单启用。
- 管理员真实会话浏览器联调通过:菜单可进入审核页,展示 Ozon CEL 六种产品类型与 16 条规则;审核表单具备六类样本输入与可滚动区域,定价页可直达入口。未提交正式资费审核。
联调发现并修复 contracts 开发导出缺失、JSONB 键顺序/金额末尾零导致报价误失效、弹窗应用后自动重算覆盖候选和方案列表未即时更新。最终自动回归以修复后的正式测试文件为准;过程中旧临时夹具出现的失败不计入通过结果。
## 本地操作与清理
- 迁移器应用原先待执行的 `033`~`042` 及本次 `043`~`051`。新增迁移已应用,不应再编辑其内容。
- 维护者 Web `8100`、API `8200` 继续运行;未主动停止这两个服务,开发监听器随文件修改自动重载。
- 临时测试应用已退出;测试平台、门店及工作空间数据已清理,查询临时平台剩余数为 0。
- 临时测试代码和凭证文件已删除,浏览器恢复 Ozon 平台,任务页面已关闭。
- 审核测试创建的未来生效 QA 费率已清理(剩余 0);CEL 正式版本 `cel-rfbs-review-2026-09` 仍为 draft,16 条规则仍为 draft,审核时间为空。
## 后续业务工作
1. 按真实账单审核 CEL 费率和适用边界,补齐正式类目佣金映射。本次 CEL 种子保持 draft,测试费率没有进入正式平台。
2. 使用真实商品、CNY/RUB 门店回归费用与利润;产品中的净利润是已配置费用下的预估值。
3. 将 Ozon 首次发布 job、import 提交和结果轮询接到已有发布预检及报价快照。当前预检 ready 不等于已发布。
现在可直接运行 `pnpm dev`,无需每次手工先执行完整 `pnpm build`。部署仍须按顺序执行迁移和生产构建。