98 lines
3.0 KiB
Go
98 lines
3.0 KiB
Go
package controllers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
|
"git.rosy.net.cn/jx-callback/business/jxstore/common"
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
|
"git.rosy.net.cn/jx-callback/globals"
|
|
"git.rosy.net.cn/jx-callback/globals/api"
|
|
"github.com/astaxie/beego/server/web"
|
|
"time"
|
|
)
|
|
|
|
type TiktokController struct {
|
|
web.Controller
|
|
}
|
|
|
|
// CallbackTiktokOrderMsg 抖店用户下单订单推送 (tiktokStore)
|
|
func (t *TiktokController) CallbackTiktokOrderMsg() {
|
|
// 1.防伪校验
|
|
resp := api.TiktokStore.EventSignChange(t.Ctx.Request)
|
|
if resp.Code != 0 {
|
|
t.Data["json"] = resp
|
|
t.ServeJSON()
|
|
return
|
|
}
|
|
|
|
// 2.参数解析
|
|
orderStatus, resp := api.TiktokStore.CreateOrderCallback(t.Ctx.Request)
|
|
globals.SugarLogger.Debug("抖音订单回调数据打印测试===========", orderStatus)
|
|
if resp.Code != 0 {
|
|
t.Data["json"] = resp
|
|
t.ServeJSON()
|
|
return
|
|
}
|
|
|
|
for k, v := range orderStatus {
|
|
for _, callback := range v {
|
|
resp2 := tiktok_store.OnOrderMsg(k, callback)
|
|
if resp2.Code != 0 {
|
|
t.Data["json"] = resp2
|
|
t.ServeJSON()
|
|
return
|
|
}
|
|
}
|
|
}
|
|
|
|
t.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackSuccessCode, Msg: tiktok_api.CallbackSuccess}
|
|
t.ServeJSON()
|
|
|
|
}
|
|
|
|
// CallbackTiktokTokenMsg 抖音用户授权
|
|
func (c *TiktokController) CallbackTiktokTokenMsg() {
|
|
code := c.Ctx.Request.URL.Query().Get("code")
|
|
globals.SugarLogger.Debugf("tictok callback callbackResponse:%s", code)
|
|
result, err := api.TiktokStore.CreateToken(code)
|
|
if err != nil {
|
|
globals.SugarLogger.Debugf("tictok callback create token:%s", err)
|
|
c.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackFailCode, Msg: tiktok_api.CallbackFail}
|
|
c.ServeJSON()
|
|
return
|
|
}
|
|
|
|
result.ExpiresIn += time.Now().Unix()
|
|
data, err := json.Marshal(result)
|
|
if err != nil {
|
|
globals.SugarLogger.Debugf("tictok callback Marshal token:%s", err)
|
|
c.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackFailCode, Msg: tiktok_api.CallbackFail}
|
|
c.ServeJSON()
|
|
return
|
|
}
|
|
|
|
param := &model.VendorOrgCode{
|
|
VendorID: model.VendorIDDD,
|
|
VendorOrgCode: result.ShopId,
|
|
Comment: "抖音授权",
|
|
VendorType: "platform",
|
|
IsJxCat: 1,
|
|
IsOpen: 1,
|
|
EmpowerURL: "",
|
|
StoreBrandName: result.ShopName,
|
|
Token: string(data),
|
|
AppKey: "", // web.AppConfig.DefaultString("tiktokShopAppId", "7136048270014416392"),
|
|
AppSecret: "", // web.AppConfig.DefaultString("tiktokShopAppSecret", "c397aa9f-3927-47c4-8cfe-4d84e02602e0")
|
|
}
|
|
if err := common.AddVendorOrgCode(nil, param); err != nil {
|
|
globals.SugarLogger.Debugf("tictok callback insert token:%s", err)
|
|
c.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackFailCode, Msg: tiktok_api.CallbackFail}
|
|
c.ServeJSON()
|
|
return
|
|
}
|
|
c.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackSuccessCode, Msg: tiktok_api.CallbackSuccess}
|
|
c.ServeJSON()
|
|
|
|
}
|