暂无
任务描述
需求描述
1. 需求概述
1.1. 背景
订单同步时,当订单类型为平台仓发货,但是订单状态不是“已发货”,则系统不会记录发货时间,在订单更新后,也不会更新订单信息,导致平台仓发货订单没有发货时间,影响备库订单头程的取值
2. 功能设计
2.1. 平台仓发货订单信息更新
2.1.1 需求说明
优化方案为,如果满足下面4个条件,则强制更新订单状态:
1、订单类型为平台仓发货;
2、接口返回的订单状态为已发货;
3、ERP中订单没有发货时间;
4、接口返回了订单发货时间;
验收标准
暂无
相关用例
- #40573 [10324]中间表更新订单到ERP时,非平台仓订单,更新发货时间正常
- #40574 [10324]中间表更新订单到ERP时,平台仓订单,映射更新为已发货状态没有发货时间,如果中间表有发货时间,则会去更新发货时间
- #40575 [10324]中间表更新订单到ERP时,平台仓订单,映射更新为已发货状态没有发货时间,如果中间表没有发货时间,则也不会去更新发货时间
- #40576 [10324]中间表更新订单到ERP时,平台仓订单,映射更新时不是已发货状态,即使中间表有发货时间,则也不会去更新发货时间
- #40577 [10324]发货时间存在中间表主表,更新发货时间逻辑正常
- #40578 [10324]发货时间存在中间表产品表,更新发货时间逻辑正常
- #40579 [10324]中间表只有一张表,更新发货时间逻辑正常
按需求完成。
场景:当平台发货仓类型订单初次同步回来,会设置平台仓发货逻辑,其中部分平台设置ERP的发货时间会判断订单状态是否已发货,如已发货则再设置发货时间(如接口有返回发货时间以接口时间为准,没有则取系统当前时间)。
若初次同步回来的平台仓类型订单,状态不是已发货,进入ERP没有发货时间;后平台状态发生变化,再次检测,因订单状态已发货系统不会进行更新ERP数据,所以该订单发货时间没数据。
优化:当订单是修改的时候(即非初次同步下来),在执行中间表映射策略时保存订单基类中判断
1,映射的是FBA类型订单,IsFBAOrder=true
2,映射的ERP订单状态是【全部发货】,平台仓订单系统逻辑会设置:全部发货
3,映射回来的发货时间ShipTime有值并且大于2000-01-01(无值时系统会默认2000-01-01)
4,ERP订单表字段ShipTime没有值(为null或小于等于初始值2000-01-01)
则进行更新ERP订单表ShipTime为映射回来的发货时间。
测试需验证,时间是null和正常等场景。初次有发货时间和再次多次检测执行发货时间等,条件满足则更新erp发货时间。
自测
以沃尔玛为例,当订单状态是Shipped或Delivered才会设置发货时间ShipTime为系统当前时间
初次下载回来状态是ask,此时同步回来没有发货时间
进入erp没有发货时间
再次检测平台状态发生变化,如满足平台状态满足已发货逻辑,则更新发货时间
再次检测平台状态发生变化,因ERP已有发货时间,不更新