修复AddSkuName中事务使用不合理的问题

This commit is contained in:
gazebo
2019-09-25 15:22:09 +08:00
parent 41866bf4b2
commit 1766adf203

View File

@@ -547,13 +547,6 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
}
db := dao.GetDB()
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
if skuNameExt.Upc != "" {
err = dao.GetEntity(db, &skuNameExt.SkuName, "Upc")
if err == nil {
@@ -567,7 +560,6 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
if skuNameExt.IsSpu == 1 {
skuNameExt.SkuName.JdSyncStatus = model.SyncFlagNewMask
}
dao.WrapAddIDCULDEntity(&skuNameExt.SkuName, userName)
if skuNameExt.Unit == model.SpecialUnit {
skuNameExt.SpecQuality = float32(model.SpecialSpecQuality)
skuNameExt.SpecUnit = model.SpecialSpecUnit
@@ -579,18 +571,15 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
if globals.EnableStoreWrite {
imgContent, imgMD5, err := jxutils.DownloadFileByURL(skuNameExt.Img)
if err != nil {
dao.Rollback(db)
return nil, err
}
if skuNameExt.ImgHashCode == "" {
skuNameExt.ImgHashCode = imgMD5
} else if skuNameExt.ImgHashCode != imgMD5 {
dao.Rollback(db)
return nil, errors.New("图片HASH值不同")
}
imgHintMap, err := UploadImg2Platforms(ctx, nil, skuNameExt.Img, imgContent, "")
if err != nil {
dao.Rollback(db)
return nil, err
}
// skuNameExt.ImgWeimob = imgHintMap[model.VendorIDWSC]
@@ -600,10 +589,18 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
skuNameExt.DescImgEbai, err = api.EbaiAPI.SkuUploadRTF(getAndSetEbaiUploadRTFShopID(), ebaiapi.BuildRFTFromImgs(skuNameExt.DescImg))
}
if err != nil {
dao.Rollback(db)
return nil, err
}
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(&skuNameExt.SkuName, userName)
if err = dao.CreateEntity(db, &skuNameExt.SkuName); err != nil {
dao.Rollback(db)
return nil, err
@@ -629,6 +626,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
}
}
dao.Commit(db)
tmpInfo, err := GetSkuNames(ctx, "", false, utils.Params2Map("nameID", skuNameExt.SkuName.ID), 0, 1)
if err != nil {
return nil, err