pc.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package pc
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "hongze/hongze_yb/controller/response"
  5. models "hongze/hongze_yb/models/response/pc"
  6. "hongze/hongze_yb/models/tables/rddp/banner"
  7. "hongze/hongze_yb/models/tables/rddp/classify"
  8. "hongze/hongze_yb/models/tables/rddp/report"
  9. "hongze/hongze_yb/services/pc"
  10. userService "hongze/hongze_yb/services/user"
  11. "strconv"
  12. )
  13. // LatestNews 研报首页最新资讯
  14. func LatestNews(c *gin.Context) {
  15. banner,err := banner.GetHomeBannerList()
  16. if err != nil {
  17. response.Fail(err.Error(), c)
  18. return
  19. }
  20. response.OkData("查询成功", banner, c )
  21. return
  22. }
  23. // Banner 首页banner图
  24. func Banner(c *gin.Context) {
  25. banner,err := banner.GetHomeBannerList()
  26. if err != nil {
  27. response.Fail(err.Error(), c)
  28. return
  29. }
  30. response.OkData("查询成功", banner, c )
  31. return
  32. }
  33. // LatestRelease 上新公告
  34. func LatestRelease(c *gin.Context) {
  35. classifyIdString := c.DefaultQuery("ClassifyId","")
  36. if classifyIdString == "" {
  37. response.Fail("请输入classifyId", c)
  38. return
  39. }
  40. classifyId, err := strconv.Atoi(classifyIdString)
  41. if err != nil {
  42. response.Fail("请输入正确classifyId", c)
  43. return
  44. }
  45. classifyInfo, err := classify.GetByClassifyId(classifyId)
  46. if err != nil {
  47. response.Fail("分类查询出错", c)
  48. return
  49. }
  50. response.OkData("查询成功", classifyInfo, c )
  51. return
  52. }
  53. // ClassifyDetail 专栏详情
  54. func ClassifyDetail(c *gin.Context) {
  55. reqClassifyIdSecond := c.DefaultQuery("classify_id_second", "")
  56. if reqClassifyIdSecond == "" {
  57. response.Fail("请输入二级分类标识", c)
  58. return
  59. }
  60. classifyIdSecond, err := strconv.Atoi(reqClassifyIdSecond)
  61. if err != nil {
  62. response.Fail("请输入正确的二级分类标识", c)
  63. return
  64. }
  65. userinfo := userService.GetInfoByClaims(c)
  66. detail, err := pc.GetClassifyDetail(userinfo, classifyIdSecond)
  67. if err != nil {
  68. response.Fail(err.Error(), c)
  69. return
  70. }
  71. response.OkData("查询成功", detail, c )
  72. return
  73. }
  74. // ClassifyDetailBanner 专栏详情banner图
  75. func ClassifyDetailBanner(c *gin.Context) {
  76. reqReportId := c.DefaultQuery("reportId", "")
  77. if reqReportId == "" {
  78. response.Fail("请输入二级分类标识", c)
  79. return
  80. }
  81. reportId, err := strconv.Atoi(reqReportId)
  82. if err != nil {
  83. response.Fail("报告ID格式有误", c)
  84. return
  85. }
  86. reportInfo, err := report.GetByReportId(reportId)
  87. if err != nil {
  88. response.Fail("报告查询出错", c)
  89. return
  90. }
  91. if reportInfo.Id == 0 {
  92. response.Fail("报告不存在", c)
  93. return
  94. }
  95. if reportInfo.State != 2 {
  96. response.Fail("报告未发布", c)
  97. return
  98. }
  99. classifyInfo, err := classify.GetByClassifyId(reportInfo.ClassifyIdSecond)
  100. if err != nil {
  101. response.Fail("分类查询出错", c)
  102. return
  103. }
  104. response.OkData("查询成功", classifyInfo, c )
  105. return
  106. }
  107. // Recommend 专栏详情页更多推荐
  108. func Recommend(c *gin.Context) {
  109. reqReportId := c.DefaultQuery("reportId", "")
  110. if reqReportId == "" {
  111. response.Fail("请输入二级分类标识", c)
  112. return
  113. }
  114. reportId, err := strconv.Atoi(reqReportId)
  115. if err != nil {
  116. response.Fail("报告ID格式有误", c)
  117. return
  118. }
  119. reportInfo, err := report.GetByReportId(reportId)
  120. if err != nil {
  121. response.Fail("报告查询出错", c)
  122. return
  123. }
  124. if reportInfo.Id == 0 {
  125. response.Fail("报告不存在", c)
  126. return
  127. }
  128. if reportInfo.State != 2 {
  129. response.Fail("报告未发布", c)
  130. return
  131. }
  132. reportType := 0
  133. if reportInfo.ClassifyNameFirst == "权益研报" {
  134. reportType = 1
  135. } else {
  136. reportType = 2
  137. }
  138. recommendList, err := models.GetRecommendList(reportId, reportType)
  139. if err != nil {
  140. response.Fail("获取报告详情失败"+err.Error(), c)
  141. return
  142. }
  143. response.OkData("查询成功", recommendList, c )
  144. return
  145. }