diff --git a/platformapi/mtwmapi/callback.go b/platformapi/mtwmapi/callback.go index 6ab2c8f0..30194963 100644 --- a/platformapi/mtwmapi/callback.go +++ b/platformapi/mtwmapi/callback.go @@ -40,8 +40,8 @@ type CallbackResponse struct { // !!!特别注意,Data中的数据 type CallbackMsg struct { - Data url.Values - Cmd string + FormData url.Values + Cmd string } var ( @@ -77,16 +77,17 @@ func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackR msg = &CallbackMsg{ Cmd: cmd, } - msg.Data = make(url.Values) + msg.FormData = make(url.Values) for k, v := range data { // 美团外卖的用户催单信息的timestamp是毫秒(其它的事件是秒),统一归一化为秒 if cmd == MsgTypeUserUrgeOrder && k == "timestamp" { intV := utils.Str2Int64(v.(string)) if intV > time.Now().Unix()*2 { v = utils.Int64ToStr(intV / 1000) + data[k] = v } } - msg.Data.Set(k, v.(string)) + msg.FormData.Set(k, v.(string)) } } } else { @@ -100,6 +101,6 @@ func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackR } func (a *API) GetRefundSkuDetailFromMsg(msg *CallbackMsg) (refundSkuDetail []*RefundSkuDetail) { - utils.UnmarshalUseNumber([]byte(msg.Data.Get("food")), &refundSkuDetail) + utils.UnmarshalUseNumber([]byte(msg.FormData.Get("food")), &refundSkuDetail) return refundSkuDetail } diff --git a/platformapi/mtwmapi/callback_test.go b/platformapi/mtwmapi/callback_test.go index 6c2ef1b4..cd0eed57 100644 --- a/platformapi/mtwmapi/callback_test.go +++ b/platformapi/mtwmapi/callback_test.go @@ -12,7 +12,7 @@ func TestGetRefundSkuDetailFromMsg(t *testing.T) { /mtwm/orderPartialRefund?timestamp=1556595759&reason=%E5%BA%97%E9%93%BA%E5%A4%AA%E5%BF%99%E4%BA%86%21%E5%AE%A2%E5%AE%98%E6%88%91%E6%80%95%E6%82%A8%E7%AD%89%E7%9A%84%E5%A4%AA%E4%B9%85&food=%5B%7B%22app_food_code%22%3A%2231458%22%2C%22box_num%22%3A0%2C%22box_price%22%3A0%2C%22count%22%3A1%2C%22food_name%22%3A%22%E9%B2%9C%E7%AB%B9%E7%AC%8B%EF%BC%88%E9%B8%A1%E5%A9%86%E7%AC%8B%EF%BC%89%5B%E6%9C%AA%E6%B3%A1%E6%B0%B4%5D%E7%BA%A6250g%2F%E4%BB%BD%22%2C%22food_price%22%3A7.97%2C%22origin_food_price%22%3A7.97%2C%22refund_price%22%3A7.97%2C%22sku_id%22%3A%2231458%22%2C%22spec%22%3A%22250g%22%7D%5D&money=7.97&is_appeal=0&pictures=¬ify_type=agree&app_id=589&order_id=67413510345111009&res_type=2&sig=0cef69f37b4a0e924ac4119c3d75117b `) msg := &CallbackMsg{ - Data: data, + FormData: data, } result := api.GetRefundSkuDetailFromMsg(msg) t.Log(utils.Format4Output(result, false))