- 创建与修改SkuName时,防止UPC重复
This commit is contained in:
@@ -2,6 +2,7 @@ package cms
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
@@ -441,6 +442,15 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if skuNameExt.Upc != "" {
|
||||
err = dao.GetEntity(db, &skuNameExt.SkuName, "Upc")
|
||||
if err == nil {
|
||||
return nil, fmt.Errorf("UPC:%s重复", skuNameExt.Upc)
|
||||
} else if !dao.IsNoRowsError(err) {
|
||||
return nil, err
|
||||
}
|
||||
err = nil
|
||||
}
|
||||
skuNameExt.SkuName.Status = model.SkuStatusNormal
|
||||
if skuNameExt.IsSpu == 1 {
|
||||
skuNameExt.SkuName.JdSyncStatus = model.SyncFlagNewMask
|
||||
@@ -528,6 +538,18 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false))
|
||||
dao.Begin(db)
|
||||
defer dao.Rollback(db)
|
||||
if upc, _ := valid["upc"].(string); upc != "" {
|
||||
skuName := &model.SkuName{
|
||||
Upc: upc,
|
||||
}
|
||||
err = dao.GetEntity(db, skuName, "Upc")
|
||||
if err == nil {
|
||||
return 0, fmt.Errorf("UPC:%s重复", upc)
|
||||
} else if !dao.IsNoRowsError(err) {
|
||||
return 0, err
|
||||
}
|
||||
err = nil
|
||||
}
|
||||
if valid["img"] != nil {
|
||||
imgContent, imgMD5, err2 := jxutils.DownloadFileByURL(valid["img"].(string))
|
||||
if err = err2; err != nil {
|
||||
|
||||
@@ -172,7 +172,7 @@ type SkuName struct {
|
||||
ImgEbai string `orm:"size(255)" json:"imgEbai"` // 饿百图片地址
|
||||
ImgHashCode string `orm:"size(255);index" json:"img_hash_code"`
|
||||
ElmImgHashCode string `orm:"size(255)" json:"-"` // 长度255的原因是从京东初始化数据时临时需要
|
||||
Upc string `orm:"size(20)"`
|
||||
Upc string `orm:"size(20);index"`
|
||||
Status int `orm:"default(1)" json:"status"` // skuname状态,取值同sku.Status
|
||||
IsSpu int8 `orm:"column(is_spu)" json:"isSpu"` // 用于指明是否SKUNAME当成SPU
|
||||
|
||||
|
||||
Reference in New Issue
Block a user