plug_ad.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package admin
  2. import (
  3. "gfast/app/model/admin/plug_ad"
  4. "gfast/app/service/admin/plug_service"
  5. "gfast/library/response"
  6. "github.com/gogf/gf/util/gconv"
  7. "github.com/gogf/gf/util/gvalid"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/net/ghttp"
  10. )
  11. type PlugAd struct{}
  12. // @Summary 添加广告
  13. // @Description 添加广告
  14. // @Tags 广告列表
  15. // @Param data body plug_ad.AddReq true "data"
  16. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  17. // @Router /system/plug/ad/info/add [post]
  18. // @Security
  19. func (c *PlugAd) Add(r *ghttp.Request) {
  20. if r.Method == "POST" {
  21. var req *plug_ad.AddReq
  22. // 通过Parse方法解析获取参数
  23. err := r.Parse(&req)
  24. if err != nil {
  25. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  26. }
  27. // 调用service中的添加函数添加广告
  28. err = plug_service.AddSaveAd(req)
  29. if err != nil {
  30. response.FailJson(true, r, err.Error())
  31. }
  32. response.SusJson(true, r, "添加成功!")
  33. }
  34. }
  35. // @Summary 删除广告
  36. // @Description 删除广告
  37. // @Tags 广告列表
  38. // @Param data body integer true "ids"
  39. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  40. // @Router /system/plug/ad/info/delete [delete]
  41. // @Security
  42. func (c *PlugAd) Delete(r *ghttp.Request) {
  43. ids := r.GetInts("plugAdID")
  44. if len(ids) == 0 {
  45. response.FailJson(true, r, "ID获取失败,删除失败")
  46. }
  47. err := plug_service.DeleteByIDs(ids)
  48. if err != nil {
  49. response.FailJson(true, r, err.Error())
  50. }
  51. response.SusJson(true, r, "删除成功")
  52. }
  53. // @Summary 修改广告
  54. // @Description 修改广告
  55. // @Tags 广告列表
  56. // @Param data body plug_ad.EditReq true "data"
  57. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  58. // @Router /system/plug/ad/info/edit [post]
  59. // @Security
  60. func (c *PlugAd) Edit(r *ghttp.Request) {
  61. // 如果是post提交的请求就执行修改操作
  62. if r.Method == "POST" {
  63. var editReq *plug_ad.EditReq
  64. // 通过Parse方法解析获取参数
  65. err := r.Parse(&editReq)
  66. if err != nil {
  67. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  68. }
  69. err = plug_service.EditPlugAdSave(editReq)
  70. if err != nil {
  71. response.FailJson(true, r, err.Error())
  72. }
  73. response.SusJson(true, r, "修改参数成功")
  74. }
  75. // 不是post提交的请求就到修改页面后查询出要修改的记录
  76. id := r.GetInt("plugAdID")
  77. params, err := plug_service.GetPlugAdByID(int64(id))
  78. if err != nil {
  79. response.FailJson(true, r, err.Error())
  80. }
  81. response.SusJson(true, r, "ok", params)
  82. }
  83. // @Summary 广告列表
  84. // @Description 广告列表
  85. // @Tags 广告列表
  86. // @Param data body plug_ad.SelectPageReq true "data"
  87. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  88. // @Router /system/plug/ad/info/list [get]
  89. // @Security
  90. func (c *PlugAd) List(r *ghttp.Request) {
  91. // 定义一个结构体存储请求参数
  92. var req *plug_ad.SelectPageReq
  93. // 获取参数
  94. err := r.Parse(&req)
  95. if err != nil {
  96. response.FailJson(true, r, err.Error())
  97. }
  98. total, page, list, err := plug_service.SelectPlugAdListByPage(req)
  99. if err != nil {
  100. response.FailJson(true, r, err.Error())
  101. }
  102. result := g.Map{
  103. "currentPage": page,
  104. "total": total,
  105. "list": list,
  106. }
  107. response.SusJson(true, r, "广告列表", result)
  108. }
  109. // @Summary 栏目排序
  110. // @Description 栏目排序
  111. // @Tags 广告列表
  112. // @Param sorts body integer true "sorts[]"
  113. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  114. // @Router /system/plug/ad/info/sort [post]
  115. // @Security
  116. func (c *PlugAd) Sort(r *ghttp.Request) {
  117. sorts := r.Get("sorts")
  118. s := gconv.Map(sorts)
  119. if s == nil {
  120. response.FailJson(true, r, "获取记录id、序号失败")
  121. }
  122. var err error
  123. for k, v := range s {
  124. _, err = plug_ad.Model.Where("ad_id=?", k).Data("ad_sort", v).Update()
  125. if err != nil {
  126. response.FailJson(true, r, err.Error())
  127. }
  128. }
  129. response.SusJson(true, r, "排序成功")
  130. }