From c48eb6bbc480fafdb447bcc931c092613a3b8ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 1 Apr 2020 16:07:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E7=A0=81=E5=BB=BA=E5=95=86=E5=93=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 106 +++++++++++++++--------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ed5c7ac05..ca0c7037b 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4209,65 +4209,67 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product if price == 0 { return fmt.Errorf("请输入商品价格!") } - skuNames, err := dao.GetSkuNames(db, nil, nil, productInfo.Name) + focusSku := func(nameID int) { + skuBindInfo := &StoreSkuBindInfo{ + StoreID: storeID, + NameID: nameID, + UnitPrice: price, + IsFocus: 1, + IsSale: 1, + } + skuBindInfos = append(skuBindInfos, skuBindInfo) + UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true) + } + skuNames, err := dao.GetSkuNames(db, nil, []string{productInfo.UpcCode}, "") if err != nil { return err } - if len(skuNames) > 1 { - return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", productInfo.Name) - } - //表示查到了,需要把upc更新上去,没查到就要新建 - if len(skuNames) == 1 && (productInfo.SpecQuality == skuNames[0].SpecQuality && productInfo.SpecUnit == skuNames[0].SpecUnit) { - skuNames[0].Upc = &productInfo.UpcCode - dao.UpdateEntity(db, skuNames[0], "Upc") - skuBindInfo := &StoreSkuBindInfo{ - StoreID: storeID, - NameID: skuNames[0].ID, - UnitPrice: price, - IsFocus: 1, - IsSale: 1, - } - skuBindInfos = append(skuBindInfos, skuBindInfo) - UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true) - } else { - skuNameExt := &model.SkuNameExt{ - SkuName: model.SkuName{ - Name: productInfo.Name, - Upc: &productInfo.UpcCode, - Status: model.SkuStatusNormal, - CategoryID: 175, - IsGlobal: model.YES, - Unit: productInfo.Unit, - }, - Skus: []*model.SkuWithVendor{ - &model.SkuWithVendor{ - Sku: &model.Sku{}, - }, - }, - // Places: []int{510100}, //默认成都 - } - skuNameExt.Price = price - skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality - skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit - skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) - skuNameExt.Skus[0].Status = model.SkuStatusNormal - - if len(productInfo.ImgList) > 0 { - skuNameExt.Img = productInfo.ImgList[0] - } - outSkuNameExt, err := AddSkuName(ctx, skuNameExt, ctx.GetUserName()) + if len(skuNames) == 0 { + skuNames2, err := dao.GetSkuNames(db, nil, nil, productInfo.Name) if err != nil { return err } - skuBindInfo := &StoreSkuBindInfo{ - StoreID: storeID, - NameID: outSkuNameExt.ID, - UnitPrice: price, - IsFocus: 1, - IsSale: 1, + if len(skuNames2) > 1 { + return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", productInfo.Name) } - skuBindInfos = append(skuBindInfos, skuBindInfo) - UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true) + //表示查到了,需要把upc更新上去,没查到就要新建 + if len(skuNames2) == 1 && (productInfo.SpecQuality == skuNames2[0].SpecQuality && productInfo.SpecUnit == skuNames2[0].SpecUnit) { + skuNames2[0].Upc = &productInfo.UpcCode + dao.UpdateEntity(db, skuNames2[0], "Upc") + focusSku(skuNames2[0].ID) + } else { + skuNameExt := &model.SkuNameExt{ + SkuName: model.SkuName{ + Name: productInfo.Name, + Upc: &productInfo.UpcCode, + Status: model.SkuStatusNormal, + CategoryID: 175, + IsGlobal: model.YES, + Unit: productInfo.Unit, + }, + Skus: []*model.SkuWithVendor{ + &model.SkuWithVendor{ + Sku: &model.Sku{}, + }, + }, + // Places: []int{510100}, //默认成都 + } + skuNameExt.Price = price + skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality + skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit + skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) + skuNameExt.Skus[0].Status = model.SkuStatusNormal + if len(productInfo.ImgList) > 0 { + skuNameExt.Img = productInfo.ImgList[0] + } + outSkuNameExt, err := AddSkuName(ctx, skuNameExt, ctx.GetUserName()) + if err != nil { + return err + } + focusSku(outSkuNameExt.ID) + } + } else { + focusSku(skuNames[0].ID) } return err }