[步骤]


[结果]
自动补货队列失败原因,找不到listing占比比较大[期望]
listing管理没有的数据,正常不进入自动补货队列
[步骤]


[结果]
自动补货队列失败原因,找不到listing占比比较大[期望]
listing管理没有的数据,正常不进入自动补货队列
优化方案:
需要统计表[m_mercadolibre_listing_sub], 同一个渠道ID,渠道SKU,系统SKU,如果有多个CBT,那么只保留最新的一条CBT数据即可
原因分析:
1. 通过CBT查询自动补货队列表, select * from pp_replenishment where ProductId = 'CBT1039985733' and OrderSourceId = 11744, BusinessType为1,说明是通过库存同步添加的自动补货队列
2. 通过库存同步添加的自动补货队列,是通过SKU查询sub表,可以分别查询到两个CBT,224结尾的CBT是最新有效的,733结尾的CBT是2021年无效的,查询到两条数据后,就将两条数据插入了自动补货都列表
3. 通过渠道SKU[V5XQ004401KKLUN38S]查询自动补货队列表
[ select ProductId,SellerSku,OrderSourceId,`Status`,FailureReason,Time,CreationTime,LastModificationTime from pp_replenishment where SellerSku = 'V5XQ004401KKLUN38S' and OrderSourceId = 11744 and CustomerId = 1 limit 100]
说明两个CBT都进入了自动补货队列,最新的224结尾的CBT补货成功了,2021年的旧的733结尾的CBT就会提示找不到Listing
4. 所以,需要将2021年的旧的733结尾的CBT的历史无效数据清理掉
5. 需要统计表[m_mercadolibre_listing_sub], 同一个渠道ID,渠道SKU,系统SKU,如果有多个CBT,那么只保留最新的一条CBT数据即可
美客多ListingSub里相同渠道SKU有多个平台ID,在Listing表里只能找到一个,直接用ListingSub表与listing表做关联取数据


ListingSub表与listing表做关联取数据就可以过滤不存在的CBT

确认下是否解决,当前自动补货队列,还是有异常

其他代码也需要关联listing表,BUG发布时间2023-04-11 15点左右
耗时:1小时


| 由谁创建 | 李乐同 于 2023-03-27 11:32:54 |
|---|---|
| 影响环境 |
生产环境-业务反馈 |
| 由谁解决 | 姚杰远 于 2023-04-11 16:37:14 |
| 解决版本 | 主干 |
| 解决方案 | 程序BUG |
| 由谁关闭 | 李乐同 于 2023-04-13 20:58:31 |
| 最后修改 | 刘超 于 2023-11-17 09:46:10 |
| 相关Bug |
|---|
d.OrderSourceName AS 来源渠道,
a.sku AS 系统SKU,
a.ProductId AS 平台ID,
a.SellerSku AS 渠道SKU,
a.StrategyId AS 执行策略ID,
b.NAME AS 执行策略名称,
a.`Status` AS 执行状态,
a.FailureReason AS 失败原因,
a.Time AS 操作时间,
a.Inventory AS 修改后库存,
a.OriginalInventory AS 原库存,
a.Remark AS 补货日志,
a.Type AS 刊登方式
FROM
pp_replenishment AS a
LEFT JOIN pp_replenishment_strategy AS b ON a.StrategyId = b.id
INNER JOIN sys_ordersource AS d ON a.OrderSourceId = d.OrderSourceId
WHERE
a.CustomerId = 1
AND a.MarketId = 70
AND a.StrategyId=180 /*加上策略ID走索引*/
AND `Status`='failure'
and a.Time>'2023-03-20 00:00:00'
AND a.FailureReason LIKE'%找不到指定的 Listing%'