From 3788f78aa93c3ef3e6c65f75c2fe82a59cfe342b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 6 Jan 2023 18:22:05 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/sync_store_sku.go | 4 ++++ .../purchase/tiktok_store/store_sku2_utils.go | 18 +++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index ca9ad87c6..1f33e1a49 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -370,6 +370,9 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item sku.SkuSyncStatus = sku.SkuSyncStatus & model.SyncFlagNewMask } else { sku.SkuSyncStatus = sku.SkuSyncStatus & model.SyncFlagPriceMask + if sku.VendorID == model.VendorIDDD && sku.SkuSyncStatus == 57 { + sku.SkuSyncStatus = 57 + } } } else if syncStatus&model.SyncFlagStockMask != 0 { if isStoreSkuSyncNeedDelete(sku) { @@ -393,6 +396,7 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item if sku.VendorSonSkuID != "" { kvs["VendorSonSkuID"] = sku.VendorSonSkuID } + // 抖音在同步时,无法区分修改的是主商品还是子商品,所以先同步主商品,在定时任务同步子商品 storeSku := &model.StoreSkuBind{} storeSku.ID = sku.BindID diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 1569a28e7..5d423a099 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -16,6 +16,7 @@ import ( shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/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" + superm_product_batchRedistributeStoreProduct_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_product_batchRedistributeStoreProduct/request" trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/utils" @@ -257,13 +258,16 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } } - if (err != nil || childrenProductId == 0) && !strings.Contains(err.Error(), "2010001") { // 2010001:重复创建渠道商品 - failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask - storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二) - storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id - storeSku.VendorMainId = localThing[0].VendorThingID // 商品主id - continue + if (err != nil || childrenProductId == 0) && !strings.Contains(err.Error(), "2010001") { // 2010001:重复创建渠道商品,就去更新 + param := &superm_product_batchRedistributeStoreProduct_request.TaskParams{ + MainProductId: utils.Str2Int64(localThing[0].VendorThingID), + AddStoreIds: []int64{utils.Str2Int64(vendorStoreID)}, + DelStoreIds: []int64{utils.Str2Int64(vendorStoreID)}, + } + if _, err := api.BatchRedistributeStoreProduct(param); err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } } // 同步价格,库存,上架