暂无
任务描述
需求描述
1. 需求概述
1.1. 背景
1)虾皮V1和虾皮V2是两个不同的订单来源渠道类型,用户将V1设置订单不下载,授权V2后,会重新下载最近3天的订单,可能出现订单重复的情况;
2)当前虾皮订单下载逻辑为根据订单状态进行下载,状态为RTS的订单才会进行下载,但平台仓发货的订单RTS状态短暂,导致部分订单未下载;
2. 功能设计
2.1. V1升级V2订单下载逻辑优化
2.1.1 需求说明
用户升级后,V2下载的订单先在中间表查询是否已存在,如果存在,则执行以下操作:
1)已经存在的订单,V2不再下载;
2)V1旧订单,非退款订单更新平台状态,进而触发订单策略,退款订单插入退款队列,不执行订单策略;
更新虾皮V2升级文档,公告通知客户,若反向操作,即升级V2后又再次授权V1,会导致订单重复,建议升级后不要重新授权V1--产品关注
2.2. 官方仓发货订单逻辑优化
2.1.1 需求说明
平台仓发货的订单,标识为fulfillment_flag字段为fulfilled_by_shopee
V1和V2均需更改,当订单为平台仓发货的时候,执行以下操作:
1) 订单是否fba标识为:是;
2) 订单是否执行策略:否;
3) 订单发货状态为:全部发货;
4) 订单发货时间为:当订单状态为UNPAID和READY_TO_SHIP时,没有发货时间;当订单状态为PROCESSED、RETRY_SHIP、SHIPPED时,发货时间为当前订单下载时间;
5) 仓库名称:【Shopee海外仓(来源渠道名称)】;
6) 订单备注中增加【fulfilled_by_shopee】;
7) 如果订单状态不是作废,则设置为锁定;
验收标准
暂无
1、涉及两个接口
查询接口,去掉来源渠道ID,
订单下载从这个接口查到v1订单就不下载,然后对比状态,不相等调用更新接口
订单退款从这个接口查到v1订单,调用更新接口,插入退款队列
POST /api/index.ashx?Method=GetShopeeOrders&SecretKey=YVhKdlltOTBZbTk0TG1OdmJRJTNEJTNE&Data={"CustomerID":1,"OrderIds":["211022GXM0YA70","210711KE3VMYHT"]} HTTP/1.1
Host: localhost:8005
更新接口,更新状态和插入退款队列
更新状态:
POST /api/index.ashx?Method=UpdateShopeeOrders&SecretKey=YVhKdlltOTBZbTk0TG1OdmJRJTNEJTNE&Data=[
{
"CustomerID": 1,
"OrderSourceID": 9366,
"OrderId": "210711K9KE9F9M",
"UpdateStatus": {
"NewOrderStatus": "READY_TO_SHIP"
}
},
{
"CustomerID": 1,
"OrderSourceID": 9366,
"OrderId": "210710J703G7HC",
"UpdateStatus": {
"NewOrderStatus": "READY_TO_SHIP"
}
}
] HTTP/1.1
Host: localhost:8005
SELECT OrderStatus,CheckStatusTime,IsProcess,* FROM dbo.RB_Shopee_OrderInfo ORDER BY id DESC
插入退款队列:
POST /api/index.ashx?Method=UpdateShopeeOrders&SecretKey=YVhKdlltOTBZbTk0TG1OdmJRJTNEJTNE&Data=[{"CustomerID":1,"OrderSourceID":9366,"OrderId":"211022GXM0YA70","UpdateStatus":null,"ReturnInfo":{"Cancel_Reason":"Reason:123,Text Reason:abc"}}] HTTP/1.1
Host: localhost:8005
SELECT TOP 1000 *FROM dbo.RB_OrderRefund_Queue WHERE ClientOrderCode IN ('211022GXM0YA70','210711KE3VMYHT')