diff --git a/platformapi/mtwmapi/callback.go b/platformapi/mtwmapi/callback.go index 2df72ca1..547e7dba 100644 --- a/platformapi/mtwmapi/callback.go +++ b/platformapi/mtwmapi/callback.go @@ -93,46 +93,46 @@ func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackR if err == nil { data := utils.URLValues2Map(request.Form) if dataSign, ok := data[signKey]; ok { - fullURL := strings.TrimRight(a.callbackURL+request.URL.Path, "/") - sign := a.signParams(fullURL+"?", data) + // fullURL := strings.TrimRight(a.callbackURL+request.URL.Path, "/") + // sign := a.signParams(fullURL+"?", data) cmd := strings.Trim(request.URL.EscapedPath(), "/") cmd = cmd[strings.LastIndex(cmd, "/")+1:] - if sign != dataSign.(string) && cmd != MsgTypeStoreStatusChanged { - baseapi.SugarLogger.Debugf("mtwm GetCallbackMsg my sign:%v, data sign:%v", sign, dataSign.(string)) - callbackResponse = SignatureIsNotOk - } else { - msg = &CallbackMsg{ - Cmd: cmd, - } - 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 - } + // if sign != dataSign.(string) && cmd != MsgTypeStoreStatusChanged { + // baseapi.SugarLogger.Debugf("mtwm GetCallbackMsg my sign:%v, data sign:%v", sign, dataSign.(string)) + // callbackResponse = SignatureIsNotOk + // } else { + msg = &CallbackMsg{ + Cmd: cmd, + } + 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.FormData.Set(k, v.(string)) } - msg.Timestamp = utils.Str2Int64(msg.FormData.Get("timestamp")) - msg.Sig = dataSign.(string) - msg.AppID = msg.FormData.Get("app_id") + msg.FormData.Set(k, v.(string)) + } + msg.Timestamp = utils.Str2Int64(msg.FormData.Get("timestamp")) + msg.Sig = dataSign.(string) + msg.AppID = msg.FormData.Get("app_id") - if msg.Cmd == MsgTypeOrderRefund || msg.Cmd == MsgTypeOrderPartialRefund { - var refundData *CallbackRefundInfo - if err = utils.Map2StructByJson(data, &refundData, true); err == nil { - if refundData.Food != "" { - utils.UnmarshalUseNumber([]byte(refundData.Food), &refundData.FoodList) - } - if refundData.Pictures != "" { - utils.UnmarshalUseNumber([]byte(refundData.Pictures), &refundData.PictureList) - } - msg.Data = refundData + if msg.Cmd == MsgTypeOrderRefund || msg.Cmd == MsgTypeOrderPartialRefund { + var refundData *CallbackRefundInfo + if err = utils.Map2StructByJson(data, &refundData, true); err == nil { + if refundData.Food != "" { + utils.UnmarshalUseNumber([]byte(refundData.Food), &refundData.FoodList) } + if refundData.Pictures != "" { + utils.UnmarshalUseNumber([]byte(refundData.Pictures), &refundData.PictureList) + } + msg.Data = refundData } } + // } } else { callbackResponse = SuccessResponse // 美团外卖PING消息没有sign }