59 lines
1.1 KiB
Go
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
|
|
}
|