news.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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. // QueryNewContentsReq 获取资讯内容请求参数
  41. type QueryNewContentsReq struct {
  42. IDS string `form:"ids"` // 资讯ID列表,格式 1,2,3
  43. }
  44. // QueryNewContents 获取资讯内容
  45. // @Summary 获取资讯内容
  46. // @Produce json
  47. // @Param ids query string false "资讯ID列表,格式 1,2,3"
  48. // @Success 200 {object} models.QueryNewContentsRsp
  49. // @Failure 500 {object} app.Response
  50. // @Router /Common/QueryNewContents [get]
  51. // @Tags 通用服务
  52. func QueryNewContents(c *gin.Context) {
  53. appG := app.Gin{C: c}
  54. // 获取请求参数
  55. var req QueryNewContentsReq
  56. if err := appG.C.ShouldBindQuery(&req); err != nil {
  57. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  58. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  59. return
  60. }
  61. ids := make([]string, 0)
  62. if req.IDS != "" {
  63. ids = strings.Split(req.IDS, ",")
  64. }
  65. rsp, err := models.GetNewContents(ids)
  66. if err != nil {
  67. // 查询失败
  68. logger.GetLogger().Errorf("QueryErrorInfos failed: %s", err.Error())
  69. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  70. return
  71. }
  72. // 查询成功
  73. appG.Response(http.StatusOK, e.SUCCESS, rsp)
  74. }
  75. type GetJ10NewsReq struct {
  76. Limit int `form:"limit"` // 获取最新limit条内容
  77. }
  78. // GetJ10News 获取金10资讯内容
  79. // @Summary 获取金10资讯内容
  80. // @Produce json
  81. // @Param limit query int false "获取最新limit条内容"
  82. // @Success 200 {array} models.GetJ10NewsRsp
  83. // @Failure 500 {object} app.Response
  84. // @Router /Common/GetJ10News [get]
  85. // @Tags 通用服务
  86. func GetJ10News(c *gin.Context) {
  87. appG := app.Gin{C: c}
  88. // 获取请求参数
  89. var req GetJ10NewsReq
  90. if err := appG.C.ShouldBindQuery(&req); err != nil {
  91. logger.GetLogger().Errorf("GetJ10News failed: %s", err.Error())
  92. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  93. return
  94. }
  95. rsp, err := models.GetJ10News(req.Limit)
  96. if err != nil {
  97. // 查询失败
  98. logger.GetLogger().Errorf("GetJ10News 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. }