tactics.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package controllers
  2. import (
  3. "hongze/hongze_cygx/models"
  4. "hongze/hongze_cygx/services"
  5. "hongze/hongze_cygx/utils"
  6. "html"
  7. "rdluck_tools/paging"
  8. "strconv"
  9. "strings"
  10. )
  11. //策略
  12. type TacticsController struct {
  13. BaseAuthController
  14. }
  15. type TacticsCommonController struct {
  16. BaseCommonController
  17. }
  18. // @Title 策略列表接口
  19. // @Description 获取策略列表接口
  20. // @Param PageSize query int true "每页数据条数"
  21. // @Param CurrentIndex query int true "当前页页码,从1开始"
  22. // @Param CategoryId query int true "分类ID"
  23. // @Success 200 {object} models.TacticsListResp
  24. // @router /list [get]
  25. func (this *TacticsController) List() {
  26. br := new(models.BaseResponse).Init()
  27. defer func() {
  28. this.Data["json"] = br
  29. this.ServeJSON()
  30. }()
  31. pageSize, _ := this.GetInt("PageSize")
  32. currentIndex, _ := this.GetInt("CurrentIndex")
  33. categoryId, _ := this.GetInt("CategoryId")
  34. var startSize int
  35. if pageSize <= 0 {
  36. pageSize = utils.PageSize20
  37. }
  38. if currentIndex <= 0 {
  39. currentIndex = 1
  40. }
  41. startSize = paging.StartIndex(currentIndex, pageSize)
  42. var condition string
  43. var listTacticsSrt string
  44. var pars []interface{}
  45. var total int
  46. resp := new(models.TacticsListResp)
  47. page := paging.GetPaging(currentIndex, pageSize, total)
  48. if categoryId < 1 {
  49. listTactics, err := models.GetReportMappingStrategyAll()
  50. if err != nil && err.Error() != utils.ErrNoRow() {
  51. br.Msg = "获取信息失败"
  52. br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error()
  53. return
  54. }
  55. for _, v := range listTactics {
  56. listTacticsSrt = listTacticsSrt + strconv.Itoa(v.CategoryId) + `,`
  57. }
  58. listTacticsSrt = strings.TrimRight(listTacticsSrt, ",")
  59. condition = ` AND category_id IN(` + listTacticsSrt + `)`
  60. } else {
  61. condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`
  62. }
  63. total, err := models.GetHomeCount(condition, pars)
  64. if err != nil {
  65. br.Msg = "获取信息失败"
  66. br.Msg = "获取帖子总数失败,Err:" + err.Error()
  67. return
  68. }
  69. page = paging.GetPaging(currentIndex, pageSize, total)
  70. list, err := models.GetReportTacticsList(condition, pars, startSize, pageSize)
  71. if err != nil {
  72. br.Msg = "获取信息失败"
  73. br.Msg = "获取帖子数据失败,Err:" + err.Error()
  74. return
  75. }
  76. lenList := len(list)
  77. for i := 0; i < lenList; i++ {
  78. item := list[i]
  79. list[i].Body, _ = services.GetReportContentTextSub(item.Body)
  80. list[i].Abstract = html.UnescapeString(item.Abstract)
  81. }
  82. resp.List = list
  83. resp.Paging = page
  84. br.Ret = 200
  85. br.Success = true
  86. br.Msg = "获取成功"
  87. br.Data = resp
  88. }