diff --git a/platformapi/jdapi/callback.go b/platformapi/jdapi/callback.go index 3986f288..a454e666 100644 --- a/platformapi/jdapi/callback.go +++ b/platformapi/jdapi/callback.go @@ -1,8 +1,6 @@ package jdapi import ( - "encoding/json" - "git.rosy.net.cn/jx-callback/globals" "io/ioutil" "net/http" "strings" @@ -269,17 +267,7 @@ func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData ma return nil, nil, FormatErrorResponse } mapData = utils.URLValues2Map(values) - err = utils.Map2StructByJson(mapData, &callbackMsg, false) - globals.SugarLogger.Debugf("========mapdata1 := %s", utils.Format4Output(mapData, false)) - - var callbackMsg2 *CallbackMsg - if err := json.Unmarshal(data, &callbackMsg2); err != nil { - return nil, nil, Err2CallbackResponse(err, "") - } - mapData2 := utils.Struct2MapByJson(callbackMsg2) - globals.SugarLogger.Debugf("========mapData2 := %s", utils.Format4Output(mapData2, false)) - - if err == nil { + if err = utils.Map2StructByJson(mapData, &callbackMsg, false); err == nil { callbackMsg.MsgURL = msgURL if msgURL == CallbackMsgPushDeliveryStatus { var deliveryMsg *CallbackDeliveryStatusMsg @@ -320,6 +308,63 @@ func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData ma return callbackMsg, mapData, callbackResponse } +// +//func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData map[string]interface{}, callbackResponse *CallbackResponse) { +// msgURL := getMsgURLFromRequest(request) +// data, err := ioutil.ReadAll(request.Body) +// if err != nil { +// return nil, nil, Err2CallbackResponse(err, "") +// } +// values, err := utils.HTTPBody2Values(data, needDecodeMap[msgURL]) +// if err != nil { +// return nil, nil, FormatErrorResponse +// } +// mapData = utils.URLValues2Map(values) +// if err := json.Unmarshal(data, &callbackMsg); err != nil { +// return nil, nil, Err2CallbackResponse(err, "") +// } +// +// if err == nil { +// callbackMsg.MsgURL = msgURL +// if msgURL == CallbackMsgPushDeliveryStatus { +// var deliveryMsg *CallbackDeliveryStatusMsg +// if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &deliveryMsg); err == nil { +// callbackMsg.Param = deliveryMsg +// deliveryMsg.CallbackMsg = callbackMsg +// } +// } else if msgURL == CallbackMsgStockIsHave { +// var mapData map[string]interface{} +// if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &mapData); err == nil { +// stockMsg := map2StockCallbackMsg(mapData) +// callbackMsg.Param = stockMsg +// stockMsg.CallbackMsg = callbackMsg +// } +// } else if msgURL == CallbackMsgOrderInfoChange { +// var orderInfoMsg *CallbackOrderInfoChangeMsg +// if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &orderInfoMsg); err == nil { +// callbackMsg.Param = orderInfoMsg +// orderInfoMsg.CallbackMsg = callbackMsg +// } +// } else if msgURL == CallBackMsgMemberCreateCard || msgURL == CallBackMsgMemberRenewCard { +// var orderInfoMsg *CallbackMemberMsg +// if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &orderInfoMsg); err == nil { +// callbackMsg.Param = orderInfoMsg +// orderInfoMsg.CallbackMsg = callbackMsg +// } +// } else { +// var orderMsg *CallbackOrderMsg +// if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &orderMsg); err == nil { +// callbackMsg.Param = orderMsg +// orderMsg.CallbackMsg = callbackMsg +// } +// } +// } +// if err != nil { +// return nil, nil, Err2CallbackResponse(err, "") +// } +// return callbackMsg, mapData, callbackResponse +//} + func (a *API) CheckCallbackValidation(mapData map[string]interface{}, signInData string) (callbackResponse *CallbackResponse) { sign := a.signParams(mapData) if sign != signInData {