From ea6a87124644cd44397cd15e6db551490790a424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Dec 2020 14:25:22 +0800 Subject: [PATCH] aa --- business/jxstore/cms/sync_store_sku.go | 41 +- business/jxstore/tempop/tempop.go | 48 +-- business/partner/purchase/jdshop/store_sku.go | 381 ++++++++++-------- 3 files changed, 234 insertions(+), 236 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 3e65d29d6..9ecd4fc93 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -357,38 +357,6 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item return item } -func bindSkuAllStore(v *dao.StoreSkuSyncInfo) (err error) { - var ( - db = dao.GetDB() - ) - storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDJDShop}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "2") - task := tasksch.NewParallelTask("京东商城门店建商品", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), jxcontext.AdminCtx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if err = api.JdShop2API.StoreSkuBindStore(false, []string{v.VendorSkuID}, []string{storeMap.VendorStoreID}); err == nil { - storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID}) - if len(storeSkus2) > 0 { - status := storeSkus2[0].Status - stock := storeSkus2[0].Stock - price := storeSkus2[0].Price - if status == model.StoreSkuBindStatusNormal { - api.JdShop2API.StoreWareDoUpdate(status, utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID) - } - if stock != 0 { - api.JdShop2API.StoreUpdateStock(stock, utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID) - } - api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID) - } else { - return retVal, err - } - } - return retVal, err - }, storeMaps) - tasksch.HandleTask(task, nil, true).Run() - _, err = task.GetResult(0) - return err -} - func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) { if len(storeSkuList) > 0 { // defer func() { @@ -404,9 +372,6 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn for k, vv := range v.StoreSkuSyncInfoJds { updateItemList[k] = sku2Update(vendorID, vv, syncStatus) err = updateJdsWareID(db, vv) - if v.VendorOrgCode == "2" { - err = bindSkuAllStore(vv) - } } num, err = dao.BatchUpdateEntityByKV(db, updateItemList) } @@ -501,9 +466,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag var failedList []*partner.StoreSkuInfoWithErr for _, sku := range skus { if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID && storeID != model.JdShopMainStoreID2 { - if model.IsSyncStatusNew(sku.SkuSyncStatus) { - sku.SkuSyncStatus = sku.SkuSyncStatus - model.SyncFlagNewMask - } + // if model.IsSyncStatusNew(sku.SkuSyncStatus) { + // sku.SkuSyncStatus = sku.SkuSyncStatus - model.SyncFlagNewMask + // } storeDetail2, _ := dao.GetStoreDetail(db, storeID, vendorID, sku.VendorOrgCode) vendorStoreID = storeDetail2.VendorStoreID } diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 314850791..e4d1b17bd 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1767,30 +1767,30 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { func(task2 *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(*model.StoreSkuBind) if v.JdsID != 0 && v.SubStoreID == 0 { - task := tasksch.NewParallelTask("京东商城门店建商品2", tasksch.NewParallelConfig().SetParallelCount(2).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if err = api.JdShop2API.StoreSkuBindStore(false, []string{utils.Int64ToStr(v.JdsID)}, []string{storeMap.VendorStoreID}); err == nil { - storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID}) - if len(storeSkus2) > 0 { - status := storeSkus2[0].Status - stock := storeSkus2[0].Stock - price := storeSkus2[0].Price - if status == model.StoreSkuBindStatusNormal { - api.JdShop2API.StoreWareDoUpdate(status, v.JdsID, storeMap.VendorStoreID) - } - if stock != 0 { - api.JdShop2API.StoreUpdateStock(stock, v.JdsID, storeMap.VendorStoreID) - } - api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), v.JdsID, storeMap.VendorStoreID) - } else { - return retVal, err - } - } - return retVal, err - }, storeMaps) - tasksch.HandleTask(task, task2, true).Run() - _, err = task.GetResult(0) + if err = api.JdShop2API.StoreSkuBindStore(true, []string{utils.Int64ToStr(v.JdsID)}, nil); err == nil { + // task := tasksch.NewParallelTask("京东商城门店建商品2", tasksch.NewParallelConfig().SetParallelCount(2).SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID}) + // if len(storeSkus2) > 0 { + // status := storeSkus2[0].Status + // stock := storeSkus2[0].Stock + // price := storeSkus2[0].Price + // if status == model.StoreSkuBindStatusNormal { + // api.JdShop2API.StoreWareDoUpdate(status, v.JdsID, storeMap.VendorStoreID) + // } + // if stock != 0 { + // api.JdShop2API.StoreUpdateStock(stock, v.JdsID, storeMap.VendorStoreID) + // } + // api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), v.JdsID, storeMap.VendorStoreID) + // } else { + // return retVal, err + // } + // return retVal, err + // }, storeMaps) + // tasksch.HandleTask(task, task2, true).Run() + // _, err = task.GetResult(0) + } } v.SubStoreID = 1 dao.UpdateEntity(db, v, "SubStoreID") diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 334d3a186..b6358b8ba 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -34,206 +34,239 @@ var ( ) func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { - if globals.EnableJdShopWrite && (vendorStoreID == model.JdShopMainVendorStoreID || vendorStoreID == model.JdShopMainVendorStoreID2) { - for _, v := range storeSkuList { - //判断京东商城上是否有这个商品了,如果有就是添加规格而不是创建商品 - //如果是京东商城2,是下架的商品,弄上架 - name := filterSensitiveWord(v.Name) - flag := false - flag2 := false - result, err := getAPI(v.VendorOrgCode).SearchWare4Valid(name, 1, 100) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") - return failedList, err - } - for _, v := range result.Data { - if v.Title == name { - flag = true - //下架 - if v.WareStatus == 2 { - flag2 = true - } - break + if globals.EnableJdShopWrite { + if vendorStoreID == model.JdShopMainVendorStoreID || vendorStoreID == model.JdShopMainVendorStoreID2 { + for _, v := range storeSkuList { + //判断京东商城上是否有这个商品了,如果有就是添加规格而不是创建商品 + //如果是京东商城2,是下架的商品,弄上架 + name := filterSensitiveWord(v.Name) + flag := false + flag2 := false + result, err := getAPI(v.VendorOrgCode).SearchWare4Valid(name, 1, 100) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") + return failedList, err } - } - if v.VendorOrgCode == "2" && flag2 { - err = api.JdShop2API.WareDoUpdate("op", utils.Int64ToStr(v.JdsWareID)) - } else { - if result.TotalItem > 0 && len(result.Data) > 0 && flag { - //jds2 - wareSaveParam := &jdshopapi.WareSaveParam{ - WareID: result.Data[0].WareID, - Title: v.Name, - CategoryID: int(v.VendorVendorCatID), - VenderID: jdshopapi.VendorID2, - Length: 200, - Wide: 100, - Height: 100, - Weight: "1", - BrandID: jdshopapi.BrandIdNO, - ShopCategorys: []int{utils.Str2Int(v.VendorCatID)}, - PromiseID: -1, - MultiCateProps: []interface{}{}, - PropsSet: []interface{}{}, - SaleAttrs: []interface{}{}, - WareStatus: 8, - } - var wareSaveSkus []*jdshopapi.WareSaveSkus - //先把已有的规格放进去 - if v.VendorOrgCode == "2" { - wareResult, _ := api.JdShop2API.FindWareById(wareSaveParam.WareID) - if wareResult != nil { - for _, v := range wareResult.Images { - wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, &jdshopapi.CreateSkuParamImages{ - ColorID: v.ColorID, - ImgURL: v.ImgURL, - ImgIndex: v.ImgIndex, - }) - } + for _, v := range result.Data { + if v.Title == name { + flag = true + //下架 + if v.WareStatus == 2 { + flag2 = true } - skus, _, _ := api.JdShop2API.SearchSkuList2([]int{int(wareSaveParam.WareID)}) - if len(skus) > 0 { - for _, vv := range skus { - sku := &jdshopapi.WareSaveSkus{ - SkuID: vv.SkuID, - JdPrice: utils.Float64ToStr(vv.JdPrice), - StockNum: vv.StockNum, - Props: []*jdshopapi.WareSaveSkusProp{ - &jdshopapi.WareSaveSkusProp{ - AttrID: utils.Str2Int(vv.SaleAttrs[0].AttrID), - AttrValues: utils.Str2Int64(vv.SaleAttrs[0].AttrValues[0]), - AttrValueAlias: vv.SaleAttrs[0].AttrValueAlias[0], - }, - }, - OuterID: vv.OuterID, + break + } + } + if v.VendorOrgCode == "2" && flag2 { + err = api.JdShop2API.WareDoUpdate("op", utils.Int64ToStr(v.JdsWareID)) + } else { + if result.TotalItem > 0 && len(result.Data) > 0 && flag { + //jds2 + wareSaveParam := &jdshopapi.WareSaveParam{ + WareID: result.Data[0].WareID, + Title: v.Name, + CategoryID: int(v.VendorVendorCatID), + VenderID: jdshopapi.VendorID2, + Length: 200, + Wide: 100, + Height: 100, + Weight: "1", + BrandID: jdshopapi.BrandIdNO, + ShopCategorys: []int{utils.Str2Int(v.VendorCatID)}, + PromiseID: -1, + MultiCateProps: []interface{}{}, + PropsSet: []interface{}{}, + SaleAttrs: []interface{}{}, + WareStatus: 8, + } + var wareSaveSkus []*jdshopapi.WareSaveSkus + //先把已有的规格放进去 + if v.VendorOrgCode == "2" { + wareResult, _ := api.JdShop2API.FindWareById(wareSaveParam.WareID) + if wareResult != nil { + for _, v := range wareResult.Images { + wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, &jdshopapi.CreateSkuParamImages{ + ColorID: v.ColorID, + ImgURL: v.ImgURL, + ImgIndex: v.ImgIndex, + }) + } + } + skus, _, _ := api.JdShop2API.SearchSkuList2([]int{int(wareSaveParam.WareID)}) + if len(skus) > 0 { + for _, vv := range skus { + sku := &jdshopapi.WareSaveSkus{ + SkuID: vv.SkuID, + JdPrice: utils.Float64ToStr(vv.JdPrice), + StockNum: vv.StockNum, + Props: []*jdshopapi.WareSaveSkusProp{ + &jdshopapi.WareSaveSkusProp{ + AttrID: utils.Str2Int(vv.SaleAttrs[0].AttrID), + AttrValues: utils.Str2Int64(vv.SaleAttrs[0].AttrValues[0]), + AttrValueAlias: vv.SaleAttrs[0].AttrValueAlias[0], + }, + }, + OuterID: vv.OuterID, + } + wareSaveSkus = append(wareSaveSkus, sku) } - wareSaveSkus = append(wareSaveSkus, sku) } } - } - for _, vv := range v.StoreSkuSyncInfoJds { - v.JdsWareID = result.Data[0].WareID - vv.JdsWareID = result.Data[0].WareID - updateSkusParam, wareSaveSku, err := buildUpdateSkusParam(v, vv, true) - wareSaveSkus = append(wareSaveSkus, wareSaveSku) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") - return failedList, err - } - if v.VendorOrgCode == "1" { - vendorSkuID, err := getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam) + for _, vv := range v.StoreSkuSyncInfoJds { + v.JdsWareID = result.Data[0].WareID + vv.JdsWareID = result.Data[0].WareID + updateSkusParam, wareSaveSku, err := buildUpdateSkusParam(v, vv, true) + wareSaveSkus = append(wareSaveSkus, wareSaveSku) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err } - vv.VendorSkuID = vendorSkuID - } else { - wareSaveParam.Skus = wareSaveSkus - if wareResult, err2 := getAPI(v.VendorOrgCode).WareSave(wareSaveParam); err2 == nil { - for _, vvv := range wareResult { - if vvv.OuterID == wareSaveSku.OuterID { - vv.VendorSkuID = utils.Int64ToStr(vvv.SkuID) - break + if v.VendorOrgCode == "1" { + vendorSkuID, err := getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") + return failedList, err + } + vv.VendorSkuID = vendorSkuID + } else { + wareSaveParam.Skus = wareSaveSkus + if wareResult, err2 := getAPI(v.VendorOrgCode).WareSave(wareSaveParam); err2 == nil { + for _, vvv := range wareResult { + if vvv.OuterID == wareSaveSku.OuterID { + vv.VendorSkuID = utils.Int64ToStr(vvv.SkuID) + break + } + } + //创建商品后要上架,改价,库存,门店关注商品等 + if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)); err == nil { + err = api.JdShop2API.StoreSkuBindStore(true, []string{vv.VendorSkuID}, nil) } } - err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)) + } + } + } else { + createSkuParamWare, createSkuParamSkus, wareSaveParam, err := buildCreateWareParam(v) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") + return failedList, err + } + var ( + wareID int64 + resultAttrs = make(map[string]int64) + ) + if v.VendorOrgCode == "1" { + createSkuResult, err2 := getAPI(v.VendorOrgCode).CreateWare(createSkuParamWare, createSkuParamSkus) + err = err2 + wareID = createSkuResult.WareID + + var paramAttrs = make(map[string]*jdshopapi.CreateSkuParamSkus) + for _, vv := range createSkuParamSkus { + for _, vvv := range vv.SaleAttrs { + paramAttrs[vvv.AttrValues[0]] = vv + } + } + for _, vv1 := range createSkuResult.Skus { + for _, vvv1 := range vv1.SaleAttrs { + if paramAttrs[vvv1.AttrValues[0]] != nil { + resultAttrs[paramAttrs[vvv1.AttrValues[0]].OuterID] = vv1.SkuID + } + } + } + for _, vv2 := range v.StoreSkuSyncInfoJds { + vv2.JdsWareID = createSkuResult.WareID + if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { + vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) + } + } + } else { + var createSkuResult []*jdshopapi.WareSaveResult + for i := 0; i < 10; i++ { + createSkuResult, err = api.JdShop2API.WareSave(wareSaveParam) + if len(createSkuResult) > 0 { + break + } + time.Sleep(time.Second) + } + wareID = createSkuResult[0].WareID + + var paramAttrs = make(map[string]*jdshopapi.WareSaveSkus) + for _, vv := range wareSaveParam.Skus { + for _, vvv := range vv.Props { + paramAttrs[vvv.AttrValueAlias] = vv + } + } + for _, vv1 := range createSkuResult { + for _, vvv1 := range vv1.Props { + if paramAttrs[vvv1.AttrValueAlias] != nil { + resultAttrs[paramAttrs[vvv1.AttrValueAlias].OuterID] = vv1.SkuID + } + } + } + for _, vv2 := range v.StoreSkuSyncInfoJds { + vv2.JdsWareID = createSkuResult[0].WareID + if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { + vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) + } } //创建商品后要上架,改价,库存,门店关注商品等 - } - } - } else { - createSkuParamWare, createSkuParamSkus, wareSaveParam, err := buildCreateWareParam(v) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") - return failedList, err - } - var ( - wareID int64 - resultAttrs = make(map[string]int64) - ) - if v.VendorOrgCode == "1" { - createSkuResult, err2 := getAPI(v.VendorOrgCode).CreateWare(createSkuParamWare, createSkuParamSkus) - err = err2 - wareID = createSkuResult.WareID - - var paramAttrs = make(map[string]*jdshopapi.CreateSkuParamSkus) - for _, vv := range createSkuParamSkus { - for _, vvv := range vv.SaleAttrs { - paramAttrs[vvv.AttrValues[0]] = vv - } - } - for _, vv1 := range createSkuResult.Skus { - for _, vvv1 := range vv1.SaleAttrs { - if paramAttrs[vvv1.AttrValues[0]] != nil { - resultAttrs[paramAttrs[vvv1.AttrValues[0]].OuterID] = vv1.SkuID + if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID)); err == nil { + for _, vv2 := range v.StoreSkuSyncInfoJds { + if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { + err = api.JdShop2API.StoreSkuBindStore(true, []string{utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)])}, nil) + } } } } - for _, vv2 := range v.StoreSkuSyncInfoJds { - vv2.JdsWareID = createSkuResult.WareID - if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { - vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) - } - } - } else { - var createSkuResult []*jdshopapi.WareSaveResult - for i := 0; i < 10; i++ { - createSkuResult, err = api.JdShop2API.WareSave(wareSaveParam) - if len(createSkuResult) > 0 { - break - } - time.Sleep(time.Second) - } - wareID = createSkuResult[0].WareID - - var paramAttrs = make(map[string]*jdshopapi.WareSaveSkus) - for _, vv := range wareSaveParam.Skus { - for _, vvv := range vv.Props { - paramAttrs[vvv.AttrValueAlias] = vv - } - } - for _, vv1 := range createSkuResult { - for _, vvv1 := range vv1.Props { - if paramAttrs[vvv1.AttrValueAlias] != nil { - resultAttrs[paramAttrs[vvv1.AttrValueAlias].OuterID] = vv1.SkuID + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") + return failedList, err + } else { + //追加商品透图 + imageURL := "" + img := v.Img + if img != "" { + suffix := img[strings.LastIndex(img, "."):] + if suffix != ".png" { + if resBinary, _, _ := jxutils.DownloadFileByURL(img + model.SkuNameImgToPng); err == nil { + downloadURL, _ := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())) + imageURL, _ = uploadImg(downloadURL, name, "tou", v.VendorOrgCode) + } + } else { + imageURL, _ = uploadImg(img, name, "tou", v.VendorOrgCode) } } - } - for _, vv2 := range v.StoreSkuSyncInfoJds { - vv2.JdsWareID = createSkuResult[0].WareID - if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { - vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) + if v.VendorOrgCode == "1" { + api.JdShopAPI.TransparentImageAdd(wareID, imageURL) } } - //创建商品后要上架,改价,库存,门店关注商品等 - err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID)) } if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err - } else { - //追加商品透图 - imageURL := "" - img := v.Img - if img != "" { - suffix := img[strings.LastIndex(img, "."):] - if suffix != ".png" { - if resBinary, _, _ := jxutils.DownloadFileByURL(img + model.SkuNameImgToPng); err == nil { - downloadURL, _ := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())) - imageURL, _ = uploadImg(downloadURL, name, "tou", v.VendorOrgCode) - } - } else { - imageURL, _ = uploadImg(img, name, "tou", v.VendorOrgCode) - } - } - if v.VendorOrgCode == "1" { - api.JdShopAPI.TransparentImageAdd(wareID, imageURL) - } } } - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") - return failedList, err + } + } else { + //如果是普通店关注商品 + for _, v := range storeSkuList { + if v.VendorOrgCode == "2" { + storeSkus, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{model.JdShopMainStoreID2}, []int{v.SkuID}) + if len(storeSkus) > 0 { + for _, vv := range storeSkus { + if vv.JdsID != 0 { + status := v.Status + stock := v.Stock + price := v.VendorPrice + if status == model.StoreSkuBindStatusNormal { + api.JdShop2API.StoreWareDoUpdate(status, vv.JdsID, vendorStoreID) + } + if stock != 0 { + api.JdShop2API.StoreUpdateStock(stock, vv.JdsID, vendorStoreID) + } + api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), vv.JdsID, vendorStoreID) + } + } + } } } }