diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 022b2da19..e76622460 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -97,7 +97,15 @@ func AddCategory(ctx *jxcontext.Context, cat *model.SkuCategory, userName string dao.WrapAddIDCULDEntity(cat, userName) cat.JdSyncStatus = model.SyncFlagNewMask cat.JdID = 0 + cat.Status = model.CategoryStatusEnable cat.Name = strings.Trim(cat.Name, " ") + if cat.Img != "" { + _, err2 := datares.TryRegisterDataResource(ctx, cat.Name, cat.Img, model.ImgTypeLocal, false) + if err = err2; err != nil { + return nil, err + } + } + if cat.Seq <= 0 { var maxSeq struct { MaxSeq int @@ -144,6 +152,22 @@ func UpdateCategory(ctx *jxcontext.Context, categoryID int, payload map[string]i syncStatus = model.SyncFlagModifiedMask valid[model.FieldJdSyncStatus] = int8(syncStatus) | cat.JdSyncStatus } + if valid["status"] != nil { + if utils.Interface2Int64WithDefault(valid["status"], -1) == model.CategoryStatusDisabled { + if skuList, err2 := dao.GetSkuByCats(db, []int{categoryID}); err2 == nil && len(skuList) > 0 { + return 0, fmt.Errorf("暂不允许禁用分类下有商品的分类!") + } + } + } + + if valid["img"] != nil { + if imgStr := utils.Interface2String(valid["img"]); imgStr != "" { + _, err2 := datares.TryRegisterDataResource(ctx, cat.Name, utils.Interface2String(valid["img"]), model.ImgTypeLocal, false) + if err = err2; err != nil { + return 0, err + } + } + } dao.Begin(db) defer func() { diff --git a/business/model/sku.go b/business/model/sku.go index 110b043b4..e2e51cf03 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -18,6 +18,11 @@ const ( SkuStatusNormal = 1 ) +const ( + CategoryStatusDisabled = 0 + CategoryStatusEnable = 1 +) + var ( SpecUnitNames = []string{ "g", @@ -140,9 +145,10 @@ type SkuCategory struct { // ElmCategoryID int64 `orm:"column(elm_category_id)" json:"elmCategoryID"` // 这个是指对应的饿了么商品类别 // WscCategoryID int64 `orm:"column(wsc_category_id)" json:"wscCategoryID"` // 这个是指对应的美团外卖商品类别 - - JdID int64 `orm:"column(jd_id)" json:"jdID"` // 这个是指商家自己的商品类别在京东平台上的ID - JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` + Status int8 `orm:"default(1)" json:"status"` //分类状态,0表示禁用,1表示启用 + Img string `orm:"size(512)" json:"img"` //分类图片 + JdID int64 `orm:"column(jd_id)" json:"jdID"` // 这个是指商家自己的商品类别在京东平台上的ID + JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` } func (*SkuCategory) TableUnique() [][]string {