docs(selfop): define customer and product directory integration

This commit is contained in:
2026-10-14 16:15:41 +08:00
parent a4199bdc28
commit 6d557e36c6
2 changed files with 21 additions and 0 deletions
@@ -307,6 +307,17 @@ var signed = signer.sign(appKey, appSecret,
## 联调证据与复现验收
### 2026-10-14 客户名称与商品资料权限核验
用户明确要求核验当前 key 是否可读取客户列表、货主名称和商品。15:37(北京时间)使用 TEST Integration 当前容器中的同一组凭据,只读请求以下两个官方 OMP 接口各一次,间隔1.3秒,无自动重试;请求前后只读检查账号无活动任务、运行或占用租约。没有暂停采集、重启、配置发布、SQL数据写入或业务数据导入。本次是独立有界接口权限验证,不表示已有正式主数据同步能力。
| 接口 | 本次实际结果 | 后续接入边界 |
| --- | --- | --- |
| [客户列表](https://apidoc-omp.xlwms.com/reference/post_openapi-v2-customer-list.md),`POST /openapi/v2/customer/list`,`current=1,size=1000` | HTTP200、业务码200;total=85、单页返回85条,85条均有 `customerCode/customerName`,用户截图中的编码与名称对应核验通过 | 85是该key当前可见客户目录数,不等于有库存或销量的货主数;正式保存账号+客户编码对应名称,保留编码作为关联键,不能用名称连接销量。无需重拉历史出库 |
| [商品分页](https://apidoc-omp.xlwms.com/reference/post_openapi-v2-product-page-1.md),`POST /openapi/v2/product/page`,`current=1,size=5` | HTTP200、业务码200;total=8536,本次仅读取5条,均有 `customerCode/sku/productName` 和正数 `length/width/height`,`sizeUnit=cm`;5条 `wmsLength/wmsWidth/wmsHeight/wmsSizeUnit` 均为空字符串 | 官方每页最多100,8536条按当前总数预计86页,尚未执行全量。不得从5条推定全部尺寸有效;普通资料尺寸可用于标明来源的估算,不能冒充仓库实测体积或历史出库包裹体积 |
客户名称映射和5条商品白名单样本只保存在本机受控私有证据文件,未保存联系人、电话、邮箱或完整原始响应;不将真实客户资料提交仓库。临时验证程序为后端忽略目录 `target/selfop-masterdata-key-probe.mjs`。此次只读核验时的业务采集 DTO 尚未接入客户名称和商品尺寸。后续接入契约见《领星一件代发数据统计一期方案》页首“客户名称与商品资料接入”;接口权限证据不代表实际部署、全量同步和体积口径已验收。
截至 2026-10-12,出库分页通过本地 Java 服务验证;详情、仓库发现和库存使用同一组凭据及 OMP 签名直接执行只读 HTTPS 请求。临时探针与脱敏报告放在被 Git 忽略的 `integration-service/target/lingxing-local/`,只保留字段类型、数量、分页计数和核验结论,不保存密钥、签名或完整原始响应。这些临时文件可被构建清理,开发依据以本手册记录为准。
| 项目 | 已验证内容 | 不能由此推定 |
@@ -1,5 +1,15 @@
# 领星一件代发数据统计一期方案
## 客户名称与商品资料接入(2026-10-14 最新确认)
此节覆盖下文销量/库存不得选择货主的旧页面限制;经营总览仍不增加客户筛选。销量分析、库存明细、库存周转允许按名称或编码选择客户,默认全部,货主汇总与 SKU 排名均使用原有同仓、同货主、同 SKU 统计口径。名称缺失仍显示外部业务编码,不使用内部数据库主键。
Lastleg 维护 `ll_selfop_owner` 和 `ll_selfop_product`,以完整资料 run 为版本;稳定关联键为来源账号+货主编码,商品再加 SKU,不按名称连接,也不自动创建 IAM 客户或对外收费关系。`ll_selfop_sku_profile` 保留原统计版本职责,不被商品目录替代。客户、商品资料整批完成分页元数据、总数、唯一身份校验后同事务发布;不完整批次不参与查询。`GET /owner-directory` 及各列表/榜单名称均取 queryAsOf 之前最近完整发布的账号资料批次,刷新后才看到新名称;不重采历史出库。
持续 BUSINESS 模式每天登记一项账号级 MASTER_DATA 任务,未结束批次跨日续跑。客户列表每页1000、商品每页100,沿用 Integration 唯一签名出口和账号1200ms间隔、短 permit、lease/fence、限流及未知结果保护。最多处理5页就让出调度,日销量、计划库存、历史销量优先;正常让出保持同一run与下一页,失败或丢失租约的新尝试从头扫描且不能发布旧半批数据。不开第二条真实出口。
商品保留申报长宽高及单位、WMS实测长宽高及单位,两者不互相冒充;空值保留 NULL。本批不计算库存/出库立方数,后续再确认尺寸单位、缺失率及历史出库体积口径。结构基线见后端 `lastleg-service/src/main/resources/db/selfop-master-data.sql`;发布和真实首批同步是否完成只记录工程主契约,本设计不表示已部署。
## 持续 BUSINESS 自动采集(2026-10-13 最新确认)
用户随后明确取消 BUSINESS 的22:36:59整体许可截止及现有manual/新根人为会话截止。最新代码目标为所有BUSINESS不因这些截止停采,不以continuous开关决定是否免截止;开关仍控制服务端持续计划。VALIDATION仍有界,短permit有效期、有效lease/fence、匹配非空grant、唯一出口、限流/认证/未知结果保护均保留。已有DEAD不自动复活,消费计数和检查点不重置。下文关于BUSINESS保留冻结根截止的旧要求由本条覆盖;实际环境是否生效仍由工程主契约证据确认。