- DeleteCategory added.
This commit is contained in:
@@ -16,10 +16,10 @@ var (
|
||||
// parentID 为-1表示所有
|
||||
func GetVendorCategories(vendorID int, parentID int) (vendorCats []*model.SkuVendorCategory, err error) {
|
||||
cond := map[string]interface{}{
|
||||
"VendorID": vendorID,
|
||||
model.FieldVendorID: vendorID,
|
||||
}
|
||||
if parentID != -1 {
|
||||
cond["ParentID"] = parentID
|
||||
cond[model.FieldParentID] = parentID
|
||||
}
|
||||
return vendorCats, dao.GetEntities(nil, &vendorCats, cond, false)
|
||||
}
|
||||
@@ -36,7 +36,7 @@ func GetCategories(parentID int) (cats []*model.SkuCategory, err error) {
|
||||
if parentID == -1 {
|
||||
return cats, dao.GetEntities(nil, &cats, nil, false)
|
||||
}
|
||||
return cats, dao.GetEntities(nil, &cats, utils.Params2Map("ParentID", parentID), false)
|
||||
return cats, dao.GetEntities(nil, &cats, utils.Params2Map(model.FieldParentID, parentID), false)
|
||||
}
|
||||
|
||||
func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
|
||||
@@ -54,7 +54,7 @@ func UpdateCategory(categoryID int, payload map[string]interface{}, userName str
|
||||
cat := &model.SkuCategory{}
|
||||
cat.ID = categoryID
|
||||
valid := jxutils.NormalMakeMapByStructObject(payload, cat, userName)
|
||||
valid["JdSyncStatus"] = model.SyncFlagModifiedMask
|
||||
valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask
|
||||
db := dao.GetDB()
|
||||
if num, err = dao.UpdateEntityByKV(db, cat, valid, nil); err == nil {
|
||||
err = CurVendorSync.SyncCategory(categoryID, false, userName)
|
||||
@@ -68,7 +68,7 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
|
||||
parentCat.ID = parentID
|
||||
db := dao.GetDB()
|
||||
if err = dao.GetEntity(db, parentCat); err == nil {
|
||||
if err = dao.GetEntities(db, &cats, utils.Params2Map("ParentID", parentID), false); err == nil {
|
||||
if err = dao.GetEntities(db, &cats, utils.Params2Map(model.FieldParentID, parentID), false); err == nil {
|
||||
catsLen := len(cats)
|
||||
if catsLen != len(categoryIDs) {
|
||||
return ErrInputCatsDoesntMatch
|
||||
@@ -95,5 +95,30 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
|
||||
func DeleteCategory(categoryID int, isForce bool, userName string) (num int64, err error) {
|
||||
cat := &model.SkuCategory{}
|
||||
cat.ID = categoryID
|
||||
return dao.DeleteEntity(nil, cat, nil, userName)
|
||||
var countInfos []*struct{ Ct int }
|
||||
if err = dao.GetRows(nil, &countInfos, `
|
||||
SELECT COUNT(*) ct
|
||||
FROM sku t1
|
||||
WHERE t1.category_id = ?
|
||||
UNION ALL
|
||||
SELECT COUNT(*) ct
|
||||
FROM sku_name t1
|
||||
WHERE t1.category_id = ?
|
||||
UNION ALL
|
||||
SELECT COUNT(*) ct
|
||||
FROM sku_category t1
|
||||
WHERE t1.parent_id = ?
|
||||
`, categoryID, categoryID, categoryID, &countInfos); err == nil {
|
||||
if countInfos[0].Ct != 0 {
|
||||
return 0, errors.New("还有商品使用此类别,不能删除")
|
||||
} else if countInfos[1].Ct != 0 {
|
||||
return 0, errors.New("还有商品名使用此类别,不能删除")
|
||||
} else if countInfos[2].Ct != 0 {
|
||||
return 0, errors.New("还有商品类别使用此类别,不能删除")
|
||||
}
|
||||
if num, err = dao.DeleteEntity(nil, cat, nil, userName, utils.Params2Map(model.FieldJdSyncStatus, model.SyncFlagDeletedMask)); err == nil && num == 1 {
|
||||
err = CurVendorSync.SyncCategory(cat.ID, false, userName)
|
||||
}
|
||||
}
|
||||
return num, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user