扫码建商品优化

This commit is contained in:
苏尹岚
2020-04-01 16:07:07 +08:00
parent 44a747d03f
commit c48eb6bbc4

View File

@@ -4209,26 +4209,34 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product
if price == 0 { if price == 0 {
return fmt.Errorf("请输入商品价格!") return fmt.Errorf("请输入商品价格!")
} }
skuNames, err := dao.GetSkuNames(db, nil, nil, productInfo.Name) focusSku := func(nameID int) {
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{ skuBindInfo := &StoreSkuBindInfo{
StoreID: storeID, StoreID: storeID,
NameID: skuNames[0].ID, NameID: nameID,
UnitPrice: price, UnitPrice: price,
IsFocus: 1, IsFocus: 1,
IsSale: 1, IsSale: 1,
} }
skuBindInfos = append(skuBindInfos, skuBindInfo) skuBindInfos = append(skuBindInfos, skuBindInfo)
UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true) UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true)
}
skuNames, err := dao.GetSkuNames(db, nil, []string{productInfo.UpcCode}, "")
if err != nil {
return err
}
if len(skuNames) == 0 {
skuNames2, err := dao.GetSkuNames(db, nil, nil, productInfo.Name)
if err != nil {
return err
}
if len(skuNames2) > 1 {
return fmt.Errorf("此商品名在京西库中查询出了大于1个商品[%v]", productInfo.Name)
}
//表示查到了需要把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 { } else {
skuNameExt := &model.SkuNameExt{ skuNameExt := &model.SkuNameExt{
SkuName: model.SkuName{ SkuName: model.SkuName{
@@ -4251,7 +4259,6 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product
skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit
skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight))))
skuNameExt.Skus[0].Status = model.SkuStatusNormal skuNameExt.Skus[0].Status = model.SkuStatusNormal
if len(productInfo.ImgList) > 0 { if len(productInfo.ImgList) > 0 {
skuNameExt.Img = productInfo.ImgList[0] skuNameExt.Img = productInfo.ImgList[0]
} }
@@ -4259,15 +4266,10 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product
if err != nil { if err != nil {
return err return err
} }
skuBindInfo := &StoreSkuBindInfo{ focusSku(outSkuNameExt.ID)
StoreID: storeID,
NameID: outSkuNameExt.ID,
UnitPrice: price,
IsFocus: 1,
IsSale: 1,
} }
skuBindInfos = append(skuBindInfos, skuBindInfo) } else {
UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true) focusSku(skuNames[0].ID)
} }
return err return err
} }