diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 2d8e091e6..b11944b75 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -28,6 +28,7 @@ import ( "git.rosy.net.cn/jx-callback/globals" "math/rand" "strings" + "time" "unicode" ) @@ -275,49 +276,49 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } else { // 主商品存在,直接同步子商品 childrenProductId, err := api.CreateSubProduct(utils.Str2Int64(localThing[0].VendorThingID), utils.Str2Int64(vendorStoreID)) - //if strings.Contains(err.Error(), "") { - // // 线上本地都存在,但是线上审核不成功,就去更新主商品 - // mainOrderDetail = loadMainProductId(api, storeSku) - // if mainOrderDetail.CheckStatus == tiktokShop.SkuCheckStatusProhibit || mainOrderDetail.CheckStatus == tiktokShop.SkuCheckStatusNotPass { - // // 更新主商品,在同步到子门店,考虑审核时间 - // updateParam := &product_editV2_request.ProductEditV2Param{ - // 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: "重量|" + utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit, - // NeedRechargeMode: false, - // SellChannel: []int64{0}, - // StartSaleType: 0, - // PickupMethod: "0", - // CategoryLeafId: param.CategoryLeafId, - // Name: param.Name, - // ProductFormatNew: param.ProductFormatNew, - // } - // updateParam.Pic = img - // updateParam.Description = detailImg - // updateParam.WeightUnit = tiktokShop.WeightUint_G - // updateParam.StandardBrandId = param.StandardBrandId // 默认品牌京西菜市 - // updateParam.ProductId = mainOrderDetail.ProductId - // updateParam.MainProductId = mainProductId - // updateParam.SpecPrices = param.SpecPrices - // //updateParam.StoreId = utils.Str2Int64(vendorStoreID) - // if err := api.EditStoreCommodity(updateParam); err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) - // } else { - // localThing[0].UpdatedAt = time.Now() - // localThing[0].SyncStatus = 0 - // localThing[0].ThingType = model.ThingTypeSku - // dao.UpdateThingMap(localThing[0]) - // } - // continue - // } - //} + if strings.Contains(err.Error(), "2010004") { // 2010004:主商品非在线审核通过状态,不允许绑定子商品 + // 线上本地都存在,但是线上审核不成功,就去更新主商品 + mainOrderDetail = loadMainProductId(api, storeSku) + if mainOrderDetail.CheckStatus == tiktokShop.SkuCheckStatusProhibit || mainOrderDetail.CheckStatus == tiktokShop.SkuCheckStatusNotPass { + // 更新主商品,在同步到子门店,考虑审核时间 + updateParam := &product_editV2_request.ProductEditV2Param{ + 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: "重量|" + utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit, + NeedRechargeMode: false, + SellChannel: []int64{0}, + StartSaleType: 0, + PickupMethod: "0", + CategoryLeafId: param.CategoryLeafId, + Name: param.Name, + ProductFormatNew: param.ProductFormatNew, + } + updateParam.Pic = img + updateParam.Description = detailImg + updateParam.WeightUnit = tiktokShop.WeightUint_G + updateParam.StandardBrandId = param.StandardBrandId // 默认品牌京西菜市 + updateParam.ProductId = mainOrderDetail.ProductId + updateParam.MainProductId = mainProductId + updateParam.SpecPrices = param.SpecPrices + //updateParam.StoreId = utils.Str2Int64(vendorStoreID) + if err := api.EditStoreCommodity(updateParam); err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) + } else { + localThing[0].UpdatedAt = time.Now() + localThing[0].SyncStatus = 0 + localThing[0].ThingType = model.ThingTypeSku + dao.UpdateThingMap(localThing[0]) + } + continue + } + } if err != nil || childrenProductId == 0 { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask