1
This commit is contained in:
@@ -2,6 +2,7 @@ package jdapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
@@ -257,7 +258,7 @@ func getMsgURLFromRequest(request *http.Request) (msgURL string) {
|
||||
return msgURL
|
||||
}
|
||||
|
||||
func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData map[string]interface{}, callbackResponse *CallbackResponse) {
|
||||
func GetCallbackMsg2(request *http.Request) (callbackMsg *CallbackMsg, mapData map[string]interface{}, callbackResponse *CallbackResponse) {
|
||||
msgURL := getMsgURLFromRequest(request)
|
||||
data, err := ioutil.ReadAll(request.Body)
|
||||
if err != nil {
|
||||
@@ -317,68 +318,67 @@ 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 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)
|
||||
globals.SugarLogger.Debugf("==============data := %s", utils.Format4Output(data, false))
|
||||
globals.SugarLogger.Debugf("==============msgURL := %s", msgURL)
|
||||
globals.SugarLogger.Debugf("==============mapData := %s", utils.Format4Output(mapData, false))
|
||||
globals.SugarLogger.Debugf("==============msgURL := %s", msgURL)
|
||||
if err = utils.Map2StructByJson(mapData, &callbackMsg, false); err == nil {
|
||||
globals.SugarLogger.Debugf("==============callbackMsg := %s", utils.Format4Output(callbackMsg, false))
|
||||
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 {
|
||||
// baseapi.SugarLogger.Infof("Signature is not ok, mine:%s, signInData:%s", sign, signInData)
|
||||
// return FormatErrorResponse
|
||||
//}
|
||||
sign := a.signParams(mapData)
|
||||
if sign != signInData {
|
||||
baseapi.SugarLogger.Infof("Signature is not ok, mine:%s, signInData:%s", sign, signInData)
|
||||
return FormatErrorResponse
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user