report_share.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package controllers
  2. import (
  3. "hongze/hongze_api/models"
  4. "html"
  5. )
  6. //报告分享
  7. type ReportShareController struct {
  8. BaseCommonController
  9. }
  10. // @Title 日评详情
  11. // @Description 日评详情接口
  12. // @Param ReportId query int true "报告id"
  13. // @Success 200 {object} models.ReportDetailResp
  14. // @router /share/detail [get]
  15. func (this *ReportShareController) Detail() {
  16. br := new(models.BaseResponse).Init()
  17. defer func() {
  18. this.Data["json"] = br
  19. this.ServeJSON()
  20. }()
  21. var status int
  22. var msg string
  23. reportId, err := this.GetInt("ReportId")
  24. if err != nil {
  25. br.Msg = "参数获取失败"
  26. br.ErrMsg = "参数获取失败,Err:" + err.Error()
  27. return
  28. }
  29. if reportId <= 0 {
  30. br.Msg = "参数错误"
  31. br.ErrMsg = "参数错误,报告id小于等于0"
  32. return
  33. }
  34. report, err := models.GetReportById(reportId)
  35. if err != nil {
  36. br.Msg = "获取报告详情失败"
  37. br.ErrMsg = "获取报告详情失败,Err:" + err.Error()
  38. return
  39. }
  40. if report == nil {
  41. status = 1
  42. msg = "报告不存在"
  43. }
  44. report.ContentSub = html.UnescapeString(report.ContentSub)
  45. report.Content = html.UnescapeString(report.Content)
  46. resp := new(models.ReportDetailResp)
  47. resp.Status = status
  48. resp.Msg = msg
  49. resp.Report = report
  50. recommendList, err := models.GetRecommendList(reportId)
  51. if err != nil {
  52. br.Msg = "获取报告详情失败"
  53. br.ErrMsg = "获取报告推荐列表信息失败,Err:" + err.Error()
  54. return
  55. }
  56. recommendListLen := len(recommendList)
  57. for i := 0; i < recommendListLen; i++ {
  58. item := recommendList[i]
  59. recommendList[i].Content = html.UnescapeString(item.Content)
  60. recommendList[i].ContentSub = html.UnescapeString(item.ContentSub)
  61. }
  62. resp.RecommendList = recommendList
  63. br.Ret = 200
  64. br.Success = true
  65. br.Msg = "获取成功"
  66. br.Data = resp
  67. }