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