删除分类(如果分类下的书籍不为0,则不允许删除)
(id int)
| 62 | |
| 63 | //删除分类(如果分类下的书籍不为0,则不允许删除) |
| 64 | func (this *Category) Del(id int) (err error) { |
| 65 | var cate = Category{Id: id} |
| 66 | |
| 67 | o := orm.NewOrm() |
| 68 | if err = o.Read(&cate); cate.Cnt > 0 { //当前分类下书籍数量不为0,不允许删除 |
| 69 | return errors.New("删除失败,当前分类下的问下书籍不为0,不允许删除") |
| 70 | } |
| 71 | |
| 72 | if _, err = o.Delete(&cate, "id"); err != nil { |
| 73 | return |
| 74 | } |
| 75 | _, err = o.QueryTable(tableCategory).Filter("pid", id).Delete() |
| 76 | if err != nil { //删除分类图标 |
| 77 | return |
| 78 | } |
| 79 | |
| 80 | switch utils.StoreType { |
| 81 | case utils.StoreOss: |
| 82 | store.ModelStoreOss.DelFromOss(cate.Icon) |
| 83 | case utils.StoreLocal: |
| 84 | store.ModelStoreLocal.DelFiles(cate.Icon) |
| 85 | } |
| 86 | return |
| 87 | } |
| 88 | |
| 89 | //查询所有分类 |
| 90 | //@param pid -1表示不限(即查询全部),否则表示查询指定pid的分类 |
no test coverage detected