需求背景
目前海外仓店铺平衡库存需通过自动补货策略才能实现,影响性能,需改为按边界值进行平衡库存
需求描述
1.边界值自动补货增加所有海外仓来源渠道自动补货配置,如图所示,配置项与所有直发来源渠道配置项一致,初始化配置的值也与所有直发来源渠道一致

2.平衡库存海外仓账号真实海外仓listing,判断仓库需根据海外仓配置的仓库进行判断可用库存,符合平衡库存边界值条件的listing执行平衡库存
a.海外仓店铺虚拟海外仓listing判断的仓库为直发仓库(东莞1号仓/义乌1号仓)
b.海外仓店铺直发listing只判断自动补货,逻辑与直发店铺一致

3.功能上线后,屏蔽原有的海外仓自动补货策略
测试用例:
测试设置:
场景如下:
1、验证:进行平衡库存
场景如下-预期结果:
(2-1)4574504 133819068925 可用库存:1 上次库存:2 <3 本次库存:4 >=3 预期结果:可售数修改为设置的平衡库存数:3(1) 2928001 143095865748 可用库存:4 上次库存:2 <3 本次库存:1 <3 预期结果:可售数修改为可用库存:1
(2-2)【边界值待做】 上次库存:2 本次库存:3 预期结果:可售数修改为设置的平衡库存数:3
(3-1)4998061 144120527691 可用库存:2 上次库存:4 >=3 本次库存:2 <3 预期结果:可售数修改为可用库存:2
(3-2)【边界值待做】 上次库存:3 本次库存:1 预期结果:可可售数修改为可用库存:1
(4-1)6496950 143668612196 可用库存:2 上次库存:4 >=3 本次库存:5 >=3 预期结果:不进行平衡库存
(4-2)【边界值待做】 上次库存:3 本次库存:3 预期结果:同上
优先设置场景(1)、(2-1)、(3-1)、(4-1):动态库存更新表进行设置如下:最新更新时间应落在对应平衡库存+自动补货的开始时间 到 结束时间范围内,并对其进行调度
实际结果:查看对应补货队列查看,符合预期
1、验证:配合平衡库存,进行自动补货
前置条件:总销量 >0,可售数 < 3
场景如下 -预期结果:
(01)4574504 133819068925
可售数 :1 可用库存为:4 预期:触发自动补货,补货到可售数为:5 ,若同时存在满足平衡库存,则优先进行平衡库存
(02)2928001 143095865748
可售数 :3 可用库存为:1 预期:不满足设置条件,则不修改可售数
(03)4998061 144120527691
可售数 :2 可用库存为:2 预期:不触发自动补货
(04)6496950 143668612196
可售数 :6 可用库存为:1 预期:不满足设置条件,则不修改可售数
模拟各表数据:

A、动态库存更新表:如上,平衡库存
B、可售数设置:
C、库存设置:
实际结果:符合预期。符合说明如下
1)场景(1)、(2-1)、(3-1)、(4-1)+场景(01)+(02)、(03)、(04),与预期结果一致;
2)场景(1)和场景(01)涉及的系统SKU:4574504 同时满足平衡库存+自动补货场景,则优先进行平衡库存;
3)场景(4-1)和场景(04)涉及的系统SKU:6496950 不进行平衡库存,且不满足设置条件,不修改可售数
补货队列展示如下:
可售数与正式环境-可售数同步一致:
测试环境:
正式环境:
2、进行平衡库存+自动补货(边界值验证):
一、场景如下+预期结果:
触发平衡库存:
(1) 2928001 143095865748 可用库存:4 上次库存:2 <3 本次库存:1 <3 预期结果:可售数修改为可用库存:1
(2-1)4574504 133819068925 可用库存:1 上次库存:2 <3 本次库存:4 >=3 预期结果:可售数修改为设置的平衡库存数:3(2-2)【边界值】 上次库存:2 本次库存:3 预期结果:可售数修改为设置的平衡库存数:3
(3-1)4998061 144120527691 可用库存:2 上次库存:4 >=3 本次库存:2 <3 预期结果:可售数修改为可用库存:2
(3-2)【边界值】 上次库存:3 本次库存:1 预期结果:可可售数修改为可用库存:1
(4-1)6496950 143668612196 可用库存:2 上次库存:4 >=3 本次库存:5 >=3 预期结果:不进行平衡库存
(4-2)【边界值】 上次库存:3 本次库存:3 预期结果:同上
触发自动补货:
场景如下 -预期结果:
前置条件:总销量 >0 ,可售数 < 3
(01)4574504 133819068925
可售数 :1 可用库存为:2 预期:不触发自动补货
(02)2928001 143095865748
可售数 :4 可用库存为:1 预期:不满足设置条件,则不修改可售数
(03)4998061 144120527691
可售数 :2 可用库存为:2 预期:不触发自动补货
(04)6496950 143668612196
可售数 :2 可用库存为:4 预期:触发自动补货,补货到可售数为:5
二、各数据表进行模拟造数设置:
A、动态库存更新表设置:最新更新时间应落在对应平衡库存+自动补货的开始时间 到 结束时间范围内,并对其进行调度
B、可售数设置:
C、库存设置:
D、将平衡库存+自动补货的调度服务进行时间配置,动态库存更新表对应的最新更新时间,落在其开始时间和结束时间区间内
实际结果:
符合平衡库存:符合说明如下:
1)场景(1)+(2-2)、(3-2)、(4-2)+场景(01)+(02)、(03)、(04),与预期结果一致;
2)场景(4-2)和场景(04)涉及的系统SKU:6496950 不进行平衡库存
不符合自动补货:
系统SKU:6496950 平台ID:143668612196 【 大于平衡库存值: 3,已满足触发自动补货条件】
可售数 :8 设置可售数小于的值为:9 可用库存在数据表中模拟为:4
预期结果:触发自动补货,补货到可售数为:10
实际结果:不符合预期
修复后查看:
场景验证+预期结果:前置条件:总销量 >0 ,可售数 < 3
(01)4574504 133819068925
现有可售数 :6 < 设置可售数小于:9 可用库存为:2 预期:不触发自动补货
(01)2928001 143095865748
现有可售数 :5 < 设置可售数小于:9 可用库存为:1 预期:不触发自动补货
(01)4998061 144120527691
现有可售数 :9 <=设置可售数小于:9 可用库存为:2 预期:不满足设置条件,则不修改可售数
(01)6496950 143668612196
(01-1)现有可售数 :8 < 设置可售数小于:9 可用库存为:4 预期:触发自动补货,补货到可售数为:10
(01-2)现有可售数 :8 < 设置可售数小于:9 可用库存改为:2 预期:不触发自动补货
页面设置如下:
listing查看可售数:
动态库存更新表设置场景数据:
库存设置:其中6496950 库存:4 大于 设置的可用库存小于:3,
可售数:8 小于设置的可售数值:9需触发自动补货
库存表(p_product_inventory),用于后续实际业务从ERP最新库存同步到库存总表,进行下一次补货判断
触发平衡库存+自动补货增量服务前,应配置平衡库存+自动补货的时间区间:使动态库存更新表的SKU最新更新时间落在该配置的时间内:
调度同步listing服务后,再补货调度服务后,查看补货队列情况
实际结果:符合该场景下的预期结果
同步listing的情况:查看最新更新时间,自动补货会随着同步listing进行触发,该场景下时间为:2024-04-18 03:39:54
补货队列的情况:对比查看自动补货也为:2024-04-18 03:39:54 ,与平衡库存最新更新时间:2024-04-18 06:04:50,符合二者的触发的时机