diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 0d5ad4671..667a60b0f 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1890,7 +1890,7 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i return "", fmt.Errorf("此功能当前只支持京东到家平台") } db := dao.GetDB() - storeMapList, err := dao.GetStoresMapList(db, nil, storeIDs, model.StoreStatusAll, model.StoreIsSyncAll, "") + storeMapList, err := dao.GetStoresMapList(db, []int{vendorID}, storeIDs, model.StoreStatusAll, model.StoreIsSyncAll, "") if err != nil { return "", err } @@ -1907,13 +1907,13 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i return "", err } } - skuList, err := dao.GetSkus(db, nil, nil, nil, nil) + skuList, err := dao.GetSkusWithVendor(db, []int{vendorID}, nil, nil, nil, false) if err != nil { return "", err } skuNameMap := make(map[int]*model.SkuName) - skuMap := make(map[int]*model.SkuAndName) - var bareStoreSkuList []*partner.StoreSkuInfo + skuMap := make(map[int]*dao.StoreSkuSyncInfo) + bareStoreSkuMap := make(map[string][]*partner.StoreSkuInfo) for _, sku := range skuList { if skuNameMap[sku.NameID] == nil { skuNameMap[sku.NameID] = &model.SkuName{ @@ -1922,9 +1922,9 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i } skuMap[sku.ID] = sku - bareStoreSkuList = append(bareStoreSkuList, &partner.StoreSkuInfo{ + bareStoreSkuMap[sku.VendorOrgCode] = append(bareStoreSkuMap[sku.VendorOrgCode], &partner.StoreSkuInfo{ SkuID: sku.ID, - VendorSkuID: utils.Int64ToStr(sku.JdID), + VendorSkuID: sku.VendorSkuID, }) } @@ -1937,7 +1937,7 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { case 0: - bareStoreSkuList, err2 := handler.GetStoreSkusBareInfo(ctx, oneStoreMap.VendorOrgCode, task, oneStoreMap.StoreID, oneStoreMap.VendorStoreID, bareStoreSkuList) + bareStoreSkuList, err2 := handler.GetStoreSkusBareInfo(ctx, oneStoreMap.VendorOrgCode, task, oneStoreMap.StoreID, oneStoreMap.VendorStoreID, bareStoreSkuMap[oneStoreMap.VendorOrgCode]) // globals.SugarLogger.Debug(utils.Format4Output(bareStoreSkuList, false)) if err = err2; err == nil || len(bareStoreSkuList) > 0 { err = nil // todo 如果部分失败,强制忽略错误 @@ -2624,15 +2624,15 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int, outStoreSkuList []*partner.StoreSkuInfo ) db := dao.GetDB() - skuNameList, err := dao.GetSkus(db, []int{skuID}, nil, nil, nil) + skuList, err := dao.GetSkusWithVendor(db, []int{vendorID}, []string{v}, nil, []int{skuID}, false) if err != nil { return retVal, err } if partner.IsMultiStore(vendorID) { multiHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IMultipleStoresHandler) storeDetail, err = multiHandler.ReadStore(ctx, v, vendorStoreID) - if len(skuNameList) > 0 { - inStoreSku.VendorSkuID = utils.Int64ToStr(skuNameList[0].JdID) + if len(skuList) > 0 { + inStoreSku.VendorSkuID = skuList[0].VendorSkuID } } else { singleHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreHandler) @@ -2652,7 +2652,7 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int, StoreID: vendorStoreID, StoreName: storeDetail.Name, SkuID: skuID, - SkuName: skuNameList[0].Name, + SkuName: skuList[0].Name, VendorPrice: "", } retVal = []DataVendorStoreSkuPrice{data} @@ -2661,7 +2661,7 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int, StoreID: vendorStoreID, StoreName: storeDetail.Name, SkuID: skuID, - SkuName: skuNameList[0].Name, + SkuName: skuList[0].Name, VendorPrice: utils.Float64ToStr(utils.Str2Float64(utils.Int64ToStr(outStoreSkuList[0].VendorPrice)) / 100), } retVal = []DataVendorStoreSkuPrice{data}