From a41686fb56928de14ba995574ef02b88cda17736 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 19 Jan 2019 11:06:20 +0800 Subject: [PATCH] - weimob order callback --- .../partner/purchase/weimob/wsc/callback.go | 9 +++++++ controllers/weimob_callback.go | 24 +++++++++++++++---- routers/router.go | 7 ++++++ 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 business/partner/purchase/weimob/wsc/callback.go diff --git a/business/partner/purchase/weimob/wsc/callback.go b/business/partner/purchase/weimob/wsc/callback.go new file mode 100644 index 000000000..0aeb44ca7 --- /dev/null +++ b/business/partner/purchase/weimob/wsc/callback.go @@ -0,0 +1,9 @@ +package wsc + +import ( + "git.rosy.net.cn/baseapi/platformapi/weimobapi" +) + +func OnCallbackMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) { + return weimobapi.SuccessResponse +} diff --git a/controllers/weimob_callback.go b/controllers/weimob_callback.go index ca2dd0896..6dae72de8 100644 --- a/controllers/weimob_callback.go +++ b/controllers/weimob_callback.go @@ -2,7 +2,7 @@ package controllers import ( "git.rosy.net.cn/jx-callback/business/jxutils/tasks" - _ "git.rosy.net.cn/jx-callback/business/partner/purchase/weimob/wsc" + "git.rosy.net.cn/jx-callback/business/partner/purchase/weimob/wsc" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" @@ -12,9 +12,17 @@ type WeimobController struct { beego.Controller } -func (c *WeimobController) onCallbackMsg(msgType string) { - c.Data["json"] = "ok" - c.ServeJSON() +func (c *WeimobController) onCallbackMsg() { + if true { //c.Ctx.Input.Method() == http.MethodPost { + msg, callbackResponse := api.WeimobAPI.GetCallbackMsg(c.Ctx.Input.RequestBody) + if callbackResponse == nil { + callbackResponse = wsc.OnCallbackMsg(msg) + } + c.Data["json"] = callbackResponse + c.ServeJSON() + } else { + c.Abort("404") + } } func (c *WeimobController) Code() { @@ -30,3 +38,11 @@ func (c *WeimobController) Code() { } } } + +func (c *WeimobController) CreateOrder() { + c.onCallbackMsg() +} + +func (c *WeimobController) OrderStatusChange() { + c.onCallbackMsg() +} diff --git a/routers/router.go b/routers/router.go index 30128cdb0..5d3f4fa5f 100644 --- a/routers/router.go +++ b/routers/router.go @@ -8,6 +8,8 @@ package routers import ( + "git.rosy.net.cn/baseapi/platformapi/weimobapi" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/controllers" "github.com/astaxie/beego" @@ -102,4 +104,9 @@ func init() { beego.Any("/addstoremsg", func(ctx *beecontext.Context) { ctx.WriteString("pong\n") }) + + // 在微盟配置回调时能通过检测 + beego.Any("/weimob", func(ctx *beecontext.Context) { + ctx.WriteString(string(utils.MustMarshal(weimobapi.SuccessResponse))) + }) }