From b5860f161f97b090104911d87383465a21bf878d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 26 May 2020 08:48:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=9D=E6=8E=A5=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 35 ++++++++++++++++++++ controllers/jds_callback.go | 34 +++++++++++++------ routers/router.go | 1 + 3 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 business/partner/purchase/jdshop/callback.go diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go new file mode 100644 index 000000000..77c54ac2c --- /dev/null +++ b/business/partner/purchase/jdshop/callback.go @@ -0,0 +1,35 @@ +package jdshop + +import ( + "fmt" + + "git.rosy.net.cn/baseapi/platformapi/jdshopapi" +) + +func OnCallbackMsg(msg *jdshopapi.CallBackResult) { + fmt.Println("testcallback") + // if CurPurchaseHandler != nil { + // if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged { + // response = CurPurchaseHandler.onStoreStatusChanged(msg) + // } else if msg.Cmd == mtwmapi.MsgTypePrivateNumberDowngrade { + // response = CurPurchaseHandler.onNumberDowngrade(msg) + // } else { + // if orderID := GetOrderIDFromMsg(msg); orderID != "" { + // jxutils.CallMsgHandler(func() { + // switch msg.Cmd { + // case mtwmapi.MsgTypeWaybillStatus: + // response = CurPurchaseHandler.onWaybillMsg(msg) + // default: + // response = CurPurchaseHandler.onOrderMsg(msg) + // } + // }, jxutils.ComposeUniversalOrderID(orderID, model.VendorIDMTWM)) + // } + // /*if msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund { + // utils.CallFuncAsync(func() { + // OnFinancialMsg(msg) + // }) + // } */ + // } + // } + // return response +} diff --git a/controllers/jds_callback.go b/controllers/jds_callback.go index aee913bc3..35bfb65b3 100644 --- a/controllers/jds_callback.go +++ b/controllers/jds_callback.go @@ -1,6 +1,15 @@ package controllers import ( + "bytes" + "io/ioutil" + "net/http" + + "git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop" + + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" ) @@ -8,15 +17,18 @@ type JdsController struct { beego.Controller } -func (c *JdsController) Msg(msgType string) { - // c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "") - // msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request) - // if callbackResponse == nil { - // callbackResponse = mtwm.OnCallbackMsg(msg) - // if callbackResponse == nil { - // callbackResponse = mtwmapi.Err2CallbackResponse(nil, "") - // } - // } - // c.Data["json"] = callbackResponse - // c.ServeJSON() +func (c *JdsController) Msg() { + if c.Ctx.Input.Method() == http.MethodPost { + ctx := c.Ctx + ctx.Request.Body = ioutil.NopCloser(bytes.NewReader(ctx.Input.RequestBody)) + call, err := api.JdShopAPI.GetCallbackMsg(ctx.Request) + if err == nil { + jdshop.OnCallbackMsg(call) + } + globals.SugarLogger.Debugf("jds callback callbackResponse:%s", utils.Format4Output(call, true)) + c.Data["json"] = call + c.ServeJSON() + } else { + c.Abort("404") + } } diff --git a/routers/router.go b/routers/router.go index 5a12568a9..162e2ce63 100644 --- a/routers/router.go +++ b/routers/router.go @@ -157,6 +157,7 @@ func init() { beego.AutoRouter(&controllers.Djsw2Controller{}) beego.AutoRouter(&controllers.TongLianController{}) beego.AutoRouter(&controllers.EclpController{}) + beego.AutoRouter(&controllers.JdsController{}) // 如下都是用于检测存活的空接口 beego.Any("/", func(ctx *beecontext.Context) {