Files
jx-callback/controllers/tictok_callback.go
邹宗楠 5a47102894 1
2022-10-22 22:44:39 +08:00

59 lines
1.1 KiB
Go

package controllers
import (
"bytes"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
"io/ioutil"
"net/http"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego/server/web"
"github.com/astaxie/beego/server/web/context"
)
type TicTocController struct {
web.Controller
}
type TicktockRes struct {
ErrNo int `json:"err_no"`
ErrTips string `json:"err_tips"`
}
func MsgSuccess() *TicktockRes {
return &TicktockRes{
ErrNo: 0,
ErrTips: "success",
}
}
func MsgFail() *TicktockRes {
return &TicktockRes{
ErrNo: 400,
ErrTips: "business fail",
}
}
func (c *TicTocController) TiktokMsg() {
call, refund, payType, err := api.TiktokApi.GetCallbackMsg(getPayInfo(c.Ctx))
if err != nil || call == nil {
c.Data["json"] = MsgFail()
c.ServeJSON()
return
}
if err = localjx.OnTTPayCallback(call, refund, payType); err != nil {
c.Data["json"] = MsgFail()
c.ServeJSON()
return
}
c.Data["json"] = MsgSuccess()
c.ServeJSON()
}
func getPayInfo(ctx *context.Context) *http.Request {
ctx.Request.Body = ioutil.NopCloser(bytes.NewReader(ctx.Input.RequestBody))
return ctx.Request
}