Files
jx-callback/controllers/tiktok_order.go
邹宗楠 fd8e9b00cd 1
2022-11-15 13:39:00 +08:00

70 lines
1.9 KiB
Go

package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
"git.rosy.net.cn/baseapi/utils"
"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"
"strings"
)
type TiktokController struct {
web.Controller
}
// CallbackTiktokOrderMsg 抖店用户下单订单推送 (tiktokStore)
func (t *TiktokController) CallbackTiktokOrderMsg() {
// 1.防伪校验
resp, byteList := api.TiktokStore.EventSignChange(t.Ctx.Request)
if resp.Code != 0 {
t.Data["json"] = resp
t.ServeJSON()
return
}
if strings.Contains(string(byteList), "\"msg_id\":\"0\"") {
t.Data["json"] = tiktok_api.CallbackResponse{Code: tiktok_api.CallbackSuccessCode, Msg: tiktok_api.CallbackSuccess}
t.ServeJSON()
return
}
// 2.参数解析
orderStatus, storeMap, resp := api.TiktokStore.CreateOrderCallback(byteList)
if resp.Code != 0 {
t.Data["json"] = resp
t.ServeJSON()
return
}
globals.SugarLogger.Debugf("storeMap %s", utils.Format4Output(storeMap, false))
// 判断订单来源(门店所属菜市,果园,其他方)
//for k, _ := range storeMap {
// vendorStoreId := utils.Int64ToStr(k)
// storeDetail, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreId, model.VendorIDDD, "")
// if err != nil {
// globals.SugarLogger.Errorf("门店信息获取失败: %s", err)
// continue
// }
// if storeDetail != nil {
// continue
// } else {
// // 进入这里面就可能是果园或者其他三放的订单了,将当前信息推送过去
// }
//}
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()
}