Files
order_site/docs/履约配置/cloudtentacles发货平台.md
yml2213 7bacb7d5eb docs: 重构项目文档并补充三块载体、成本中心与人工支出方案
合并本轮全部文档改动(原 5 个 docs 提交压成 1 个)。

口径与索引:
- 新增 docs/README.md 文档总索引:三来源口径(91 + 快手 send-code = kuaishou-91)、
  「一个订单 = 骨架 + 买家凭证 + 一个执行载体」、成本只改一处、文档状态机
- 过期阶段文档移入 docs/archive/2026-10-08/(保留内容,不删除)

分析报告:
- docs/项目全量分析报告-2026-10-17.md:架构、五条业务链路、P0/P1/P2 风险与改进路线
- docs/载体判定与成本中心落地-复核与草案-2026-10-17.md:生产只读克隆量化、上一轮结论复核与 4 处修正

方案文档:
- docs/成本中心与三块履约模型.md:三块执行载体、标准商品、成本版本与快照、人工支出登记
- docs/财务系统集成方案.md:复式记账模型、分录表、分期落地
- docs/影子总账说明.md:影子期与转正期的边界、对账与转正标准

SQL 草案(docs/drafts/,未接入迁移):
- 载体判定与人工块量化.sql:量化查询、carrier_type 判定与回填、守恒校验
- 成本中心与销售事实-DDL草案.sql:product_catalog / channel_product_mappings /
  cost_items / cost_versions / cost_snapshots / cost_exceptions / sales_daily_facts
- 人工支出登记-DDL草案.sql:manual_fulfillment_cases / manual_expense_records / manual_expense_events

业务口径确认(2026-10-17):
- 收入 = 用户实付(orders.total_amount),与快手 paymentFen 数据核验 100% 一致
- 打手报酬 = 支出/成本(最终提现打款),按总额法
- 人工块以「支出可追溯」为先,SLA 监管延后
- 退款/仲裁暂未接入,先预留字段与反向冲正关系

三份草案已在一次性沙箱库按依赖顺序零错误应用(10 张新表、27 个 CHECK 约束)。
2026-10-17 22:03:03 +08:00

487 lines
16 KiB
Markdown
Raw Permalink 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.
> ⚠ 本仓库当前**未接入** cloudtentacles 通道:该履约通道已下线,`apps/backend/src/services/platforms/` 下已无对应适配器,`fulfillment/executors/registry.ts:18-19` 对历史通道只保留只读 legacy stub(`legacy-retired-executor.ts`)。本文是第三方(cloudtentacles)官方接口样例,仅作外部参考。
> 现行自动履约通道是 affiliate-dash(`apps/backend/src/services/platforms/affiliate-dash/`,走 `/api/client/v1`);通道现状见 `docs/affiliate-dash-发货平台/affiliate-dash对接.md`。
查询SKU列表
```
{
"baseUrl": "https://123.207.217.176",
"itemCount": 12,
"items": [
{
"id": 5,
"categoriesId": 2,
"name": "黑色高级特训官上衣",
"description": "黑色高级特训官上衣",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023027lsvnRuLH.jpg",
"inventory": 99980,
"price": 360,
"listingTime": "2024-09-01 00:00:00",
"delistingTime": "2027-03-07 00:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 5,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023027lsvnRuLH.jpg",
"inventory": 99980,
"desc": "黑色高级特训官上衣",
"name": "黑色高级特训官上衣",
"price": 360,
"listing_time": "2024-09-01 00:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 6,
"categoriesId": 2,
"name": "套装-暗影哥特",
"description": "套装-暗影哥特",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023032PrIv36BU.jpg",
"inventory": 68931,
"price": 888,
"listingTime": "2024-09-01 00:00:00",
"delistingTime": "2027-03-07 00:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 6,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023032PrIv36BU.jpg",
"inventory": 68931,
"desc": "套装-暗影哥特",
"name": "套装-暗影哥特",
"price": 888,
"listing_time": "2024-09-01 00:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 28,
"categoriesId": 2,
"name": "套装-浪漫天命",
"description": "浪漫天命",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023123Ya74vO4m.jpg",
"inventory": 99864,
"price": 360,
"listingTime": "2024-10-25 10:00:00",
"delistingTime": "2027-03-07 00:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 28,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023123Ya74vO4m.jpg",
"inventory": 99864,
"desc": "浪漫天命",
"name": "套装-浪漫天命",
"price": 360,
"listing_time": "2024-10-25 10:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 73,
"categoriesId": 2,
"name": "荣耀勋章礼包(2个)",
"description": "内含兵团币*2,荣耀勋章*2",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020917cKIUIINT.jpg",
"inventory": 11732,
"price": 20,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 73,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020917cKIUIINT.jpg",
"inventory": 11732,
"desc": "内含兵团币*2,荣耀勋章*2",
"name": "荣耀勋章礼包(2个)",
"price": 20,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 74,
"categoriesId": 2,
"name": "荣耀勋章礼包(30个)",
"description": "内含兵团币*30,荣耀勋章*30",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020909DugrntmJ.jpg",
"inventory": 13837,
"price": 300,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 74,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020909DugrntmJ.jpg",
"inventory": 13837,
"desc": "内含兵团币*30,荣耀勋章*30",
"name": "荣耀勋章礼包(30个)",
"price": 300,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 75,
"categoriesId": 2,
"name": "荣耀勋章礼包(90个)",
"description": "内含兵团币*90,荣耀勋章*90",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020901T8is3SCH.jpg",
"inventory": 6226,
"price": 900,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 75,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020901T8is3SCH.jpg",
"inventory": 6226,
"desc": "内含兵团币*90,荣耀勋章*90",
"name": "荣耀勋章礼包(90个)",
"price": 900,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 76,
"categoriesId": 2,
"name": "幸运币礼包(2个)",
"description": "内含兵团币*2,幸运币*2",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023255pOfQub1o.jpg",
"inventory": 18083,
"price": 20,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 76,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023255pOfQub1o.jpg",
"inventory": 18083,
"desc": "内含兵团币*2,幸运币*2",
"name": "幸运币礼包(2个)",
"price": 20,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 77,
"categoriesId": 2,
"name": "幸运币礼包(30个)",
"description": "内含兵团币*30,幸运币*30",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-202504090233039wDQ74pX.jpg",
"inventory": 74908,
"price": 300,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 77,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-202504090233039wDQ74pX.jpg",
"inventory": 74908,
"desc": "内含兵团币*30,幸运币*30",
"name": "幸运币礼包(30个)",
"price": 300,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 78,
"categoriesId": 2,
"name": "幸运币礼包(90个)",
"description": "内含兵团币*90,幸运币*90",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023307lVWXch1A.jpg",
"inventory": 22246,
"price": 900,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 78,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023307lVWXch1A.jpg",
"inventory": 22246,
"desc": "内含兵团币*90,幸运币*90",
"name": "幸运币礼包(90个)",
"price": 900,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 79,
"categoriesId": 2,
"name": "套装-花面小丑",
"description": "套装-花面小丑",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022627fSb8meAR.jpg",
"inventory": 80,
"price": 2000,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 79,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022627fSb8meAR.jpg",
"inventory": 80,
"desc": "套装-花面小丑",
"name": "套装-花面小丑",
"price": 2000,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 80,
"categoriesId": 2,
"name": "套装-沙丘之歌",
"description": "套装-沙丘之歌",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023851ToPSnZUa.jpg",
"inventory": 2857,
"price": 1020,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 80,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023851ToPSnZUa.jpg",
"inventory": 2857,
"desc": "套装-沙丘之歌",
"name": "套装-沙丘之歌",
"price": 1020,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
},
{
"id": 81,
"categoriesId": 2,
"name": "龙宫之主大礼包",
"description": "龙宫之主大礼包",
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022640Bp9rS1nl.jpg",
"inventory": 9873,
"price": 8000,
"listingTime": "2025-03-07 10:00:00",
"delistingTime": "2027-03-07 10:00:00",
"buyLimitMin": 1,
"buyLimitMax": 1,
"raw": {
"id": 81,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022640Bp9rS1nl.jpg",
"inventory": 9873,
"desc": "龙宫之主大礼包",
"name": "龙宫之主大礼包",
"price": 8000,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
}
],
"rawItems": [
{
"id": 5,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023027lsvnRuLH.jpg",
"inventory": 99980,
"desc": "黑色高级特训官上衣",
"name": "黑色高级特训官上衣",
"price": 360,
"listing_time": "2024-09-01 00:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 6,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023032PrIv36BU.jpg",
"inventory": 68931,
"desc": "套装-暗影哥特",
"name": "套装-暗影哥特",
"price": 888,
"listing_time": "2024-09-01 00:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 28,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023123Ya74vO4m.jpg",
"inventory": 99864,
"desc": "浪漫天命",
"name": "套装-浪漫天命",
"price": 360,
"listing_time": "2024-10-25 10:00:00",
"delisting_time": "2027-03-07 00:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 73,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020917cKIUIINT.jpg",
"inventory": 11732,
"desc": "内含兵团币*2,荣耀勋章*2",
"name": "荣耀勋章礼包(2个)",
"price": 20,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 74,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020909DugrntmJ.jpg",
"inventory": 13837,
"desc": "内含兵团币*30,荣耀勋章*30",
"name": "荣耀勋章礼包(30个)",
"price": 300,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 75,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250315020901T8is3SCH.jpg",
"inventory": 6226,
"desc": "内含兵团币*90,荣耀勋章*90",
"name": "荣耀勋章礼包(90个)",
"price": 900,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 76,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023255pOfQub1o.jpg",
"inventory": 18083,
"desc": "内含兵团币*2,幸运币*2",
"name": "幸运币礼包(2个)",
"price": 20,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 77,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-202504090233039wDQ74pX.jpg",
"inventory": 74908,
"desc": "内含兵团币*30,幸运币*30",
"name": "幸运币礼包(30个)",
"price": 300,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 78,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023307lVWXch1A.jpg",
"inventory": 22246,
"desc": "内含兵团币*90,幸运币*90",
"name": "幸运币礼包(90个)",
"price": 900,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 79,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022627fSb8meAR.jpg",
"inventory": 80,
"desc": "套装-花面小丑",
"name": "套装-花面小丑",
"price": 2000,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 80,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409023851ToPSnZUa.jpg",
"inventory": 2857,
"desc": "套装-沙丘之歌",
"name": "套装-沙丘之歌",
"price": 1020,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
},
{
"id": 81,
"categories_id": 2,
"image": "https://gp.playinjoy.com/campus/hpjy/upload/jpg/ycj-20250409022640Bp9rS1nl.jpg",
"inventory": 9873,
"desc": "龙宫之主大礼包",
"name": "龙宫之主大礼包",
"price": 8000,
"listing_time": "2025-03-07 10:00:00",
"delisting_time": "2027-03-07 10:00:00",
"buy_limit_min": 1,
"buy_limit_max": 1
}
]
}
```
这个是平台可以发货的列表