Files
jx-callback/controllers/kuaishou_callback.go
邹宗楠 f2855fa9ec 1
2023-04-06 18:25:51 +08:00

73 lines
1.8 KiB
Go

package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/kuaishou_mini"
"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/server/web"
)
type KuaiShouController struct {
web.Controller
}
// KuaiShouCallBack 快手回调
func (c *KuaiShouController) KuaiShouCallback() {
payOrder, refundOrder, payType, msgId, err := api.KuaiShouApi.KauiShouCallback(c.Ctx.Request)
globals.SugarLogger.Debugf("KuaiShouCallBack payOrder =: %s", utils.Format4Output(payOrder, false))
globals.SugarLogger.Debugf("KuaiShouCallBack refundOrder=: %s", refundOrder)
globals.SugarLogger.Debugf("KuaiShouCallBack payType=: %s", payType)
globals.SugarLogger.Debugf("KuaiShouCallBack err=: %s", utils.Format4Output(err, false))
if err != nil {
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
switch payType {
case kuaishou_mini.CallbackTypePay:
err = localjx.OnKSPayCallback(payOrder, nil, payType)
case kuaishou_mini.CallbackTypeRefund:
err = localjx.OnKSPayCallback(nil, refundOrder, payType)
case kuaishou_mini.CallbackTypeSettle:
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
default:
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
if err != nil {
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
c.Data["json"] = CallBackSuccess(msgId)
c.ServeJSON()
return
}
type CallBackResult struct {
Result string `json:"result"`
MessageId string `json:"message_id"`
}
func CallBackSuccess(msgId string) *CallBackResult {
return &CallBackResult{
Result: "1",
MessageId: msgId,
}
}
func CallBackFail(msgId string) *CallBackResult {
return &CallBackResult{
Result: "-1",
MessageId: msgId,
}
}