data 透传闭环:发货数据回显、回调带回,并限制 2KB
- 「查询发货数据」响应新增 data(下单透传原样回显,供自建发货页预填/展示) - 回调 payload 带回 data(下单传 → 回调收,商户对接免回查) - 创建订单 data 限制最长 2048 字节 - 文档更新:data 用途(自建页预填/回调/上游查单约定字段)、发货数据与回调示例 - 单测覆盖 data 回显
This commit is contained in:
@@ -772,7 +772,7 @@ func CanFulfill(order *model.FulfillmentOrder) (bool, string) {
|
||||
|
||||
func orderCallbackData(order *model.FulfillmentOrder) map[string]interface{} {
|
||||
canShip, cannotShipReason := CanFulfill(order)
|
||||
return map[string]interface{}{
|
||||
data := map[string]interface{}{
|
||||
"order_no": order.OrderNo,
|
||||
"client_order_no": order.ClientOrderNo,
|
||||
"product_sku": order.ProductSKU,
|
||||
@@ -788,6 +788,10 @@ func orderCallbackData(order *model.FulfillmentOrder) map[string]interface{} {
|
||||
"provider_order_no": order.ProviderOrderNo,
|
||||
"failure_reason": order.FailureReason,
|
||||
}
|
||||
if requestData := requestDataMap(order.RequestData); len(requestData) > 0 {
|
||||
data["data"] = requestData
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
// ----- 仪表盘统计 -----
|
||||
@@ -1309,6 +1313,15 @@ func resultDataMap(raw string) map[string]interface{} {
|
||||
return m
|
||||
}
|
||||
|
||||
// requestDataMap 解析下单透传的 data(RequestData),非法或为空时返回空 map。
|
||||
func requestDataMap(raw string) map[string]interface{} {
|
||||
m := map[string]interface{}{}
|
||||
if raw != "" && json.Valid([]byte(raw)) {
|
||||
_ = json.Unmarshal([]byte(raw), &m)
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
func resultDataString(raw, key string) string {
|
||||
if v, ok := resultDataMap(raw)[key].(string); ok {
|
||||
return v
|
||||
|
||||
Reference in New Issue
Block a user