From e09b9e4e673a962d2991ebcf75b42514f64c033f Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 8 May 2019 16:59:12 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BA=AC=E4=B8=9C=E5=88=B0=E5=AE=B6API?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3=E6=94=B9=E7=94=A8http.Requ?= =?UTF-8?q?est?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/jd_callback.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/controllers/jd_callback.go b/controllers/jd_callback.go index f8c81ab9b..242e823ce 100644 --- a/controllers/jd_callback.go +++ b/controllers/jd_callback.go @@ -1,6 +1,8 @@ package controllers import ( + "bytes" + "io/ioutil" "net/http" "git.rosy.net.cn/baseapi/platformapi/jdapi" @@ -10,6 +12,7 @@ import ( "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" + "github.com/astaxie/beego/context" ) // Operations about JDOrder @@ -23,10 +26,11 @@ func (c *DjswController) orderStatus(isCancelOrder bool) { var callbackResponse *jdapi.CallbackResponse if isCancelOrder { - obj, callbackResponse = api.JdAPI.GetOrderApplyCancelCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse = api.JdAPI.GetOrderApplyCancelCallbackMsg(getUsefulRequest(c.Ctx)) } else { - obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(getUsefulRequest(c.Ctx)) } + globals.SugarLogger.Debug(utils.Format4Output(obj, false)) if callbackResponse == nil { callbackResponse = jd.OnOrderMsg(obj) } @@ -79,7 +83,7 @@ func (c *DjswController) ApplyCancelOrder() { func (c *DjswController) PushDeliveryStatus() { if c.Ctx.Input.Method() == http.MethodPost { - obj, callbackResponse := api.JdAPI.GetOrderDeliveryCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse := api.JdAPI.GetOrderDeliveryCallbackMsg(getUsefulRequest(c.Ctx)) if callbackResponse == nil { callbackResponse = jd.OnWaybillMsg(obj) } @@ -106,7 +110,7 @@ func (c *DjswController) Token() { func (c *DjswController) StockIsHave() { // globals.SugarLogger.Info(string(c.Ctx.Input.RequestBody)) if c.Ctx.Input.Method() == http.MethodPost { - obj, callbackResponse := api.JdAPI.GetStoreStockCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse := api.JdAPI.GetStoreStockCallbackMsg(getUsefulRequest(c.Ctx)) if callbackResponse == nil { // globals.SugarLogger.Debugf("StockIsHave, obj:%s", utils.Format4Output(obj, false)) callbackResponse = promotion.OnStoreStockMsg(obj) @@ -120,7 +124,7 @@ func (c *DjswController) StockIsHave() { func (c *DjswController) SinglePromoteCreate() { if c.Ctx.Input.Method() == http.MethodPost { - obj, callbackResponse := api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse := api.JdAPI.GetOrderCallbackMsg(getUsefulRequest(c.Ctx)) if callbackResponse == nil { callbackResponse = promotion.OnNewPromotionMsg(obj) } @@ -133,7 +137,7 @@ func (c *DjswController) SinglePromoteCreate() { func (c *DjswController) StoreCrud() { if c.Ctx.Input.Method() == http.MethodPost { - obj, callbackResponse := api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse := api.JdAPI.GetOrderCallbackMsg(getUsefulRequest(c.Ctx)) if callbackResponse == nil { callbackResponse = jd.OnStoreMsg(obj) } @@ -157,7 +161,7 @@ func (c *DjswController) transferResponse(inCallbackResponse *jdapi.CallbackResp func (c *DjswController) afterSaleBillStatus() { var obj *jdapi.CallbackOrderMsg var callbackResponse *jdapi.CallbackResponse - obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) + obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(getUsefulRequest(c.Ctx)) if callbackResponse == nil { callbackResponse = jd.OnAfterSaleMsg(obj) } @@ -176,3 +180,8 @@ func (c *DjswController) AfterSaleBillStatus() { func (c *DjswController) OrderAccounting() { c.afterSaleBillStatus() } + +func getUsefulRequest(ctx *context.Context) *http.Request { + ctx.Request.Body = ioutil.NopCloser(bytes.NewReader(ctx.Input.RequestBody)) + return ctx.Request +}