cms_news.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package admin
  2. import (
  3. "gfast/app/model/admin/cms_news"
  4. "gfast/app/service/admin/cms_service"
  5. "gfast/app/service/admin/user_service"
  6. "gfast/library/response"
  7. "gfast/library/utils"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/net/ghttp"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. type CmsNews struct{}
  13. //信息列表
  14. func (c *CmsNews) List(r *ghttp.Request) {
  15. var req *cms_news.ReqListSearchParams
  16. //获取参数
  17. if err := r.Parse(&req); err != nil {
  18. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  19. }
  20. total, page, list, err := cms_service.NewsListByPage(req)
  21. if err != nil {
  22. response.FailJson(true, r, err.Error())
  23. }
  24. //获取可选栏目
  25. menus, err := cms_service.GetPublishableMenuList(req.CateId...)
  26. if err != nil {
  27. response.FailJson(true, r, err.Error())
  28. }
  29. menus = utils.PushSonToParent(menus, 0, "parent_id")
  30. result := g.Map{
  31. "currentPage": page,
  32. "total": total,
  33. "list": list,
  34. "menus": menus,
  35. }
  36. response.SusJson(true, r, "信息列表", result)
  37. }
  38. //添加信息
  39. func (c *CmsNews) Add(r *ghttp.Request) {
  40. if r.Method == "POST" {
  41. var req *cms_news.ReqAddParams
  42. //获取参数
  43. if err := r.Parse(&req); err != nil {
  44. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  45. }
  46. cateIds := r.GetInts("cateIds")
  47. userId := user_service.GetLoginID(r)
  48. _, err := cms_service.AddNews(req, cateIds, userId)
  49. if err != nil {
  50. response.FailJson(true, r, err.Error())
  51. }
  52. response.SusJson(true, r, "添加信息成功")
  53. }
  54. //获取可选栏目
  55. menus, err := cms_service.GetPublishableMenuList()
  56. if err != nil {
  57. response.FailJson(true, r, err.Error())
  58. }
  59. menus = utils.PushSonToParent(menus, 0, "parent_id")
  60. res := g.Map{
  61. "menus": menus,
  62. }
  63. response.SusJson(true, r, "添加信息", res)
  64. }
  65. //修改信息
  66. func (c *CmsNews) Edit(r *ghttp.Request) {
  67. if r.Method == "POST" {
  68. var req *cms_news.ReqEditParams
  69. //获取参数
  70. if err := r.Parse(&req); err != nil {
  71. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  72. }
  73. cateIds := r.GetInts("cateIds")
  74. err := cms_service.EditNews(req, cateIds)
  75. if err != nil {
  76. response.FailJson(true, r, err.Error())
  77. }
  78. response.SusJson(true, r, "修改信息成功")
  79. }
  80. id := r.GetInt("id")
  81. if id == 0 {
  82. response.FailJson(true, r, "参数错误")
  83. }
  84. //获取文章信息
  85. news, err := cms_service.GetNewsById(id)
  86. if err != nil {
  87. response.FailJson(true, r, err.Error())
  88. }
  89. checkedCategoryId, err := cms_service.GetCheckedCategoryIdByNewsId(news.Id)
  90. if err != nil {
  91. response.FailJson(true, r, err.Error())
  92. }
  93. //获取可选栏目
  94. menus, err := cms_service.GetPublishableMenuList(checkedCategoryId...)
  95. if err != nil {
  96. response.FailJson(true, r, err.Error())
  97. }
  98. menus = utils.PushSonToParent(menus, 0, "parent_id")
  99. res := g.Map{
  100. "menus": menus,
  101. "news": news,
  102. }
  103. response.SusJson(true, r, "添加信息", res)
  104. }
  105. //删除信息
  106. func (c *CmsNews) Delete(r *ghttp.Request) {
  107. ids := r.GetInts("ids")
  108. if len(ids) == 0 {
  109. response.FailJson(true, r, "删除失败")
  110. }
  111. err := cms_service.DeleteCmsByIds(ids)
  112. if err != nil {
  113. response.FailJson(true, r, "删除失败")
  114. }
  115. response.SusJson(true, r, "删除信息成功")
  116. }