- mtwmapi.CallbackMsg.Data to FormData
This commit is contained in:
@@ -40,8 +40,8 @@ type CallbackResponse struct {
|
|||||||
|
|
||||||
// !!!特别注意,Data中的数据
|
// !!!特别注意,Data中的数据
|
||||||
type CallbackMsg struct {
|
type CallbackMsg struct {
|
||||||
Data url.Values
|
FormData url.Values
|
||||||
Cmd string
|
Cmd string
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -77,16 +77,17 @@ func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackR
|
|||||||
msg = &CallbackMsg{
|
msg = &CallbackMsg{
|
||||||
Cmd: cmd,
|
Cmd: cmd,
|
||||||
}
|
}
|
||||||
msg.Data = make(url.Values)
|
msg.FormData = make(url.Values)
|
||||||
for k, v := range data {
|
for k, v := range data {
|
||||||
// 美团外卖的用户催单信息的timestamp是毫秒(其它的事件是秒),统一归一化为秒
|
// 美团外卖的用户催单信息的timestamp是毫秒(其它的事件是秒),统一归一化为秒
|
||||||
if cmd == MsgTypeUserUrgeOrder && k == "timestamp" {
|
if cmd == MsgTypeUserUrgeOrder && k == "timestamp" {
|
||||||
intV := utils.Str2Int64(v.(string))
|
intV := utils.Str2Int64(v.(string))
|
||||||
if intV > time.Now().Unix()*2 {
|
if intV > time.Now().Unix()*2 {
|
||||||
v = utils.Int64ToStr(intV / 1000)
|
v = utils.Int64ToStr(intV / 1000)
|
||||||
|
data[k] = v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
msg.Data.Set(k, v.(string))
|
msg.FormData.Set(k, v.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -100,6 +101,6 @@ func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackR
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) GetRefundSkuDetailFromMsg(msg *CallbackMsg) (refundSkuDetail []*RefundSkuDetail) {
|
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
|
return refundSkuDetail
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
/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{
|
msg := &CallbackMsg{
|
||||||
Data: data,
|
FormData: data,
|
||||||
}
|
}
|
||||||
result := api.GetRefundSkuDetailFromMsg(msg)
|
result := api.GetRefundSkuDetailFromMsg(msg)
|
||||||
t.Log(utils.Format4Output(result, false))
|
t.Log(utils.Format4Output(result, false))
|
||||||
|
|||||||
Reference in New Issue
Block a user