cd D:\chengma\cmautobuy\admin$env:GOTOOLCHAIN="go1.23.0";gobuild./...;gotest./...-count=1Remove-ItemEnv:GOTOOLCHAINcd D:\chengma\cmautobuypython-munittesttools.test_import_thirdparty_catalog_csv-vpythontools\import_thirdparty_catalog_csv.py"D:\chengma\全部店铺拼多多商品规范CSV"--base-urlhttp://localhost:8080--dry-run
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.
基本信息
要解决什么
#280 已将 20 个第三方工作簿导出为规范 CSV,共 1,049,441 行。现有商品目录接口虽支持
fill_missing,但缺少面向大规模 CSV 的数据库预检、跨 CSV 去重、数据库既有关联冲突报告和可续跑执行工具。需要把 CSV 中的蝦皮商品、蝦皮 SKU、PDD 商品及关联安全导入 Admin。已有数据必须优先保留,特别是已采集或人工维护的 PDD 标题、店铺、规格、价格和状态。
做什么 / 不做什么
做:
fill_missing:蝦皮商品和 SKU 仅补空字段;PDD 商品只补空规范 URL,不覆盖 PDD 采集结果、价格、状态或人工数据。不做:
已确认实现方案
shopee_goods_id、蝦皮 SKUshopee_goods_id + spec_raw、PDD 商品pdd_goods_id、关联(shopee_goods_id, pdd_goods_id)。catalog_import_batches或业务表。fill_missing更新语义,按接口的 500 商品/5000 SKU/5MB 限制分批;批次 ID 对相同 CSV、参数和内容稳定,可失败后重跑。预计修改:
admin/internal/handler/api/*catalog*admin/internal/service/*catalog*admin/internal/repository/*catalog*admin/internal/model/*catalog*docs/admin/10-商品目录接入接口.mdtools/import_thirdparty_catalog_csv.py及其测试/依赖说明docs/task/<工单号>-第三方规范csv安全入库.md(完成后归档)风险和回退
验收标准
fill_missing、满足 500 商品/5000 SKU/5MB 批次限制,并可安全重跑。验证方式
预期:预检仅输出统计和报告,不写数据库;正式导入须在预检结果确认后单独执行。
实施完成,待生产预检与验收
fe64d3befad2ea,归档docs/task/281-第三方规范csv预检与安全入库.mddry_run=true的只读数据库预检:不写商品表、不写catalog_import_runs,返回关联冲突。fill_missing:已有蝦皮标题/主货号、SKU 非空规格、PDD URL/标题/店铺、已采集 PDD 数据均不覆盖。go build ./...; go test ./... -count=1通过,Python 工具语法检查通过。尚未部署新版 Admin,因此还没有对生产 MySQL 调用真实
--dry-run,更没有执行--apply。部署后先运行预检、审阅报告,再由项目负责人确认是否写入。生产导入已完成:先完成 212/212 批只读预检,再完成 212/212 批正式入库。为保留人工既有关系,跳过 8 条来源关联(其中 1 条目标 PDD 已软删除,未自动恢复)。正式结果:蝦皮商品新建 17,792、更新 983;SKU 新建 1,048,143、跳过 1,066;PDD 新建 6,553、更新 3,925;关联新建 18,709、不变 9。进度报告保存在本机导入目录;线上 cmautobuy-admin 服务为 active。未写入凭据或完整请求体。