news.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package common
  2. import (
  3. "mtp2_if/global/app"
  4. "mtp2_if/global/e"
  5. "mtp2_if/logger"
  6. "mtp2_if/models"
  7. "net/http"
  8. "strings"
  9. "github.com/gin-gonic/gin"
  10. )
  11. // QueryNewTitles 取资讯标题列表
  12. // @Summary 取资讯标题列表
  13. // @Produce json
  14. // @Param columnid query int false "所属栏目"
  15. // @Param page query int false "页码"
  16. // @Param pagesize query int false "每页条数"
  17. // @Success 200 {object} models.QueryNewTitlesRsp
  18. // @Failure 500 {object} app.Response
  19. // @Router /Common/QueryNewTitles [get]
  20. // @Tags 通用服务
  21. func QueryNewTitles(c *gin.Context) {
  22. appG := app.Gin{C: c}
  23. // 获取请求参数
  24. var req models.QueryNewTitlesReq
  25. if err := appG.C.ShouldBindQuery(&req); err != nil {
  26. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  27. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  28. return
  29. }
  30. rsp, totel, err := models.GetNewTitles(req)
  31. if err != nil {
  32. // 查询失败
  33. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  34. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  35. return
  36. }
  37. // 查询成功
  38. appG.ResponseByPage(http.StatusOK, e.SUCCESS, rsp, app.PageInfo{Page: req.Page, PageSize: req.PageSize, Total: int(totel)})
  39. }
  40. // QueryNewTitles2 取资讯标题列表
  41. // @Summary 取资讯标题列表
  42. // @description QueryNewTitles2 取资讯标题列表
  43. // @Produce json
  44. // @Param columnid query int false "所属栏目"
  45. // @Param page query int false "页码"
  46. // @Param pagesize query int false "每页条数"
  47. // @Success 200 {object} models.QueryNewTitles2Rsp
  48. // @Failure 500 {object} app.Response
  49. // @Router /Common/QueryNewTitles2 [get]
  50. // @Tags 通用服务
  51. func QueryNewTitles2(c *gin.Context) {
  52. appG := app.Gin{C: c}
  53. // 获取请求参数
  54. var req models.QueryNewTitlesReq
  55. if err := appG.C.ShouldBindQuery(&req); err != nil {
  56. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  57. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  58. return
  59. }
  60. rsp, totel, err := models.GetNewTitles2(req)
  61. if err != nil {
  62. // 查询失败
  63. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  64. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  65. return
  66. }
  67. // 查询成功
  68. appG.ResponseByPage(http.StatusOK, e.SUCCESS, rsp, app.PageInfo{Page: req.Page, PageSize: req.PageSize, Total: int(totel)})
  69. }
  70. // QueryNewContentsReq 获取资讯内容请求参数
  71. type QueryNewContentsReq struct {
  72. IDS string `form:"ids"` // 资讯ID列表,格式 1,2,3
  73. }
  74. // QueryNewContents 获取资讯内容
  75. // @Summary 获取资讯内容
  76. // @Produce json
  77. // @Param ids query string false "资讯ID列表,格式 1,2,3"
  78. // @Success 200 {object} models.QueryNewContentsRsp
  79. // @Failure 500 {object} app.Response
  80. // @Router /Common/QueryNewContents [get]
  81. // @Tags 通用服务
  82. func QueryNewContents(c *gin.Context) {
  83. appG := app.Gin{C: c}
  84. // 获取请求参数
  85. var req QueryNewContentsReq
  86. if err := appG.C.ShouldBindQuery(&req); err != nil {
  87. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  88. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  89. return
  90. }
  91. ids := make([]string, 0)
  92. if req.IDS != "" {
  93. ids = strings.Split(req.IDS, ",")
  94. }
  95. rsp, err := models.GetNewContents(ids)
  96. if err != nil {
  97. // 查询失败
  98. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  99. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  100. return
  101. }
  102. // 查询成功
  103. appG.Response(http.StatusOK, e.SUCCESS, rsp)
  104. }
  105. type GetJ10NewsReq struct {
  106. Limit int `form:"limit"` // 获取最新limit条内容
  107. }
  108. // GetJ10News 获取金10资讯内容
  109. // @Summary 获取金10资讯内容
  110. // @Produce json
  111. // @Param limit query int false "获取最新limit条内容"
  112. // @Success 200 {array} models.GetJ10NewsRsp
  113. // @Failure 500 {object} app.Response
  114. // @Router /Common/GetJ10News [get]
  115. // @Tags 通用服务
  116. func GetJ10News(c *gin.Context) {
  117. appG := app.Gin{C: c}
  118. // 获取请求参数
  119. var req GetJ10NewsReq
  120. if err := appG.C.ShouldBindQuery(&req); err != nil {
  121. logger.GetLogger().Errorf("GetJ10News failed: %s", err.Error())
  122. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  123. return
  124. }
  125. rsp, err := models.GetJ10News(req.Limit)
  126. if err != nil {
  127. // 查询失败
  128. logger.GetLogger().Errorf("GetJ10News failed: %s", err.Error())
  129. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  130. return
  131. }
  132. // 查询成功
  133. appG.Response(http.StatusOK, e.SUCCESS, rsp)
  134. }