From 076d66c227a36197fd8e237f2b2414850ae29b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 9 Jan 2023 10:25:40 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/sync_store_sku.go | 1 + .../purchase/tiktok_store/store_sku2_utils.go | 64 +++++++++++-------- 2 files changed, 38 insertions(+), 27 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index d3b9dba64..f425cc94e 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -435,6 +435,7 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn } } } + globals.SugarLogger.Debugf("=========updateItemList===num-- %d,%s", num, err.Error()) return num, err } diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index b42ca5a80..5902aa758 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -16,7 +16,6 @@ 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" @@ -259,15 +258,16 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } 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 - } + continue + //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 + //} } // 同步价格,库存,上架 @@ -323,18 +323,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI continue } } - // 获取商品的属性 - if storeSku.TiktokAttribute == "" || storeSku.TiktokAttribute == "{}" { - param.ProductFormatNew, err = MakeProductFormatNew(api, int64(storeSku.NameID), param.CategoryLeafId) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - continue - } - } else { - param.ProductFormatNew = storeSku.TiktokAttribute - } - // 获取品牌 - param.StandardBrandId = 789194134 // 默认品牌京西菜市 + + // 获取主商品id var mainIdInt int64 if storeSku.VendorMainId == "" { localThing, _ := dao.GetThingToTiktokMapList(db, model.VendorIDDD, int64(storeSku.SkuID), storeDetail.VendorOrgCode) @@ -349,20 +339,40 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI mainIdInt = utils.Str2Int64(storeSku.VendorMainId) } + // 更新商品,主品如果名字和类目没变化,则更新子品价格! + mainProductDetail, err := api.GetSkuDetail(utils.Int64ToStr(mainIdInt), "") + if err != nil || mainProductDetail == nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } + if mainProductDetail.Name == param.Name && (mainProductDetail.CategoryDetail.ThirdCid == param.CategoryLeafId || mainProductDetail.CategoryDetail.FourthCid == param.CategoryLeafId) { + upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) + continue + } + + // 获取商品的属性 + if storeSku.TiktokAttribute == "" || storeSku.TiktokAttribute == "{}" { + param.ProductFormatNew, err = MakeProductFormatNew(api, int64(storeSku.NameID), param.CategoryLeafId) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } + } else { + param.ProductFormatNew = storeSku.TiktokAttribute + } + // 获取品牌 + param.StandardBrandId = 789194134 // 默认品牌京西菜市 + // 修改商品 param.ProductId = mainIdInt param.MainProductId = mainIdInt - //param.StoreId = utils.Str2Int64(vendorStoreID) param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, param.MainProductId, storeSku) if err := api.EditStoreCommodity(param); err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) continue } - // todo 更主品的同间考虑更新子品,子品的更新只能重新分配子品,在更新价格 - //if storeSku.VendorSkuID != "" && len(storeSku.VendorSkuID) > 19 { - // failedList = upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) - //} + storeSku.SkuSyncStatus = 57 // 品库修改 售卖状态待同步 价格待同步 } return