From 23264ca89b915cf203cf61af93aee1f7a572b503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 10 Oct 2022 14:36:14 +0800 Subject: [PATCH] 1 --- .../purchase/tiktok_store/store_sku2.go | 187 +++++++++--------- .../purchase/tiktok_store/store_sku2_utils.go | 2 +- 2 files changed, 94 insertions(+), 95 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2.go b/business/partner/purchase/tiktok_store/store_sku2.go index baa1b2845..1054e66c4 100644 --- a/business/partner/purchase/tiktok_store/store_sku2.go +++ b/business/partner/purchase/tiktok_store/store_sku2.go @@ -377,104 +377,103 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI tiktokResultChildren, err := api.CreateStoreCommodity(param) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) continue } - globals.SugarLogger.Debugf("tiktokResultChildren=============%s", utils.Format4Output(tiktokResultChildren, false)) - storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) + storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId) } } else { - //syncType = "更新商品" - //for _, storeSku := range storeSkuList { - // // 创建子商品 - // param := &product_addV2_request.ProductAddV2Param{ - // CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID), - // Name: storeSku.Name, - // PayType: tiktokShop.TiktokPayType1, - // ReduceType: tiktokShop.SkuReduceTypePayMakeOrder, - // Weight: utils.Int2Float64(storeSku.Weight), - // DeliveryDelayDay: tiktokShop.DeliveryDelayDayToDay, - // PresellType: tiktokShop.SendGoodsTypeNow, - // Supply7dayReturn: 0, - // Mobile: storeDetail.Tel1, - // Commit: true, - // Specs: "净重|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit, - // NeedRechargeMode: false, - // SellChannel: []int64{0}, - // StartSaleType: 0, - // PickupMethod: "0", - // } - // // param.AccountTemplateId = "" - // // 获取上传图,商品轮播图 - // 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), storeDetail.VendorOrgCode, storeSku.DescImg) - // if err != nil { - // return nil, err - // } - // param.Description = img2 - // - // // weight_unit 目前抖音只支持g和kg两种 - // switch storeSku.Unit { - // case "g", "ml", "G", "ML": - // param.WeightUnit = tiktokShop.WeightUint_G - // case "kg", "l", "L", "KG": - // param.WeightUnit = tiktokShop.WeightUint_G - // } - // - // // spec_prices - // param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, 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 - // } - // param.ProductFormatNew = productFormatNew - // globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false)) - // - // // 获取品牌 - // brandID, err := api.GetSkuBrand(param.CategoryLeafId) - // if err != nil { - // return nil, err - // } - // param.StandardBrandId = brandID - // - // tiktokResult, err := api.EditStoreCommodity(param) // 创建主商品 - // if err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) - // continue - // } - // globals.SugarLogger.Debugf("tiktokResult main ===%s", utils.Format4Output(tiktokResult, false)) - // - // // 创建子商品 - // param.FreightId = freightId - // param.MainProductId = tiktokResult.ProductId - // param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResult.ProductId, storeSku) - // // 获取门店限售模板 - // saleLimitId, err := CreateSaleTemp(utils.Str2Int64(vendorStoreID), api) - // globals.SugarLogger.Debug("==22213123131231231", saleLimitId) - // if err != nil { - // return nil, err - // } - // param.SaleLimitId = saleLimitId - // param.StoreId = utils.Str2Int64(vendorStoreID) - // // 抖店创建商品 - // globals.SugarLogger.Debugf("zishangping=============%s", utils.Format4Output(param, false)) - // tiktokResultChildren, err := api.EditStoreCommodity(param) - // if err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) - // continue - // } - // storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId) - //} - //return + syncType = "更新商品" + for _, storeSku := range storeSkuList { + // 更新商品(目前只更新子商品,主商品暂不支持) + param := &product_editV2_request.ProductEditV2Param{ + CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID), + Name: storeSku.Name, + PayType: tiktokShop.TiktokPayType1, + ReduceType: tiktokShop.SkuReduceTypePayMakeOrder, + Weight: utils.Int2Float64(storeSku.Weight), + DeliveryDelayDay: tiktokShop.DeliveryDelayDayToDay, + PresellType: tiktokShop.SendGoodsTypeNow, + Supply7dayReturn: 0, + Mobile: storeDetail.Tel1, + Commit: true, + Specs: "净重|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit, + NeedRechargeMode: false, + SellChannel: []int64{0}, + StartSaleType: 0, + PickupMethod: "0", + } + // param.AccountTemplateId = "" + // 获取上传图,商品轮播图 + 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), storeDetail.VendorOrgCode, storeSku.DescImg) + if err != nil { + return nil, err + } + param.Description = img2 + + // weight_unit 目前抖音只支持g和kg两种 + switch storeSku.Unit { + case "g", "ml", "G", "ML": + param.WeightUnit = tiktokShop.WeightUint_G + case "kg", "l", "L", "KG": + param.WeightUnit = tiktokShop.WeightUint_G + } + + // spec_prices + param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, utils.Str2Int64(storeSku.VendorSkuID), 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 + } + param.ProductFormatNew = productFormatNew + globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false)) + + // 获取品牌 + //brandID, err := api.GetSkuBrand(param.CategoryLeafId) + //if err != nil { + // return nil, err + //} + //param.StandardBrandId = brandID + + //tiktokResult, err := api.EditStoreCommodity(param) // 创建主商品 + //if err != nil { + // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + // storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) + // continue + //} + //globals.SugarLogger.Debugf("tiktokResult main ===%s", utils.Format4Output(tiktokResult, false)) + + // 创建子商品 + //param.FreightId = freightId + param.ProductId = utils.Str2Int64(storeSku.VendorSkuID) + //param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResult.ProductId, storeSku) + // 获取门店限售模板 + //saleLimitId, err := CreateSaleTemp(utils.Str2Int64(vendorStoreID), api) + //globals.SugarLogger.Debug("==22213123131231231", saleLimitId) + //if err != nil { + // return nil, err + //} + //param.SaleLimitId = saleLimitId + //param.StoreId = utils.Str2Int64(vendorStoreID) + // 抖店创建商品 + globals.SugarLogger.Debugf("更新子商品=============%s", utils.Format4Output(param, false)) + 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 + } + storeSku.VendorSkuID = storeSku.VendorSkuID + } + return } if len(failedList) > 0 { diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 023ef0f5e..08fba19b9 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -41,6 +41,7 @@ func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, er // GetTiktokImgList 获取抖音图片链接 func GetTiktokImgList(storeId, appOrgCode string, img ...string) (string, error) { imgs := make([]tiktokShop.Imgs, 0, 0) + var tiktokImg []string for _, v := range img { if v != "" { imgs = append(imgs, tiktokShop.Imgs{ @@ -54,7 +55,6 @@ func GetTiktokImgList(storeId, appOrgCode string, img ...string) (string, error) return "", err } - var tiktokImg []string for _, v := range tiktokImgList.SuccessMap { tiktokImg = append(tiktokImg, v.ByteUrl) }