任务描述

需求背景

目前ebay在线listing已超过4千多万,导致自动补货消耗的性能过大,需优化


需求描述


动态库存变化和listing变化由两个定时调度统一改为策略消费机制:
1.sku变化不再由每个店铺单独查询变化的listing改为一次性按sku查询出涉及到的所有店铺和listing,插入到待补货队列

2.listing同步变化不在按每个店铺判断对应的listing是否需要处理自动补货,而是直接插入到待补货队列

3.生产端按店铺推入redis队列

4.消费端获取redis队列处理补货逻辑将符合条件的推入补货队列或发货处理时间队列

需求描述

需求背景

目前ebay在线listing已超过4千多万,导致自动补货消耗的性能过大,需优化


需求描述


动态库存变化和listing变化由两个定时调度统一改为策略消费机制:
1.sku变化不再由每个店铺单独查询变化的listing改为一次性按sku查询出涉及到的所有店铺和listing,插入到待补货队列

2.listing同步变化不在按每个店铺判断对应的listing是否需要处理自动补货,而是直接插入到待补货队列

3.生产端按店铺推入redis队列

4.消费端获取redis队列处理补货逻辑将符合条件的推入补货队列或发货处理时间队列

验收标准
暂无
历史记录  
  1. 2023-12-14 15:38:24, 由 王小勤 创建。
  2. 2023-12-25 15:40:46, 由 王小勤 编辑。
    修改了 预计开始,旧值为 "2023-12-18",新值为 "2023-12-26"。
    修改了 截止日期,旧值为 "2023-12-20",新值为 "2023-12-26"。
    修改了 任务描述,区别为:
    008- 3.生产端按店铺推入redis队列
    008+ 3.生产端按店铺推入redis队列
    008- <span>3.生产端按店铺推入redis队列</span>
    008+ <span>3.生产端按店铺推入redis队列</span>

    【说明】:由于转测后,开发并未配置增量补货服务和策略分解服务,并未实际自测,则是边测试边调整,所以实际测试时间为:12.19-12.23,内含开发解决问题和重新验证时间,12.26则进行补货验证执行操作。

    验证如下:

    与开发沟通技术方案时,通过对应制定的补货策略:
    (1)会首先通过补货策略对listing(包含店铺)进行同步,
    (2)之后将listing数据同步至待补货队列中,
    (3)然后以listing维度找寻对应ERP库存(SKU维度),且库存时间和补货时间为同一时间内的库存进行增量补货
    (4)通过策略服务的生产、消费端对状态进行更新,若status=1(同步成功),则将补货策略中的补货数推入补货队列。若status=2(同步失败),则可能与策略条件有过滤


    测试实际验证如下:

    1、验证1:对正常补货策略进行正确补货:

    进行三个场景的补货策略:
    (1)策略id:43    支持直发listing自动补货

    设置补货策略条件页面:
    测试数据:375099354102、375099621657

    可售数:SQL参考:

    select * from m_ebay_listing where ProductId in  ('375099354102','375099621657')   
    select * from m_ebay_listing_sub where ProductId in ('375099354102','375099621657')   #--- 可售数 4 5

    可用库存:

    SQL参考:select * from p_product_warehouse_dynamicinventory  where CustomerId = 1 and sku in ('14599418','14994484') limit 10; ##--动态库存 可用库存 2  8


    (2)策略id:40   支持虚拟海外仓自动补货

    设置补货策略条件页面:

    测试数据:375075790554 、375089634230 

    可售数:SQL参考:

    select * from m_ebay_listing where ProductId in  ('375075790554','375089634230')   
    select * from m_ebay_listing_sub where ProductId in ('375075790554','375089634230')   #---可售数 1 2

    可用库存:

    SQL参考:select * from p_product_warehouse_dynamicinventory  where CustomerId = 1 and sku in ('3285250','1402139');   ##--动态库存 --可用库存 1 2

    (3)策略id:39   支持真实海外仓自动补货

    设置补货策略条件页面:

    测试数据:315026397353 、315026603484

    可售数:SQL参考:
    select * from m_ebay_listing where ProductId in  ('315026397353','315026603484')   
    select * from m_ebay_listing_sub where ProductId in ('315026397353','315026603484')   #--- 可售数 25 30  

    可用库存:
    SQL参考:select * from p_product_overseaswarehouse_dynamicinventory where CustomerId = 1 and  sku in ('17527185','16694617') and warehouseid =212    ##-- 动态库存  --可用库存59  25


    进行listing同步:
    ##--直发listing  20700
    SQL参考:select * from  m_ebay_listing_productid t1  where t1.CustomerId = 1 and t1.ProductId in (375099354102,375099621657);


    ##--虚拟海外仓   20700
    SQL参考:select * from  m_ebay_listing_productid t1  where t1.CustomerId = 1 and t1.ProductId in (375075790554,375089634230);

    ##--真实海外仓   7745
    SQL参考:select * from  m_ebay_listing_productid t1  where t1.CustomerId = 1 and t1.ProductId in (315026397353,315026603484);

    此时,对应补货策略数据根据listing(含店铺) -SKU 维度进入待补货队列(mgdb进行展示):


    可将对应动态库存表的最新更新时间(lastModifiedTime),与对应直发、海外补货调度表区间时间(NextBeginTime、NextEndTime)进行同一时间的同步:
    即动态库存表的最新更新时间能够落在其补货调度表的区间范围内:

    【动态库存表 - 以SKU维度】

    直发动态库存表:最新更新时间如下


    海外动态库存表:最新更新时间如下:

    进行增量补货服务调度:

    EbayIncrementReplenishment-dev
    EbayOverseasIncrementReplenishment-dev

    【增量补货表 - 同步待补货队列数据】

    SQL参考:select * from sys_syncdata where BusinessType = 'EbayIncrementReplenishment';

    SQL参考:select * from sys_syncdata where BusinessType = 'EbayOverseasIncrementReplenishment';


    调度策略分解服务:

    GetReplenishmentStrategyJob_Producer_dev_ebay

    查看对应的mgdb待补货队列的状态更新情况:

    (1)查看直发场景:对应店铺:20700

    虚拟海外仓(策略id:40),待补货队列正常补货


    之前直发listing(策略id:43)的待补货数据为正常:


    查看对应的补货队列:

    虚拟海外仓 - 策略id:40,查看均有正常进入补货队列

    直发listing - 策略id:43,查看均有正常进入补货队列

    【该场景存在bug】(2)查看海外仓场景:对应店铺:7745



    查看补货设置的策略条件:

    查看待补货队列的展示情况:


    平台id:315026397353   对应的可售数:25 可用库存:24,满足了却标识为:策略过滤,不符合

    平台id:315026603484   对应的可售数:30 可用库存:58,满足一条策略即可

    查看对应的补货队列:

    真实海外仓 - 策略id:39
    预期结果:
    满足策略条件理应进入2条数据
    实际结果:
    实际只进入1条数据【存在问题,已与开发沟通:开发记录错误,重新修复重跑数据】


    重跑真实海外仓补货策略之后:

    待补货队列成功更新:

    补货队列:均满足预期结果进入补货队列


    二、异常场景:

    1、虚拟海外仓-策略id:40

    对应可售数:

    对应可用库存:策略设置条件过滤并不符合实际可用库存的逻辑,则会报策略过滤报错提示

    2、真实海外仓-策略id:39,
    对应策略物品所在国为:澳大利亚,不符合补货业务实际,会自动策略过滤错误;实际店铺为:7745,英国,海外仓对应物品所在国理应为:英国


  3. 2023-12-25 15:41:26, 由 王小勤 记录工时,消耗 2.33 小时。
  4. 2023-12-25 15:41:26, 由 王小勤 记录工时,消耗 2 小时。
    修改了 总计消耗,旧值为 "0",新值为 "4.33"。
    修改了 预计剩余,旧值为 "9.33",新值为 "5"。
    修改了 任务状态,旧值为 "wait",新值为 "doing"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2023-12-20"。
  5. 2023-12-25 15:42:19, 由 王小勤 记录工时,消耗 2 小时。
  6. 2023-12-25 15:42:19, 由 王小勤 记录工时,消耗 2 小时。
  7. 2023-12-25 15:42:19, 由 王小勤 记录工时,消耗 1 小时。
    修改了 总计消耗,旧值为 "4.33",新值为 "9.33"。
    修改了 预计剩余,旧值为 "5",新值为 "0"。
    修改了 任务状态,旧值为 "doing",新值为 "done"。
    修改了 由谁完成,旧值为 "",新值为 "wangxiaoqin"。
    修改了 实际完成,旧值为 "",新值为 "2023-12-25 15:42:19"。
  8. 2023-12-25 15:42:39, 由 王小勤 编辑。
    修改了 预计开始,旧值为 "2023-12-26",新值为 "2023-12-25"。
    修改了 截止日期,旧值为 "2023-12-26",新值为 "2023-12-25"。
所属迭代 智能中心-EBAY直发迭代
所属模块 智能中心-需求池  战略独立项目   EBAY直发
相关需求 ebay动态库存变化和listing变化由两个定时调度统一改为策略消费机制
指派给 王小勤 于 2023-12-25 15:42:19
任务类型 测试
任务标签 初始
开发组 仓储物流开发组
任务状态 已完成
进度 100%
优先级 P1
关键词
抄送给
由谁创建 王小勤 于 2023-12-14 15:38:24
由谁完成 王小勤 于 2023-12-25 15:42:19
由谁取消 暂无
由谁关闭 暂无
关闭原因 暂无
最后编辑 王小勤 于 2023-12-25 15:42:39
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 9.33工时
总计消耗 9.33工时
预计剩余 0工时
预计开始 2023-12-25
实际开始 2023-12-20
截止日期 2023-12-25