From 2ddfaad376d3f1f34282370283bff630a8f62016 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 3 Feb 2023 16:53:14 +0800 Subject: [PATCH 1/2] 1 --- platformapi/uuptapi/callback.go | 31 +++++++++++++++++++++++++++---- platformapi/uuptapi/uupt_model.go | 1 + 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/platformapi/uuptapi/callback.go b/platformapi/uuptapi/callback.go index 30be4889..332178c1 100644 --- a/platformapi/uuptapi/callback.go +++ b/platformapi/uuptapi/callback.go @@ -1,9 +1,11 @@ package uuptapi import ( + "encoding/json" "fmt" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/globals" + "io/ioutil" "net/http" ) @@ -36,19 +38,40 @@ func Err2CallbackResponse(err error) *CallbackResponse { //订单提交后状态变化回调 func (a *API) WaybillCallback(request *http.Request) (*WaybillCallbackParam, *CallbackResponse) { - if callbackResponse := a.CheckCallbackValidation(request); callbackResponse != nil { - return nil, callbackResponse + //if callbackResponse := a.CheckCallbackValidation(request); callbackResponse != nil { + // return nil, callbackResponse + //} + + buf, err := ioutil.ReadAll(request.Body) + if err != nil { + globals.SugarLogger.Debugf("========buf err %v", err) + return nil, &CallbackResponse{ + ReturnCode: "2065", + ReturnMsg: "错误", + } } retVal := WaybillCallbackParam{} - if err := utils.Map2StructByJson(utils.URLValues2Map(request.PostForm), &retVal, true); err != nil { - return nil, Err2CallbackResponse(err) + if err := json.Unmarshal(buf, &retVal); err != nil { + globals.SugarLogger.Debugf("========buf err %v", err) + return nil, &CallbackResponse{ + ReturnCode: "20625", + ReturnMsg: "错误2", + } } + globals.SugarLogger.Debugf("====retVal := %s", utils.Format4Output(retVal, false)) + + //retVal := WaybillCallbackParam{} + //if err := utils.Map2StructByJson(utils.URLValues2Map(request.PostForm), &retVal, true); err != nil { + // return nil, Err2CallbackResponse(err) + //} + globals.SugarLogger.Debugf("retval======%s", utils.Format4Output(retVal, false)) con := retVal != WaybillCallbackParam{} if con { return &retVal, Err2CallbackResponse(nil) } else { return nil, Err2CallbackResponse(fmt.Errorf("UU跑腿运单回调信息为空")) } + //return retVal, Err2CallbackResponse(nil) } func (a *API) CheckCallbackValidation(request *http.Request) (callbackResponse *CallbackResponse) { diff --git a/platformapi/uuptapi/uupt_model.go b/platformapi/uuptapi/uupt_model.go index 2023b59a..613fe574 100644 --- a/platformapi/uuptapi/uupt_model.go +++ b/platformapi/uuptapi/uupt_model.go @@ -223,5 +223,6 @@ type WaybillCallbackParam struct { AppID string `json:"appid"` //第三方用户唯一凭证 ReturnMsg string `json:"return_msg"` //返回信息,如非空,为错误原因,如签名失败、参数格式校验错误 ReturnCode string `json:"return_code"` //状态,ok/fail表示成功 + Timestamp string `json:"timestamp"` //BaseRespInfo } From 2ef46357ab038afca6fd2c950bcbce8339634f00 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 3 Feb 2023 17:07:07 +0800 Subject: [PATCH 2/2] 1 --- platformapi/uuptapi/callback.go | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/platformapi/uuptapi/callback.go b/platformapi/uuptapi/callback.go index 332178c1..8a9666fc 100644 --- a/platformapi/uuptapi/callback.go +++ b/platformapi/uuptapi/callback.go @@ -2,7 +2,6 @@ package uuptapi import ( "encoding/json" - "fmt" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/globals" "io/ioutil" @@ -50,8 +49,8 @@ func (a *API) WaybillCallback(request *http.Request) (*WaybillCallbackParam, *Ca ReturnMsg: "错误", } } - retVal := WaybillCallbackParam{} - if err := json.Unmarshal(buf, &retVal); err != nil { + retVal := &WaybillCallbackParam{} + if err := json.Unmarshal(buf, retVal); err != nil { globals.SugarLogger.Debugf("========buf err %v", err) return nil, &CallbackResponse{ ReturnCode: "20625", @@ -65,13 +64,13 @@ func (a *API) WaybillCallback(request *http.Request) (*WaybillCallbackParam, *Ca // return nil, Err2CallbackResponse(err) //} globals.SugarLogger.Debugf("retval======%s", utils.Format4Output(retVal, false)) - con := retVal != WaybillCallbackParam{} - if con { - return &retVal, Err2CallbackResponse(nil) - } else { - return nil, Err2CallbackResponse(fmt.Errorf("UU跑腿运单回调信息为空")) - } - //return retVal, Err2CallbackResponse(nil) + //con := retVal != WaybillCallbackParam{} + //if con { + // return &retVal, Err2CallbackResponse(nil) + //} else { + // return nil, Err2CallbackResponse(fmt.Errorf("UU跑腿运单回调信息为空")) + //} + return retVal, Err2CallbackResponse(nil) } func (a *API) CheckCallbackValidation(request *http.Request) (callbackResponse *CallbackResponse) {