1
This commit is contained in:
@@ -703,6 +703,9 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
||||
if v.VendorID == model.VendorIDJDShop {
|
||||
skuName.JdsCategoryID = v.VendorCategoryID
|
||||
}
|
||||
if v.VendorID == model.VendorIDDD {
|
||||
skuName.DdCategoryID = v.VendorCategoryID
|
||||
}
|
||||
}
|
||||
}
|
||||
var (
|
||||
@@ -1143,6 +1146,10 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n
|
||||
updateOrCreate(model.VendorIDMTWM, nameID, skuNameExt.MtwmCategoryID)
|
||||
flag = true
|
||||
}
|
||||
if skuNameExt.DdCategoryID != "" {
|
||||
updateOrCreate(model.VendorIDDD, nameID, skuNameExt.DdCategoryID)
|
||||
flag = true
|
||||
}
|
||||
} else {
|
||||
if payload["jdCategoryID"] != nil {
|
||||
updateOrCreate(model.VendorIDJD, nameID, payload["jdCategoryID"].(string))
|
||||
@@ -1160,6 +1167,10 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n
|
||||
updateOrCreate(model.VendorIDMTWM, nameID, payload["mtwmCategoryID"].(string))
|
||||
flag = true
|
||||
}
|
||||
if payload["ddCategoryID"] != nil {
|
||||
updateOrCreate(model.VendorIDDD, nameID, payload["ddCategoryID"].(string))
|
||||
flag = true
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag
|
||||
|
||||
@@ -4428,14 +4428,13 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
||||
return
|
||||
}
|
||||
//token是三天,两天刷新一次token
|
||||
storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDDD}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", globals.Mtwm2Code)
|
||||
for _, v := range storeMaps {
|
||||
if v.MtwmRefreshToken != "" {
|
||||
api.TiktokStore.SetRefreshToken(v.MtwmRefreshToken)
|
||||
codes, _ := dao.GetVendorOrgCode(db, model.VendorIDDD, "", "platform")
|
||||
for _, v := range codes {
|
||||
if v.Token != "" {
|
||||
if result, err := api.TiktokStore.RefreshToken(); err == nil {
|
||||
v.MtwmToken = result.AccessToken
|
||||
v.MtwmRefreshToken = result.RefreshToken
|
||||
dao.UpdateEntity(db, v, "MtwmToken", "MtwmRefreshToken")
|
||||
token, _ := json.Marshal(result)
|
||||
v.Token = string(token)
|
||||
dao.UpdateEntity(db, v, "token")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -490,35 +490,39 @@ func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, v
|
||||
func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, db *dao.DaoDB, vendorIDs []int, storeIDs []int, syncDisabled bool, skuIDs, excludeSkuIDs []int, setSyncStatus int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2")
|
||||
isManageIt := len(storeIDs) != 1 || len(skuIDs) == 0 || len(skuIDs) > 8
|
||||
task, hint, err := v.LoopStoresMap2(ctx, parentTask, db, fmt.Sprintf("同步门店商品信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, false,
|
||||
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
||||
if handler := v.GetStoreHandler(loopMapInfo.VendorID); handler != nil {
|
||||
parallelCount := 5
|
||||
if model.MultiStoresVendorMap[loopMapInfo.VendorID] == 1 {
|
||||
parallelCount = 2
|
||||
}
|
||||
loopStoreTask := tasksch.NewParallelTask(fmt.Sprintf("处理平台%s", model.VendorChineseNames[loopMapInfo.VendorID]),
|
||||
tasksch.NewParallelConfig().SetParallelCount(parallelCount).SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeMap := batchItemList[0].(*model.StoreMap)
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============1")
|
||||
if syncDisabled || storeMap.Status > model.StoreStatusDisabled {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============2")
|
||||
if setSyncStatus != 0 {
|
||||
dao.SetStoreSkuSyncStatus(db, storeMap.VendorID, []int{storeMap.StoreID}, skuIDs, setSyncStatus)
|
||||
}
|
||||
if _, err = SyncStoreSkuNew(ctx, task, causeFlag, storeMap.VendorID, storeMap.StoreID, storeMap.VendorStoreID, storeMap.VendorOrgCode, nil, skuIDs, excludeSkuIDs, false, isContinueWhenError); err != nil {
|
||||
globals.SugarLogger.Debugf("SyncStoresSkus2 failed2 store:%d failed with error:%v", storeMap.StoreID, err)
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}, loopMapInfo.StoreMapList)
|
||||
t.AddChild(loopStoreTask).Run()
|
||||
_, err = loopStoreTask.GetResult(0)
|
||||
|
||||
funcParam := func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============0")
|
||||
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
||||
if handler := v.GetStoreHandler(loopMapInfo.VendorID); handler != nil {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============1")
|
||||
parallelCount := 5
|
||||
if model.MultiStoresVendorMap[loopMapInfo.VendorID] == 1 {
|
||||
parallelCount = 2
|
||||
}
|
||||
return nil, partner.AddVendorInfo2Err(err, loopMapInfo.VendorID)
|
||||
}, isContinueWhenError)
|
||||
loopStoreTask := tasksch.NewParallelTask(fmt.Sprintf("处理平台%s", model.VendorChineseNames[loopMapInfo.VendorID]),
|
||||
tasksch.NewParallelConfig().SetParallelCount(parallelCount).SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeMap := batchItemList[0].(*model.StoreMap)
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============2")
|
||||
if syncDisabled || storeMap.Status > model.StoreStatusDisabled {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============3")
|
||||
if setSyncStatus != 0 {
|
||||
dao.SetStoreSkuSyncStatus(db, storeMap.VendorID, []int{storeMap.StoreID}, skuIDs, setSyncStatus)
|
||||
}
|
||||
if _, err = SyncStoreSkuNew(ctx, task, causeFlag, storeMap.VendorID, storeMap.StoreID, storeMap.VendorStoreID, storeMap.VendorOrgCode, nil, skuIDs, excludeSkuIDs, false, isContinueWhenError); err != nil {
|
||||
globals.SugarLogger.Debugf("SyncStoresSkus2 failed2 store:%d failed with error:%v", storeMap.StoreID, err)
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}, loopMapInfo.StoreMapList)
|
||||
t.AddChild(loopStoreTask).Run()
|
||||
_, err = loopStoreTask.GetResult(0)
|
||||
}
|
||||
return nil, partner.AddVendorInfo2Err(err, loopMapInfo.VendorID)
|
||||
}
|
||||
|
||||
task, hint, err := v.LoopStoresMap2(ctx, parentTask, db, fmt.Sprintf("同步门店商品信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, false, funcParam, isContinueWhenError)
|
||||
if task != nil {
|
||||
err = makeSyncError(err)
|
||||
}
|
||||
@@ -691,6 +695,7 @@ func (v *VendorSync) LoopStoresMap2(ctx *jxcontext.Context, parentTask tasksch.I
|
||||
if storeMapList, err = dao.GetStoresMapList2(db, vendorIDs, storeIDs, nil, model.StoreStatusAll, model.StoreIsSyncYes, "", "", "", mustDirty); err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
globals.SugarLogger.Debug("===============len(storeMapList)", len(storeMapList))
|
||||
if len(storeMapList) == 0 {
|
||||
return nil, "", nil
|
||||
}
|
||||
@@ -707,9 +712,13 @@ func (v *VendorSync) LoopStoresMap2(ctx *jxcontext.Context, parentTask tasksch.I
|
||||
}
|
||||
index++
|
||||
}
|
||||
globals.SugarLogger.Debug("===============len(storeMapList)1111111111", vendorStoreMap)
|
||||
|
||||
if len(loopInfoList) == 1 {
|
||||
globals.SugarLogger.Debug("===============len(storeMapList)22222")
|
||||
taskName = fmt.Sprintf("%s,处理平台%s", taskName, model.VendorChineseNames[loopInfoList[0].VendorID])
|
||||
}
|
||||
globals.SugarLogger.Debug("===============len(storeMapList)3333")
|
||||
|
||||
task = tasksch.NewParallelTask(taskName, tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, handler, loopInfoList)
|
||||
if isAsync {
|
||||
|
||||
@@ -147,6 +147,8 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
|
||||
if err == nil {
|
||||
if vendorID == model.VendorIDMTWM {
|
||||
refutil.SetObjFieldByName(storeCatMap, idFieldName, catInfo.VendorCatID)
|
||||
} else if vendorID == model.VendorIDDD {
|
||||
refutil.SetObjFieldByName(storeCatMap, idFieldName, catInfo.VendorCatID)
|
||||
} else {
|
||||
refutil.SetObjFieldByName(storeCatMap, idFieldName, utils.Str2Int64WithDefault(catInfo.VendorCatID, 0))
|
||||
}
|
||||
@@ -436,8 +438,11 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
var skus []*dao.StoreSkuSyncInfo
|
||||
if isFull {
|
||||
skus, err = dao.GetFullStoreSkus(db, vendorID, storeID)
|
||||
globals.SugarLogger.Debugf("================isFull%s", utils.Format4Output(skus, true))
|
||||
|
||||
} else {
|
||||
skus, err = dao.GetStoreSkus(db, vendorID, storeID, skuIDs)
|
||||
globals.SugarLogger.Debugf("================isFull2%s", utils.Format4Output(skus, true))
|
||||
}
|
||||
if err != nil || len(skus) == 0 {
|
||||
return err
|
||||
@@ -475,6 +480,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
now := jxutils.OperationTime2HourMinuteFormat(time.Now())
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
for _, sku := range skus {
|
||||
globals.SugarLogger.Debugf("================isFull2%s", utils.Format4Output(sku, true))
|
||||
if !useVendorPriceDirectly &&
|
||||
!isSkuLockTimeValid(sku) {
|
||||
sku.VendorPrice = 0
|
||||
@@ -489,6 +495,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
var bareSku *partner.StoreSkuInfo
|
||||
isNeedReorder := false
|
||||
if isStoreSkuSyncNeedDelete(sku) {
|
||||
globals.SugarLogger.Debug("11111111111111111111111")
|
||||
if !dao.IsVendorThingIDEmpty(sku.VendorSkuID) {
|
||||
bareSku = storeSkuSyncInfo2Bare(sku)
|
||||
if singleStoreHandler == nil {
|
||||
@@ -501,8 +508,10 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
updateItems = append(updateItems, sku2Update(vendorID, sku, model.SyncFlagDeletedMask))
|
||||
}
|
||||
} else if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
||||
globals.SugarLogger.Debug("222222222222222")
|
||||
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
||||
if singleStoreHandler == nil {
|
||||
globals.SugarLogger.Debug("11111111111111111111111")
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorSkuID) {
|
||||
// todo 多平台商品库没有正常创建,直接跳过
|
||||
} else {
|
||||
@@ -517,11 +526,14 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
}
|
||||
} else {
|
||||
globals.SugarLogger.Debug("2222222222222223333333333333333")
|
||||
if sku.MergedStatus == model.SkuStatusNormal {
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDJDShop {
|
||||
// globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有平台分类ID", storeID, sku.SkuID)
|
||||
if vendorID == model.VendorIDDD {
|
||||
createList = append(createList, sku)
|
||||
} else if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDJDShop {
|
||||
globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有平台分类ID", storeID, sku.SkuID)
|
||||
} else if dao.IsVendorThingIDEmpty(utils.Int64ToStr(sku.VendorVendorCatID)) && vendorID == model.VendorIDJDShop {
|
||||
// globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有映射的平台ID", storeID, sku.SkuID)
|
||||
globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有映射的平台ID", storeID, sku.SkuID)
|
||||
} else {
|
||||
createList = append(createList, sku)
|
||||
}
|
||||
@@ -529,7 +541,10 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
isNeedReorder = true
|
||||
} else {
|
||||
globals.SugarLogger.Debug("33333333333333333333333")
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorSkuID) && vendorID != model.VendorIDJDShop {
|
||||
globals.SugarLogger.Debug("3333333333333333333333344444444444444")
|
||||
|
||||
// err = fmt.Errorf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID)
|
||||
if vendorID != model.VendorIDJDShop || (vendorID == model.VendorIDJDShop && storeID == model.JdShopMainStoreID && sku.StoreSkuStatus != model.SkuStatusDontSale) {
|
||||
err = utils.NewErrorCode(fmt.Sprintf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID), "-1", 0)
|
||||
@@ -541,6 +556,8 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
parentTask.AddFailedList(failedList)
|
||||
}
|
||||
} else {
|
||||
globals.SugarLogger.Debug("3333333333333333333333355555555555")
|
||||
|
||||
isAdded2Update := false
|
||||
// 修改商品信息时不改价(以免活动引起的失败),而用单独的改价来改
|
||||
if (model.IsSyncStatusUpdate(sku.SkuSyncStatus) || (model.IsSyncStatusSeq(sku.SkuSyncStatus) && reorderHandler == nil)) && singleStoreHandler != nil {
|
||||
@@ -556,6 +573,8 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
priceList = append(priceList, bareSku)
|
||||
}
|
||||
if !isAdded2Update {
|
||||
globals.SugarLogger.Debug("333333333333333333333335555555555566666666666666666")
|
||||
|
||||
if model.IsSyncStatusUpdate(sku.SkuSyncStatus) && singleStoreHandler == nil { // 正常就不应该进到这里
|
||||
// if bareSku == nil {
|
||||
// bareSku = storeSkuSyncInfo2Bare(sku)
|
||||
@@ -660,6 +679,13 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
// api.JdShop2API.SetCookieWithStr(configs[0].Value)
|
||||
// }
|
||||
}
|
||||
globals.SugarLogger.Debugf("================createList%s", utils.Format4Output(createList, true))
|
||||
globals.SugarLogger.Debugf("================deleteList%s", utils.Format4Output(deleteList, true))
|
||||
globals.SugarLogger.Debugf("================updateList%s", utils.Format4Output(updateList, true))
|
||||
globals.SugarLogger.Debugf("================stockList%s", utils.Format4Output(stockList, true))
|
||||
globals.SugarLogger.Debugf("================onlineList%s", utils.Format4Output(onlineList, true))
|
||||
globals.SugarLogger.Debugf("================offlineList%s", utils.Format4Output(offlineList, true))
|
||||
globals.SugarLogger.Debugf("================priceList%s", utils.Format4Output(priceList, true))
|
||||
|
||||
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
@@ -668,6 +694,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
switch step {
|
||||
case 0:
|
||||
if len(deleteList) > 0 {
|
||||
globals.SugarLogger.Debugf("================deleteList%s", utils.Format4Output(deleteList, true))
|
||||
_, err = putils.FreeBatchStoreSkuInfo("删除门店商品", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
if failedList, err = singleStoreHandler.DeleteStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); err != nil {
|
||||
@@ -693,7 +720,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
case 1:
|
||||
if len(createList) > 0 {
|
||||
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||
globals.SugarLogger.Debug("========================sth err at createlist run ====================")
|
||||
globals.SugarLogger.Debugf("================createList%s", utils.Format4Output(createList, true))
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
|
||||
if skuNameList, err2 := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, []*partner.StoreSkuInfo{
|
||||
@@ -739,6 +766,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
case 2:
|
||||
if len(updateList) > 0 {
|
||||
globals.SugarLogger.Debugf("================updateList%s", utils.Format4Output(updateList, true))
|
||||
_, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
failedList, err = singleStoreHandler.UpdateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
||||
@@ -756,9 +784,11 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
case 3:
|
||||
// for k, list := range [][]*partner.StoreSkuInfo{stockList /*, onlineList*/} {
|
||||
if len(stockList) > 0 {
|
||||
globals.SugarLogger.Debugf("================更新门店商品库存%s", utils.Format4Output(stockList, true))
|
||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||
var failedList []*partner.StoreSkuInfoWithErr
|
||||
failedList, err = storeSkuHandler.UpdateStoreSkusStock(ctx, storeDetail.VendorOrgCode, storeID, vendorStoreID, batchedStoreSkuList)
|
||||
globals.SugarLogger.Debugf("failedList===========%s", utils.Format4Output(failedList, true))
|
||||
failedList, err = buildFailedListAndErr(failedList, err, batchedStoreSkuList, nil, storeID, vendorID, "更新门店商品库存")
|
||||
if len(failedList) > 0 {
|
||||
task.AddFailedList(failedList)
|
||||
@@ -797,6 +827,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
case 6:
|
||||
if len(priceList) > 0 {
|
||||
globals.SugarLogger.Debugf("================更新门店商品价格%s", utils.Format4Output(priceList, true))
|
||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||
if isNeedHandleAct(causeFlag) {
|
||||
cancelStoreSkuActs(ctx, task, vendorID, storeDetail.VendorOrgCode, storeID, vendorStoreID, batchedStoreSkuList, true)
|
||||
@@ -823,6 +854,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
for vendorCatID := range reorderSkuMap {
|
||||
vendorCatIDs = append(vendorCatIDs, vendorCatID)
|
||||
}
|
||||
globals.SugarLogger.Debugf("================门店商品排序%s", utils.Format4Output(reorderSkuMap, true))
|
||||
reorderTask := tasksch.NewParallelTask("门店商品排序", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
vendorCatID := batchItemList[0].(string)
|
||||
|
||||
@@ -3,6 +3,7 @@ package dao
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
func GetDataResource(db *DaoDB, hashCode, fullURL string) (dataRes *model.DataResource, err error) {
|
||||
@@ -53,6 +54,7 @@ func GetVendorOrgCode(db *DaoDB, vendorID int, vendorOrgCode, vendorType string)
|
||||
}
|
||||
sql += " ORDER BY comment"
|
||||
err = GetRows(db, &vendorOrgs, sql, sqlParams)
|
||||
globals.SugarLogger.Debug("===========sql= ", sql)
|
||||
return vendorOrgs, err
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ type StoreDetail struct {
|
||||
DistrictName string `json:"districtName"`
|
||||
CityName string `json:"cityName"`
|
||||
ProvinceName string `json:"provinceName"` //省名
|
||||
ProvinceCode int `json:"provinceCode"` //省名
|
||||
JdCityCode int `json:"jdCityCode"` //京东市code
|
||||
JdCode int `json:"jdCode"` //京东区code
|
||||
JdsCode int `json:"jdsCode"` //京东商城地址代码
|
||||
@@ -115,6 +116,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo
|
||||
t3.value price_percentage_pack_str,
|
||||
t4.value freight_deduction_pack_str,
|
||||
province.name province_name,
|
||||
province.code province_code,
|
||||
district.name district_name,
|
||||
district.jds_code jds_code,
|
||||
district.jd_code jd_code,
|
||||
|
||||
@@ -130,6 +130,7 @@ type SkuCategory struct {
|
||||
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
|
||||
EbaiCategoryID int64 `orm:"column(ebai_category_id)" json:"ebaiCategoryID"` // 这个是指对应的饿百商品类别
|
||||
MtwmCategoryID int64 `orm:"column(mtwm_category_id)" json:"mtwmCategoryID"` // 这个是指对应的美团外卖商品类别
|
||||
DdCategoryID int64 `orm:"column(dd_category_id)" json:"ddCategoryID"` // 这个是指对应的抖音外卖商品类别
|
||||
YbCategoryID int64 `orm:"column(yb_category_id)" json:"ybCategoryID"` // 这个是指对应的银豹商品类别
|
||||
JdsCategoryID int64 `orm:"column(jds_category_id)" json:"jdsCategoryID"` // 这个是指对应的京东商城类别
|
||||
GoMeiCategoryID int64 `orm:"column(go_mei_category_id)" json:"goMeiCategoryID"` // 这个是指对应的国美商城类别
|
||||
@@ -302,6 +303,7 @@ type SkuNameExt struct {
|
||||
JdsCategoryID string `json:"jdsCategoryID"`
|
||||
EbaiCategoryID string `json:"ebaiCategoryID"`
|
||||
MtwmCategoryID string `json:"mtwmCategoryID"`
|
||||
DdCategoryID string `json:"ddCategoryID"`
|
||||
}
|
||||
|
||||
type SkuExinfoMap struct {
|
||||
|
||||
@@ -303,9 +303,9 @@ func (P *PurchaseHandler) CreateFreightTemplateDirectly(templateInfo freightTemp
|
||||
StoreId: vendorStoreID,
|
||||
FreightId: resp.TemplateId,
|
||||
}
|
||||
err1 := api.BindFreightTemplate(bindInfo)
|
||||
err = api.BindFreightTemplate(bindInfo)
|
||||
if err != nil {
|
||||
return err1
|
||||
return err
|
||||
}
|
||||
//并写入数据库
|
||||
freightInfo := model.FreightTemplate{
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package tiktok_store
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
|
||||
product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request"
|
||||
product_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/response"
|
||||
product_editV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request"
|
||||
shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request"
|
||||
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
|
||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
@@ -20,6 +19,8 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"math/rand"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -245,6 +246,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
||||
// p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, duplicateStoreSkuList(storeSkuList, i+1), true)
|
||||
// }
|
||||
//}
|
||||
globals.SugarLogger.Debugf("============CreateStoreSkus===============%s", utils.Format4Output(failedList, false))
|
||||
globals.SugarLogger.Debugf("============CreateStoreSkus===============%s", err)
|
||||
return failedList, err
|
||||
}
|
||||
|
||||
@@ -253,17 +256,44 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
||||
func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo, isCreate bool) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||
var syncType string
|
||||
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
|
||||
api := getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID)
|
||||
freightId, err := api.GetStoreFreight(int64(storeID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
|
||||
globals.SugarLogger.Debug("=============", storeDetail.VendorOrgCode)
|
||||
globals.SugarLogger.Debugf("api===============%v", utils.Format4Output(api, false))
|
||||
freightId, _ := api.GetStoreBindTemp(utils.Str2Int64(vendorStoreID))
|
||||
if freightId == 0 {
|
||||
// 创建门店运费模板
|
||||
temp, err := api.FreightTemplateCreate(&freightTemplate_create_request.FreightTemplateCreateParam{
|
||||
Template: &freightTemplate_create_request.Template{
|
||||
TemplateName: storeDetail.Name + "_" + utils.Int64ToStr(rand.Int63n(int64(storeID))) + "_系统模板",
|
||||
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[0:2]),
|
||||
ProductCity: int64(storeDetail.CityCode),
|
||||
CalculateType: 2,
|
||||
TransferType: 1, // 快递
|
||||
RuleType: 1,
|
||||
FixedAmount: 500,
|
||||
},
|
||||
Columns: nil,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 绑定门店运费模板
|
||||
err = api.BindFreightTemplate(&shop_bindStoreFreight_request.ShopBindStoreFreightParam{
|
||||
StoreId: utils.Str2Int64(vendorStoreID),
|
||||
FreightId: temp.TemplateId,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
freightId = temp.TemplateId
|
||||
}
|
||||
|
||||
if isCreate {
|
||||
syncType = "创建商品"
|
||||
for _, storeSku := range storeSkuList {
|
||||
// 创建商品
|
||||
param := &product_addV2_request.ProductAddV2Param{
|
||||
CategoryLeafId: utils.Str2Int64(storeSku.VendorCatID),
|
||||
CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID),
|
||||
Name: storeSku.Name,
|
||||
PayType: tiktokShop.TiktokPayType1,
|
||||
ReduceType: tiktokShop.SkuReduceTypePayMakeOrder,
|
||||
@@ -284,13 +314,13 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
}
|
||||
|
||||
// 获取上传图,商品轮播图
|
||||
img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
|
||||
img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.Pic = img
|
||||
// 商品详情图
|
||||
img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeSku.DescImg)
|
||||
img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -308,6 +338,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
param.SpecPrices = GetSpecPrices(param.Specs, storeSku)
|
||||
// ProductFormatNew
|
||||
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
||||
globals.SugarLogger.Debug("创建=============productFormatNew", productFormatNew)
|
||||
globals.SugarLogger.Debug("创建=============productFormatNew err", err)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -348,13 +380,13 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
}
|
||||
|
||||
// 获取上传图,商品轮播图
|
||||
img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
|
||||
img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.Pic = img
|
||||
// 商品详情图
|
||||
img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeSku.DescImg)
|
||||
img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -372,6 +404,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
param.SpecPrices = GetSpecPrices(param.Specs, storeSku)
|
||||
// ProductFormatNew
|
||||
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
||||
globals.SugarLogger.Debug("更新=============productFormatNew", productFormatNew)
|
||||
globals.SugarLogger.Debug("更新=============productFormatNew err", err)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -468,36 +502,44 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr
|
||||
func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||
api := getAPI(vendorOrgCode, storeID, vendorStoreID)
|
||||
for _, v := range storeSkuList {
|
||||
param := &product_editV2_request.ProductEditV2Param{}
|
||||
param.ProductId = utils.Str2Int64(v.VendorSkuID)
|
||||
param.Specs = "净重|" + fmt.Sprintf("%f", v.SpecQuality) + v.SpecUnit
|
||||
|
||||
skuSize := make([]*tiktokShop.SpecDetailList, 0, 0)
|
||||
detail1 := strings.Split(param.Specs, "^")
|
||||
name1 := strings.Split(strings.Split(detail1[0], "|")[1], ",")
|
||||
for i := 0; i < len(name1); i++ {
|
||||
sku := &tiktokShop.SpecDetailList{
|
||||
SpecDetailName1: name1[i],
|
||||
StockNum: v.Stock,
|
||||
Price: int(v.VendorPrice),
|
||||
Code: utils.Int2Str(v.SkuID),
|
||||
StepStockNum: 0,
|
||||
SupplierID: "",
|
||||
OuterSkuID: utils.Int2Str(v.NameID),
|
||||
DeliveryInfos: []*tiktokShop.DeliveryInfos{
|
||||
{InfoType: "weight", InfoUnit: v.SpecUnit, InfoValue: fmt.Sprintf("%f", v.SpecQuality)},
|
||||
},
|
||||
}
|
||||
skuSize = append(skuSize, sku)
|
||||
//param := &product_editV2_request.ProductEditV2Param{}
|
||||
//param.ProductId = utils.Str2Int64(v.VendorSkuID)
|
||||
//param.Specs = "净重|" + fmt.Sprintf("%f", v.SpecQuality) + v.SpecUnit
|
||||
//
|
||||
//skuSize := make([]*tiktokShop.SpecDetailList, 0, 0)
|
||||
//detail1 := strings.Split(param.Specs, "^")
|
||||
//name1 := strings.Split(strings.Split(detail1[0], "|")[1], ",")
|
||||
//for i := 0; i < len(name1); i++ {
|
||||
// sku := &tiktokShop.SpecDetailList{
|
||||
// SpecDetailName1: name1[i],
|
||||
// StockNum: v.Stock,
|
||||
// Price: int(v.VendorPrice),
|
||||
// Code: utils.Int2Str(v.SkuID),
|
||||
// StepStockNum: 0,
|
||||
// SupplierID: "",
|
||||
// OuterSkuID: utils.Int2Str(v.NameID),
|
||||
// DeliveryInfos: []*tiktokShop.DeliveryInfos{
|
||||
// {InfoType: "weight", InfoUnit: v.SpecUnit, InfoValue: fmt.Sprintf("%f", v.SpecQuality)},
|
||||
// },
|
||||
// }
|
||||
// skuSize = append(skuSize, sku)
|
||||
//}
|
||||
//data, _ := json.Marshal(skuSize)
|
||||
//param.SpecPrices = string(data)
|
||||
param := &sku_editPrice_request.SkuEditPriceParam{
|
||||
Price: v.VendorPrice,
|
||||
Code: "",
|
||||
SkuId: 0,
|
||||
OutSkuId: int64(v.SkuID),
|
||||
ProductId: utils.Str2Int64(v.VendorSkuID),
|
||||
//OutProductId: int64(v.SkuID),
|
||||
}
|
||||
data, _ := json.Marshal(skuSize)
|
||||
param.SpecPrices = string(data)
|
||||
|
||||
err := api.EditStoreCommodity(param)
|
||||
err := api.EditPrice(param)
|
||||
if err != nil {
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "上架商品正常")...)
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "更新价格异常")...)
|
||||
} else {
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "上架商品异常")...)
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "更新价格正常")...)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -33,11 +33,12 @@ func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, er
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
globals.SugarLogger.Debug("========productFormatNew==============", string(productFormatNew))
|
||||
return string(productFormatNew), nil
|
||||
}
|
||||
|
||||
// GetTiktokImgList 获取抖音图片链接
|
||||
func GetTiktokImgList(storeId string, img ...string) (string, error) {
|
||||
func GetTiktokImgList(storeId, appOrgCode string, img ...string) (string, error) {
|
||||
imgs := make([]tiktokShop.Imgs, 0, 0)
|
||||
for _, v := range img {
|
||||
if v != "" {
|
||||
@@ -47,7 +48,7 @@ func GetTiktokImgList(storeId string, img ...string) (string, error) {
|
||||
})
|
||||
}
|
||||
}
|
||||
tiktokImgList, err := api.TiktokStore.BatchUploadImages(imgs)
|
||||
tiktokImgList, err := getAPI(appOrgCode, 0, "").BatchUploadImages(imgs)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package putils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
@@ -250,6 +251,7 @@ func GetErrMsg2FailedSingleList(storeSkuList interface{}, err error, storeID int
|
||||
errMsg = err.Error()
|
||||
}
|
||||
if storeSkuLists, ok := storeSkuList.([]*partner.StoreSkuInfo); ok {
|
||||
globals.SugarLogger.Debugf("=======storeSkuLists== %s", utils.Format4Output(storeSkuLists, false))
|
||||
storeSkuInfoWithErr := &partner.StoreSkuInfoWithErr{
|
||||
StoreSkuInfo: storeSkuLists[0],
|
||||
ErrMsg: errMsg,
|
||||
@@ -258,7 +260,18 @@ func GetErrMsg2FailedSingleList(storeSkuList interface{}, err error, storeID int
|
||||
SyncType: syncType,
|
||||
}
|
||||
failedList = append(failedList, storeSkuInfoWithErr)
|
||||
} else if storeSku, ok := storeSkuList.(*partner.StoreSkuInfo); ok {
|
||||
globals.SugarLogger.Debugf("=======storeSku== %s", utils.Format4Output(storeSkuLists, false))
|
||||
storeSkuInfoWithErr := &partner.StoreSkuInfoWithErr{
|
||||
StoreSkuInfo: storeSku,
|
||||
ErrMsg: errMsg,
|
||||
StoreID: storeID,
|
||||
VendoreName: vendorName,
|
||||
SyncType: syncType,
|
||||
}
|
||||
failedList = append(failedList, storeSkuInfoWithErr)
|
||||
} else if storeSkuLists, ok := storeSkuList.([]*dao.StoreSkuSyncInfo); ok {
|
||||
globals.SugarLogger.Debugf("=======storeSkuLists StoreSkuSyncInfo== %s", utils.Format4Output(storeSkuLists, false))
|
||||
storeSkuInfo := &partner.StoreSkuInfo{
|
||||
SkuID: storeSkuLists[0].SkuID,
|
||||
VendorSkuID: storeSkuLists[0].VendorSkuID,
|
||||
@@ -276,6 +289,7 @@ func GetErrMsg2FailedSingleList(storeSkuList interface{}, err error, storeID int
|
||||
}
|
||||
failedList = append(failedList, storeSkuInfoWithErr)
|
||||
} else if storeSku, ok := storeSkuList.(*dao.StoreSkuSyncInfo); ok {
|
||||
globals.SugarLogger.Debugf("=======storeSku== %s", utils.Format4Output(storeSkuLists, false))
|
||||
storeSkuInfo := &partner.StoreSkuInfo{
|
||||
SkuID: storeSku.SkuID,
|
||||
VendorSkuID: storeSku.VendorSkuID,
|
||||
@@ -293,6 +307,7 @@ func GetErrMsg2FailedSingleList(storeSkuList interface{}, err error, storeID int
|
||||
}
|
||||
failedList = append(failedList, storeSkuInfoWithErr)
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("=======else== %s", utils.Format4Output(storeSkuLists, false))
|
||||
storeSkuInfoWithErr := &partner.StoreSkuInfoWithErr{
|
||||
ErrMsg: errMsg,
|
||||
StoreID: storeID,
|
||||
|
||||
@@ -2,6 +2,8 @@ package apimanager
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
@@ -9,6 +11,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
beego "github.com/astaxie/beego/server/web"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -65,11 +68,9 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{})
|
||||
case model.VendorIDTT:
|
||||
pfAPI = api.TiktokApi
|
||||
case model.VendorIDDD:
|
||||
tiktokApi := api.TiktokStore
|
||||
codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform")
|
||||
code := codes[0]
|
||||
tiktokApi.SetAccessToken(code.Token)
|
||||
pfAPI = tiktokApi
|
||||
pfAPI = tiktok_api.New(beego.AppConfig.DefaultString("tiktokShopAppId", ""), beego.AppConfig.DefaultString("tiktokShopAppSecret", ""), codes[0].Token)
|
||||
globals.SugarLogger.Debugf("pfAPI ================%v", utils.Format4Output(pfAPI, true))
|
||||
}
|
||||
return pfAPI
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user