67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
package controllers
|
|
|
|
import (
|
|
"git.rosy.net.cn/baseapi/platformapi/kuaishou_mini"
|
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
|
|
"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)
|
|
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,
|
|
}
|
|
}
|