menu.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package cms_service
  2. import (
  3. "gfast/app/model/admin/cms_category"
  4. "github.com/gogf/gf/frame/g"
  5. "github.com/gogf/gf/util/gconv"
  6. )
  7. //获取频道列表
  8. func GetMenuListChannel() (list []*cms_category.Entity, err error) {
  9. //获取频道列表
  10. listAll, err := GetMenuList()
  11. if err != nil {
  12. return
  13. }
  14. list = make([]*cms_category.Entity, 0, len(listAll))
  15. for _, v := range listAll {
  16. if v.Status == 1 && v.CateType == cms_category.ChannelCateType {
  17. list = append(list, v)
  18. }
  19. }
  20. return
  21. }
  22. //获取可发布文章栏目
  23. func GetPublishableMenuList(catId ...int) (list g.List, err error) {
  24. menuList, err := GetMenuList()
  25. var catIdMap map[int]int
  26. if len(catId) > 0 {
  27. catIdMap = make(map[int]int, len(catId))
  28. for _, v := range catId {
  29. catIdMap[v] = v
  30. }
  31. }
  32. if err != nil {
  33. return
  34. }
  35. list = make(g.List, 0)
  36. for _, menu := range menuList {
  37. if menu.Status == 1 {
  38. mapMenu := gconv.Map(menu)
  39. //可发布栏目
  40. if menu.CateType == cms_category.PublishCateType {
  41. mapMenu["checkAble"] = true
  42. } else {
  43. mapMenu["checkAble"] = false
  44. }
  45. if _, ok := catIdMap[gconv.Int(menu.Id)]; ok {
  46. mapMenu["checked"] = true
  47. } else {
  48. mapMenu["checked"] = false
  49. }
  50. list = append(list, mapMenu)
  51. }
  52. }
  53. return
  54. }
  55. //获取所有菜单列表
  56. func GetMenuList() (list []*cms_category.Entity, err error) {
  57. return cms_category.GetList()
  58. }
  59. //保存栏目操作
  60. func AddSave(req *cms_category.ReqAdd) (id int64, err error) {
  61. return cms_category.AddSave(req)
  62. }
  63. //修改栏目操作
  64. func EditSave(req *cms_category.ReqEdit) (id int64, err error) {
  65. return cms_category.EditSave(req)
  66. }
  67. //获取搜索栏目结果
  68. func GetMenuListSearch(req *cms_category.ReqSearchList) (menus []*cms_category.Entity, err error) {
  69. return cms_category.GetListSearch(req)
  70. }
  71. //根据栏目ID获取栏目信息
  72. func GetMenuInfoById(id int) (menu *cms_category.Entity, err error) {
  73. return cms_category.GetInfoById(id)
  74. }
  75. func DeleteMenuByIds(ids []int) (err error) {
  76. return cms_category.DeleteByIds(ids)
  77. }