From 5dd72f7b2d0cb0231e3eb6fe1e9d697757d153b0 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, 20 Oct 2020 11:01:15 +0800 Subject: [PATCH] wxpay --- controllers/wxpay_callback.go | 41 +++++++++++++++++++++++++++++++++++ routers/router.go | 1 + 2 files changed, 42 insertions(+) create mode 100644 controllers/wxpay_callback.go diff --git a/controllers/wxpay_callback.go b/controllers/wxpay_callback.go new file mode 100644 index 000000000..5ae1a1583 --- /dev/null +++ b/controllers/wxpay_callback.go @@ -0,0 +1,41 @@ +package controllers + +import ( + "fmt" + "net/http" + + "git.rosy.net.cn/baseapi/platformapi/wxpayapi" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" + "github.com/astaxie/beego" +) + +type WXPayController struct { + beego.Controller +} + +func (c *WXPayController) Msg() { + if c.Ctx.Input.Method() == http.MethodPost { + msg, callbackResponse := api.WxpayAPI.GetCallbackMsg(c.Ctx.Request) + globals.SugarLogger.Debugf("wxpayapi callback msg:%s, callbackResponse:%s, %t", utils.Format4Output(msg, true), utils.Format4Output(callbackResponse, true), callbackResponse == nil) + var err error + if callbackResponse == nil { + if msg.MsgType == wxpayapi.MsgTypeUnkown { + err = fmt.Errorf("未知的微信支付回调类型:%d", msg.MsgType) + } else { + err = localjx.OnWxPayCallback(msg) + } + } + if callbackResponse == nil { + callbackResponse = wxpayapi.SuccessResponse + } else if err != nil { + callbackResponse = wxpayapi.Err2CallbackResponse(err, "") + } + c.Data["xml"] = callbackResponse + c.ServeXML() + } else { + c.Abort("404") + } +} diff --git a/routers/router.go b/routers/router.go index d34824c2a..26c6878a1 100644 --- a/routers/router.go +++ b/routers/router.go @@ -48,6 +48,7 @@ func init() { ), ) beego.AddNamespace(ns) + // beego.AutoRouter(&controllers) beego.AutoRouter(&controllers.TongLianController{}) // 如下都是用于检测存活的空接口