This commit is contained in:
苏尹岚
2021-03-22 16:03:14 +08:00
parent be3476e351
commit 34cab3adf9
3 changed files with 121 additions and 223 deletions

View File

@@ -4476,8 +4476,9 @@ func buildStoreSkuBindInfosAndFocus(ctx *jxcontext.Context, db *dao.DaoDB, store
func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.ProductInfo, price, storeID int) (err error) {
var (
db = dao.GetDB()
skuBindInfos []*StoreSkuBindInfo
db = dao.GetDB()
skuBindInfos []*StoreSkuBindInfo
outSkuNameExt *model.SkuNameExt
)
if productInfo == nil {
@@ -4519,56 +4520,52 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product
productInfo.Unit = unit
productInfo.SpecUnit = specUnit
}
skuNames2, err := dao.GetSkuNames(db, nil, nil, productInfo.Name, false)
if err != nil {
return err
}
if productInfo.Name == "" {
return fmt.Errorf("暂时无法创建此商品,[%v]", productInfo.Name)
}
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 {
skuNameExt := &model.SkuNameExt{
SkuName: model.SkuName{
Name: productInfo.Name,
Upc: &productInfo.UpcCode,
Status: model.SkuStatusNormal,
CategoryID: model.NoCatCatgoryID,
IsGlobal: model.YES,
Unit: productInfo.Unit,
},
Skus: []*model.SkuWithVendor{
&model.SkuWithVendor{
Sku: &model.Sku{},
},
},
// Places: []int{510100}, //默认成都
if result, err := api.MtwmAPI.GetStandardProductListWithCond(productInfo.UpcCode); err == nil && result != nil {
productInfo.OriginalName = result.Name
productInfo.OriginalSpec = result.Spec
productInfo.Name = result.Name
productInfo.SpecUnit = result.SpecUnit
productInfo.Unit = result.Unit
productInfo.SpecQuality = float32(result.SpecNew)
productInfo.ImgList = strings.Split(result.Pic, ",")
productInfo.Weight = float32(result.Weight)
productInfo.BrandName = result.BrandNamePath
}
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 {
if _, ok := err.(*SyncError); ok {
err = nil
} else {
return err
}
}
skuNameExt := &model.SkuNameExt{
SkuName: model.SkuName{
Name: productInfo.Name,
Upc: &productInfo.UpcCode,
Status: model.SkuStatusNormal,
CategoryID: model.NoCatCatgoryID,
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 {
setImgs(skuNameExt, productInfo.ImgList)
}
outSkuNameExt, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName())
if err != nil {
if _, ok := err.(*SyncError); ok {
err = nil
} else {
focusSku(outSkuNameExt.ID)
return err
}
} else {
focusSku(outSkuNameExt.ID)
}
} else {
focusSku(skuNames[0].ID)