From 8ea91ef1a028d2052f72733ee6e8e2b5139551aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 8 Nov 2022 16:21:35 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/sync_store_sku.go | 3 + .../purchase/tiktok_store/store_sku2.go | 92 +++++++++++-------- 2 files changed, 55 insertions(+), 40 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index a00194706..e092d8098 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -937,6 +937,9 @@ func PruneMissingStoreSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, ven } func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, isAsync, isContinueWhenError bool, opType int, isForceUpdate bool) (hint string, err error) { + if vendorID == model.VendorIDDD { + return "", nil + } handler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) if handler == nil { return "", fmt.Errorf("平台:%s不支持此操作", model.VendorChineseNames[vendorID]) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index 29ba7937c..5d2d351df 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" + product_listV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request" sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request" sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" @@ -346,47 +347,58 @@ func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrg func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) { // 查询单个门店商品 - tiktokApi := getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID) - - for _, v := range storeSkuList { - skuInfo, err := tiktokApi.GetSkuDetail(v.VendorSkuID, utils.Int2Str(v.SkuID)) - if err != nil { - return nil, err - } - if skuName := vendorSku2Jx(skuInfo); skuName != nil { - skuNameList = append(skuNameList, skuName) - } + appOrgCode := "" + if len(storeSkuList) == 0 { + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "") + appOrgCode = storeDetail.VendorOrgCode + } else { + appOrgCode = storeSkuList[0].VendorOrgCode } - //switch len(storeSkuList) { - //case 1: - // - //default: - // // 列表查询门店商品 - // //var storeSkuMap map[string]*partner.StoreSkuInfo - // //if storeSkuList != nil { - // // storeSkuMap = putils.StoreSkuList2MapByVendorSkuID(storeSkuList) - // //} - // //for { - // // result, err := mtapi.RetailList(vendorStoreID, len(skuNameList), mtwmapi.GeneralMaxLimit) - // // if err != nil { - // // return nil, err - // // } - // // if storeSkuMap == nil { - // // skuNameList = append(skuNameList, vendorSkuList2Jx(result)...) - // // } else { - // // for _, v := range result { - // // if storeSkuMap[v.AppFoodCode] != nil { - // // if skuName := vendorSku2Jx(v); skuName != nil { - // // skuNameList = append(skuNameList, skuName) - // // } - // // } - // // } - // // } - // // if len(result) < mtwmapi.GeneralMaxLimit { - // // break - // // } - // //} - //} + tiktokApi := getAPI(appOrgCode, storeID, vendorStoreID) + + if len(storeSkuList) != 0 { + for _, v := range storeSkuList { + skuInfo, err := tiktokApi.GetSkuDetail(v.VendorSkuID, utils.Int2Str(v.SkuID)) + if err != nil { + return nil, err + } + if skuName := vendorSku2Jx(skuInfo); skuName != nil { + skuNameList = append(skuNameList, skuName) + } + } + } else { + var page int64 = 1 + var pageSize int64 = 100 + for { + skuInfo, err := tiktokApi.GetSkuDetailList(&product_listV2_request.ProductListV2Param{ + Status: 0, + CheckStatus: 3, + ProductType: 0, + Page: page, + Size: pageSize, + StoreId: utils.Str2Int64(vendorStoreID), + }) + if err != nil { + return nil, err + } + for _, v := range skuInfo.Data { + skuInfo, err := tiktokApi.GetSkuDetail(utils.Int64ToStr(v.ProductId), "") + if err != nil { + return nil, err + } + if skuName := vendorSku2Jx(skuInfo); skuName != nil { + skuNameList = append(skuNameList, skuName) + } + } + if page*pageSize > skuInfo.Total { + page++ + } else { + break + } + } + + } + return skuNameList, err }