analyst_controller.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package user
  2. import (
  3. "eta_mini_ht_api/common/exception"
  4. "eta_mini_ht_api/common/utils/page"
  5. "eta_mini_ht_api/controllers"
  6. "eta_mini_ht_api/service/analyst"
  7. "eta_mini_ht_api/service/media"
  8. "eta_mini_ht_api/service/report"
  9. "eta_mini_ht_api/service/user"
  10. "fmt"
  11. )
  12. type AnalystController struct {
  13. controllers.ListController
  14. }
  15. // AnalystList 研究员列表
  16. // @Summary 研究员列表
  17. // @Description 研究员列表
  18. // @Success 200 {object} controllers.BaseResponse
  19. // @router /list [get]
  20. func (an *AnalystController) AnalystList() {
  21. controllers.Wrap(&an.BaseController, func() (result *controllers.WrapData, err error) {
  22. result = an.InitWrapData("获取研究员列表失败")
  23. var userInfo user.User
  24. userInfo = an.Data["user"].(user.User)
  25. pageRes := page.Page{
  26. Current: an.PageInfo.Current,
  27. PageSize: an.PageInfo.PageSize,
  28. }
  29. pageRes.Total = analyst.GetAnalystCount()
  30. an.PageInfo.Total = pageRes.Total
  31. pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
  32. list, err := analyst.GetAnalystList(pageRes, userInfo.Id)
  33. if err != nil {
  34. an.FailedResult("获取研究员列表失败", result)
  35. return
  36. }
  37. analystList := new(page.PageResult)
  38. analystList.Data = list
  39. analystList.Page = pageRes
  40. an.SuccessResult("获取研究员列表成功", analystList, result)
  41. return
  42. })
  43. }
  44. // AnalystDetail 研究员详情
  45. // @Summary 研究员详情
  46. // @Description 研究员详情
  47. // @Success 200 {object} controllers.BaseResponse
  48. // @router /analystDetail [get]
  49. func (an *AnalystController) AnalystDetail(analystId int) {
  50. controllers.Wrap(&an.BaseController, func() (result *controllers.WrapData, err error) {
  51. result = an.InitWrapData("获取研究员详情失败")
  52. fmt.Println(analystId)
  53. userInfo := an.Data["user"].(user.User)
  54. detail, err := user.GetAnalystDetail(userInfo.Id, analystId)
  55. if err != nil {
  56. an.FailedResult("获取研究员详情失败", result)
  57. return
  58. }
  59. an.SuccessResult("获取研究员详情成功", detail, result)
  60. return
  61. })
  62. }
  63. // AnalystReportList @Title 获取研究员报告列表
  64. // @Description 获取研究员报告列表
  65. // @Success 200 {object}
  66. // @router /reportList [get]
  67. func (an *AnalystController) AnalystReportList(analystName string) {
  68. controllers.Wrap(&an.BaseController, func() (result *controllers.WrapData, err error) {
  69. result = an.InitWrapData("分页获取研究员报告列表失败")
  70. pageRes := page.Page{
  71. Current: an.PageInfo.Current,
  72. PageSize: an.PageInfo.PageSize,
  73. }
  74. if an.PageInfo.LatestId == 0 {
  75. pageRes.Total, pageRes.LatestId = report.GetTotalPageCountByAnalyst(analystName)
  76. an.PageInfo.LatestId = pageRes.LatestId
  77. } else {
  78. pageRes.LatestId = an.PageInfo.LatestId
  79. pageRes.Total = an.PageInfo.Total
  80. }
  81. pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
  82. list, err := report.GetReportPageByAnalyst(an.PageInfo, analystName)
  83. if err != nil {
  84. an.FailedResult("分页获取研究员报告列表失败", result)
  85. return
  86. }
  87. reports := new(page.PageResult)
  88. reports.Data = list
  89. reports.Page = pageRes
  90. an.SuccessResult("分页获取研究员报告列表成功", reports, result)
  91. return
  92. })
  93. }
  94. // MediaList 获取研究员媒体列表
  95. // @Description 获取研究员媒体列表
  96. // @Success 200 {object}
  97. // @router /mediaList [get]
  98. func (an *AnalystController) MediaList(mediaType string, analystId int) {
  99. controllers.Wrap(&an.BaseController, func() (result *controllers.WrapData, err error) {
  100. result = an.InitWrapData("分页查询研究员媒体列表失败")
  101. if mediaType == "" || !an.CheckMediaType(mediaType) {
  102. err = exception.New(exception.MediaTypeError)
  103. an.FailedResult("分页查询研究员媒体列表失败", result)
  104. return
  105. }
  106. pageRes := page.Page{
  107. Current: an.PageInfo.Current,
  108. PageSize: an.PageInfo.PageSize,
  109. }
  110. if an.PageInfo.LatestId == 0 {
  111. pageRes.Total, pageRes.LatestId = media.GetTotalPageCountByAnalystId(mediaType, analystId)
  112. an.PageInfo.LatestId = pageRes.LatestId
  113. an.PageInfo.Total = pageRes.Total
  114. } else {
  115. pageRes.LatestId = an.PageInfo.LatestId
  116. pageRes.Total = an.PageInfo.Total
  117. }
  118. pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
  119. list, err := media.GetMediaPageByAnalystId(mediaType, an.PageInfo, analystId)
  120. if err != nil {
  121. an.FailedResult("分页查询研究员媒体列表失败", result)
  122. return
  123. }
  124. mediaList := new(page.PageResult)
  125. mediaList.Data = list
  126. mediaList.Page = pageRes
  127. an.SuccessResult("分页查询研究员媒体列表成功", mediaList, result)
  128. return
  129. })
  130. }