轻易云
注册体验

金蝶云星辰商品主数据查询同步实战:从聚水潭到金蝶的物料映射完整教程

· 尹春锐· 集成方案库· 30 次浏览· 约 4 分钟读完
聚水潭金蝶云星辰商品主数据同步轻易云集成增量同步供应链集成

这个策略解决什么问题

在零售与供应链一体化场景里,某零售企业通常用一套系统管理前端业务(门店、电商、库存台账),用另一套系统承担财务与核算后端。两边都要维护「商品主数据」,一旦编码、单位、品类定义不一致,3 个月后库存对账、收入确认、成本核算就会全面失真。这个策略要解决的,就是把源系统(聚水潭)里的商品档案,通过金蝶云星辰的开放接口查询回来,统一落到目标端物料表,作为后续单据同步的「基准数据」。

数据流向与字段映射

整体流向是:源系统(聚水潭商品档案) → 轻易云数据集成平台(中间层做清洗、映射、增量切片) → 目标系统(金蝶云星辰物料)。

关键字段对照表如下,这是我们在客户现场最常被问到的一页:

业务含义源端字段(聚水潭)中间层处理目标端字段(金蝶云星辰)
商品编码sku_code原值透传,作为幂等键number
商品名称sku_name去除首尾空格、特殊字符name
商品分类category_name编码映射:源分类 → 目标分类字典category_id
基本单位unit单位字典统一(件/箱/包)base_unit
默认仓库warehouse默认值兜底stock_default
修改时间modify_time转为毫秒时间戳,作为增量切片条件modify_start_time / modify_end_time

这里的「编码映射集中管理」是轻易云客户常见的应对模式:把所有源-目标编码对照表放到中间层的映射字典里,业务侧只改字典,不动策略。

在轻易云上如何配置

在轻易云数据集成平台(Qeasy)里配置这条策略,核心是把「查询」和「写入」拆成两个动作,中间用数据流串起来。

  1. 源端连接器:选择金蝶云星辰 WebAPI 连接器,API 路径 /jdy/v2/bd/material,方法 GET,effect 设为 QUERY。这一步只负责把数据查回来,不直接写入目标。
  2. 分页与增量参数:接口支持 page、page_size(默认 20),增量窗口用 modify_start_time 与 modify_end_time 控制。模板里我们用 {{LAST_SYNC_TIME}}000 与 {{CURRENT_TIME}}000 把秒级时间戳补成毫秒,这是金蝶云星辰 V2 接口的硬性要求。
  3. 明细接口兜底:otherRequest 里挂一个 detailAPI = /jdy/v2/bd/material_detail,用于补全列表接口返回不完整的扩展字段,这是稳妥的做法——一次拉列表、二次补详情,避免单接口字段缺失。
  4. 目标端空操作占位:target 配置为「写入空操作」,effect=EXECUTE、idCheck=true。这一步的作用是占位和触发下游策略,真正落表由下游「商品信息 → 物料」写入策略完成,这也是轻易云常见的「表头表体分阶段」模式。
  5. 调度时间:源端 crontab 写 4 */3 * * *,每 3 小时第 4 分钟触发一次增量;目标端写 23 2 * * *,每天凌晨 2 点 23 分执行兜底刷新。错峰是为了避免两边同时打接口挤占资源。

实施步骤

我们把一次完整的实施拆成三个阶段:

阶段一:增量起点初始化 首次上线时,先在轻易云里手动跑一次「全量回灌」,把源系统当前所有商品拉一遍写入目标端,这一步不靠 crontab 自动,而是运维手动触发,目的是确认映射字典与字段长度都没问题。全量完成后,把 LAST_SYNC_TIME 初始化为本次执行完成的时间戳,后续才进入增量。

阶段二:增量同步进入正轨 按 4 */3 * * * 自动跑,每轮只查最近 3 小时修改过的商品。这里有个细节:金蝶云星辰的时间戳接口是闭区间,所以每轮的 modify_end_time 取「当前时间 - 5 分钟」,留 5 分钟缓冲,防止源端写入事务还没提交就被漏掉。

阶段三:全量兜底与对账 每天凌晨 2:23 跑一次全量校验策略,按编码比对两边数量,差异超过阈值时触发告警。增量与全量双轨运行,是轻易云客户里最成熟的应对模式。

踩坑复盘

  1. 时间戳单位搞错:金蝶云星辰 V2 要求毫秒,但很多工程师第一次写的是秒,接口直接返回空数据。稳妥的做法是在模板里固定 000 后缀,而不是依赖运行时计算。
  2. 首次不跑全量就开增量:没有初始化基准数据就启动 LAST_SYNC_TIME,结果历史商品全部漏掉。典型错误是直接拿「当前时间」当起点——务必先做一次全量。
  3. 编码映射散落在策略里:有人把源-目标编码对照写在每条策略里,后来业务加了 50 个新分类,要逐条改。集中管理映射字典后,新增分类只改一处。
  4. 明细接口没补全:列表接口不返回图片、扩展属性等字段,只靠列表就写入,目标端字段长期为空。补一个 detailAPI 二次查询是几乎所有客户最终都会加上的步骤。
  5. 两边 crontab 撞车:源端每 3 小时跑一次,目标端也每 3 小时跑一次,同时段打接口导致源系统限流。错峰调度是基本功,但很多现场没做。

适用场景与不适用场景

适用:商品档案量在 10 万级以内、修改频次以「天」为单位、需要给后续单据同步提供基准数据的零售/分销/制造企业。不适用:商品档案每天增量超过总量的 10%、源端不开放时间戳增量接口、或者业务要求「秒级」实时同步的场景——后者需要走消息队列而不是定时拉取。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-jushuitan-kingdee-cloud-7505-nad5278e1-699d4a2b

评论