diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 8610a01f8..214bbc176 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -3821,7 +3821,7 @@ func RefreshJxPriceByVendor2(ctx *jxcontext.Context, storeIDs []int, vendorID in for _, orgCode := range apimanager.CurAPIManager.GetAppOrgCodeList(vendorID) { outStoreSkuList, _ := mulitStoreSkuHandler.GetStoreSkusBareInfo(ctx, orgCode, task, storeID, storeDetail.VendorStoreID, bareStoreSkuMap[orgCode]) for _, sku := range outStoreSkuList { - price, nameID := getSkuNamePrice(db, sku.SkuID, sku.VendorPrice) + price, nameID := GetSkuNamePrice(db, sku.SkuID, sku.VendorPrice) if skuNameMap[nameID] < price { skuNameMap[nameID] = price } @@ -3841,7 +3841,7 @@ func RefreshJxPriceByVendor2(ctx *jxcontext.Context, storeIDs []int, vendorID in outSkuNameList, _ := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, storeDetail.VendorStoreID, nil) for _, skuName := range outSkuNameList { sku := skuName.SkuList[0] - price, nameID := getSkuNamePrice(db, sku.SkuID, sku.VendorPrice) + price, nameID := GetSkuNamePrice(db, sku.SkuID, sku.VendorPrice) if skuNameMap[nameID] < price { skuNameMap[nameID] = price } @@ -3873,7 +3873,7 @@ func RefreshJxPriceByVendor2(ctx *jxcontext.Context, storeIDs []int, vendorID in return hint, err } -func getSkuNamePrice(db *dao.DaoDB, skuID int, orgPrice int64) (price int64, nameID int) { +func GetSkuNamePrice(db *dao.DaoDB, skuID int, orgPrice int64) (price int64, nameID int) { var ( specQuality float64 ) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 0b13fd101..ed1d6beaf 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -503,18 +503,14 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // createList, updateList []*dao.StoreSkuSyncInfo // deleteList, stockList, onlineList, offlineList, priceList []*partner.StoreSkuInfo if len(createList) > 0 { - var ( - skuNameMap = make(map[int]*dao.StoreSkuSyncInfo) - ) - for _, v := range createList { - skuNameMap[v.NameID] = v - } - createList = createList[0:0] - for _, v := range skuNameMap { - createList = append(createList, v) - } + rList1, _ := changeList2Yb(createList, nil) + createList = createList[:] + createList = rList1 for _, v := range createList { v.YbBarCode = storeDetail.YbStorePrefix + v.YbNameSuffix + v.VendorPrice = int64(jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(v.UnitPrice))) + price, _ := GetSkuNamePrice(db, v.SkuID, v.Price) + v.Price = price } } } @@ -1268,19 +1264,22 @@ func FullSyncStoreSkuBindAct(ctx *jxcontext.Context, parentTask tasksch.ITask, h return err } -func changeList2Yb(list1 []*dao.StoreSkuSyncInfo, list2 []*partner.StoreSkuInfo, ybStorePrefix string) { +func changeList2Yb(list1 []*dao.StoreSkuSyncInfo, list2 []*partner.StoreSkuInfo) (rList1 []*dao.StoreSkuSyncInfo, rList2 []*partner.StoreSkuInfo) { var ( - skuNameMap = make(map[int]*dao.StoreSkuSyncInfo) + skuNameMap = make(map[int]*dao.StoreSkuSyncInfo) + skuNameMap2 = make(map[int]*partner.StoreSkuInfo) ) for _, v := range list1 { skuNameMap[v.NameID] = v } - list1 = list1[0:0] for _, v := range skuNameMap { - list1 = append(list1, v) + rList1 = append(rList1, v) } - for _, v := range list1 { - v.YbBarCode = ybStorePrefix + v.YbNameSuffix + for _, v := range list2 { + skuNameMap2[v.NameID] = v } - fmt.Println(utils.Format4Output(list1, false)) + for _, v := range skuNameMap2 { + rList2 = append(rList2, v) + } + return rList1, rList2 }