# Admin FBA 价格簿模块指引 ## 路径基准与读取顺序 - 本文件适用于 `src/modules/fba-pricing/`,代码路径相对本目录;应用公共规则见 `../../../AGENTS.md`。 - 子域:`carrier-rates/`(客户专属价格簿、柜级阶梯运费、上传与确认)、`customer-rules/`(客户计费规则);各自有页面与 API。 - 后端归 `firstleg/`(`FbaPricingService.java`、`PlatformPriceBookService.java`、`firstleg/pricing/ContainerTierAmountAllocator.java`);计费消费方见 `../inbounds/`。 ## 页面与入口 | 目标 | 页面/入口 | API 与后端 | |---|---|---| | 客户专属价格簿列表、上传与确认 | `carrier-rates/pages/CarrierRatesView.vue` | `carrier-rates/api/platformPriceBooks.ts`;`firstleg/PlatformPriceBookService` | | 价格版本详情、仓库映射与只读价格行 | `carrier-rates/pages/CarrierRateDetailView.vue` | 同上 | | 客户计费规则 | `customer-rules/api.ts` | `firstleg/` 箱规与计价主数据 | | 对外导出 | `public.ts` | — | ## 关键边界 - 价格簿页面必须显式选择公共报价或具体客户;列表、上传、确认只作用于该 `customerId`,不混版本。 - 计价优先客户专属 ACTIVE 版本,无专属才回退公共 ACTIVE;柜级阶梯金额与分摊只展示服务端结果。 - 调整计费量只能在服务端允许区间内,并提交当前费用版本、原因与二次确认。 - 上传后按 `versionId` 进入独立详情页,价格行只读;确认动作不可逆,需二次确认。 - 私人仓尾程派送费使用稳定代码,只对 `PRIVATE` 目的地开放;一件代发须在预装确认前完成试算。 ## 验证 - 定向:`pnpm test src/modules/fba-pricing/<目标测试>`;价格字段变化同时核对 `fba-pricing-v1.yaml` 与 `../inbounds/` 计费消费。 - 本文件或索引变更后,从后端根运行 `./scripts/agents-index-contract.ps1`。