原型
交互参考-智能刊登系统-策略管理-自动补货策略:http://imp.zhcxkj.com/#/strategic-management/replenishment
账号找“瀚泽”开通
一、业务模型(见附件)
二、方案流程(见附件)
三、基础概念定义&关系
对象定义
一、作用对象:JDWalmart(后称JDW)的渠道SKU
二、操作对象:可售数
三、条件对象:可售数、可用库存
JDW-Listing&渠道SKU的关系
1、原逻辑:同步的LISTING与ERP的LISTING对应,用“渠道SKU、平台ID(平台的listing流水号)”
2、现状:JDW是手动刊登,LISTING没记录在ERP,没法用LISTING的流水号
3、“全量商品查询”API,作为下载Listing的接口。出参“sku|商品sku”,就是JD_SKU=渠道SKU,说明如下
①手动刊登流程如下。由此可知“JD_SKU=渠道SKU”

4、数据源:“产品库中心-渠道SKU关联导入”页面的数据表
策略优先级&执行策略
一、同一渠道SKU,存在于多条策略中,仅以优先级最高的1条策略,作为该SKU的执行策略(即,该SKU以此策略执行)。
(一)执行策略的定义
1、新建、修改策略后,首次执行策略时,遍历所有“启用”策略
2、生成所有策略需执行的渠道SKU列表
3、取交集、形成“渠道SKU交集列表”,对渠道SKU进行优先级排序
①首次排序:各个策略的参数“应用对象”,以“渠道SKU>选择来源>所有来源渠道”的规则排序。取优先级最高的1个or多个策略
②二次排序:同优先级的策略,取“修改时间”最近的1个策略
4、将“3”确定的策略,标记为此渠道SKU的执行策略
PS、无交集,则标记渠道SKU所在策略,为其执行策略
二、1条渠道SKU,只会有1个执行策略、只会执行策略中的1条规则
三、执行防超卖后,不会执行自动补货
所有仓库⊇可发货仓⊇有LISTING_SKU的仓库
店铺,可设置“可发货仓”
商品所在地=发货地(JDWalmart没有)
仓库所在地,在仓库信息中已经cover、发货地、发货到达地,与选择仓库的关系?在什么地方的商品(Listing绑定商品所在地),可以用什么仓库发,只能用这些库存
商品所在地:说明商品真实所在的地区。不能货在中国填美国,虚假信息违反平台规定
策略校验时,可用库存=可发货仓的动态库存之和(汇总)
订单发货时,可用库存=先用默认仓、再用分仓策略选中仓库(线性)
四、关键参数&API:本方案
一、后台:不做其他数据的映射
(一)参数:“ERP-系统SKU”做对象识别
(二)参数:“ERP-动态库存”做内容识别-判断“命中的策略”
(三)对接:“JDW-改库存API”。用于更改“可售数”。【调用频次暂无限制】
(四)对接:“JDW-查询商品全量 API”。用于获取“实时在线可售数、价格数据”【调用频次暂无限制】
(五)对接:“JDW-批量查询店铺SKU库存信息API”。用于获取“改库存API”的入参“storeCode”

(六)对接:“ERP-查询动态库存接口”。获取参数“系统SKU、库存数”,以计算“可用库存”
二、前台:暂时放置于“智能刊登-JDWalmart”
五、关键参数:平衡库存策略表
来源渠道
系统SKU
渠道SKU
父级SKU:ERP“parent_ID”,类似于行业的“SPU_ID”
平台产品编号:LISTING在平台的流水号,类似于我们的LISTING 唯一ID
平台子产品编号:变体的LISTING,在平台的流水号,类似于我们的LISTING 唯一ID
策略ID
策略内容:A、B、C、D、E值
创建人ID
创建人名
创建时间
最近更新人ID
最近更新人名
最近更新时间
六、方案概述
一、本需求作为转JAVA的第一个需求,考虑到“JAVA数据结构、表结构、参数定义重要性”,为避免影响其严谨性、正确性,且考虑到需求的紧急程度
(一)实现原则
1、参数:仅获取基本的“对象参数、内容参数、条件参数”,不做其他数据的映射
2、逻辑&行为:仅做基本的业务逻辑与业务行为
(二)方案概述:需实现的业务(详见业务流程图)
1、防卖超
①实现方式:以策略为出发点
1)30分钟/次:以“策略-来源渠道、publish=PUBLISHED、发生变动的数据(需要一个变动数据的接口)”为条件,查listing表,获取策略命中的渠道SKU列表。对列表中所有渠道SKU,进行后续操作
2)以渠道SKU,查系统SKU、店铺ID
3)以渠道SKU的店铺ID,查店铺可发货仓库ID
4)以渠道SKU的系统SKU、仓库ID,查库存冗余表,获取该渠道SKU的所有可发货仓库的发生变动(需要一个变动数据的接口)的动态库存
5)计算渠道SKU的可用库存:=所有可用仓的“动态库存”之和
6)校验:可用库存<C时,调整可售数=C/自定义策略值D(以“JDW-改库存API”)
2、自动补货
①实现方式
1)30分钟/次:以“策略-来源渠道、publish=PUBLISHED发生变动的数据(需要一个变动数据的接口)”为条件,查listing表,获取策略命中的渠道SKU、可售数
2)校验:可售数<A时,调整可售数=自定义策略值B。(以“JDW-改库存API”)
3、实时更新可售数为可用库存
①需求背景:为了让最新的可用库存与可售数同步,减少超卖的概率
②当前解决方案:运营导出“仓库库存、匹配SKU、批量导入、更新库存”,人工工作量大
③优化解决方案:实现方式
1)30分钟/次:以“策略-来源渠道、publish=PUBLISHED发生变动的数据(需要一个变动数据的接口)”为条件,查listing表,获取策略命中的渠道SKU列表、可售数
2)以渠道SKU,查系统SKU、店铺ID
3)以渠道SKU的店铺ID,查店铺可发货仓库ID
4)以渠道SKU的系统SKU、仓库ID,查库存冗余表,获取该渠道SKU的所有可发货仓库的发生变动(需要一个变动数据的接口)的动态库存
5)计算渠道SKU的可用库存:=所有可用仓的“动态库存”之和
6)判断:可售数=可用库存。是则不操作、否则进入“7)”
7)调整可售数=可用库存。(以“JDW-改库存API”)
4、超过7未产生执行队列数据,将自动禁用策略。