2026-08-17 补充真实环境结论:用户提供的多件操作 HAR 已证明顺运宝不允许把多个单件入库码用逗号写入同一 innerExpCode。网页实际流程是保留原明细的一件码,调用 POST /am/stock/detail/createDetail 创建数量 1、价格 0 的额外明细,再通过 POST /am/stock/detail/updateDetailCode 把下一件码写入新 detailId。
因此本工单关于“本地按业务键聚合”的实现仍可保留,但“远端完整聚合字符串只写一次”的结论和对应验收项已被 #250 替代。原始 HAR 含会话和业务数据,不上传、不粘贴;#250 只记录脱敏后的接口结构和安全边界。
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
基本信息
要解决什么
Shopee线下档口入库码映射_20260815_V3.3-R5.xlsx第 50、51 行来自同一个顺运宝订单、同一个商品明细、同一档口和同一颜色尺码,原商品数量为 2,因此源文件按件序生成两个不同档口入库码。当前导入器把两行归为同一业务键后要求入库码相同,导致整批导入报错;即使放过导入,匹配器也会因source_duplicate_count > 1跳过,无法进入回写。客户已确认:同一顺运宝商品明细的多个单件入库码使用英文逗号连接成一个字符串,写入该明细唯一的
innerExpCode位置。复现:
2026-08-15 + 26081394YBWB17 + 山湖-易興网购#0035 + 黑色,6XL。DK260815A160101、DK260815A160102。做什么 / 不做什么
source_duplicate_count保留源行数量,但数量大于 1 不再阻止确定性匹配。怎么做
admin/service/inner_code_import.go:分组后按 Excel 行顺序稳定收集不重复入库码,连接为code1,code2;聚合后执行 128 字符及控制字符校验。admin/service/inner_code_match.go:删除source_duplicate_count > 1的整组跳过,让聚合记录按原确定性规则匹配一个顺运宝明细。admin/service/inner_code_import_test.go、admin/service/inner_code_match_test.go、admin/service/inner_code_apply_test.go:覆盖聚合顺序、重复码、超长、匹配放行及完整字符串回写/复读。syb_inner_code_records.inner_code、remote_inner_code均为 128 字符,样本两个码连接后为 31 字符,因此无需 schema 变更。验收标准
DK260815A160101,DK260815A160102。怎么验证
从
admin/执行:另以
raw_data/Shopee线下档口入库码映射_20260815_V3.3-R5.xlsx做本地只解析验证,确认第 50、51 行聚合值和总记录数;不连接顺运宝、不执行真实回写。风险和回退
实施前补充(不改变已确认交付范围):
docs/admin/03-data-model.md的稳定数据规则。实施完成,待用户验收
最终实现:
DK260815A160101,DK260815A160102。source_duplicate_count > 1不再阻止确定性匹配;歧义、已有采购信息、写前变化及未知写结果的安全门禁保持不变。验证结果:
go test ./service ./repository ./syb -run InnerCode -count=1:通过。GOTOOLCHAIN=go1.23.0的go build ./...、go test ./... -count=1、go vet ./...:通过。_test导入事务、真实顺运宝逗号值保存/展示/复读、生产部署。提交与归档:
8e5006017c2d45docs/task/240-多件档口入库码合并回写.md2026-08-17 补充真实环境结论:用户提供的多件操作 HAR 已证明顺运宝不允许把多个单件入库码用逗号写入同一
innerExpCode。网页实际流程是保留原明细的一件码,调用POST /am/stock/detail/createDetail创建数量 1、价格 0 的额外明细,再通过POST /am/stock/detail/updateDetailCode把下一件码写入新detailId。因此本工单关于“本地按业务键聚合”的实现仍可保留,但“远端完整聚合字符串只写一次”的结论和对应验收项已被 #250 替代。原始 HAR 含会话和业务数据,不上传、不粘贴;#250 只记录脱敏后的接口结构和安全边界。