report.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package models
  2. import (
  3. "rdluck_tools/orm"
  4. "time"
  5. )
  6. type Report struct {
  7. Id int `description:"报告Id"`
  8. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  9. ClassifyIdFirst int `description:"一级分类id"`
  10. ClassifyNameFirst string `description:"一级分类名称"`
  11. ClassifyIdSecond int `description:"二级分类id"`
  12. ClassifyNameSecond string `description:"二级分类名称"`
  13. Title string `description:"标题"`
  14. Abstract string `description:"摘要"`
  15. Author string `description:"作者"`
  16. Frequency string `description:"频度"`
  17. CreateTime string `description:"创建时间"`
  18. ModifyTime time.Time `description:"修改时间"`
  19. State int `description:"1:未发布,2:已发布"`
  20. PublishTime string `description:"发布时间"`
  21. Stage int `description:"期数"`
  22. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  23. Content string `description:"内容"`
  24. VideoUrl string `description:"音频文件URL"`
  25. VideoName string `description:"音频文件名称"`
  26. VideoPlaySeconds string `description:"音频播放时长"`
  27. ContentSub string `description:"内容前两个章节"`
  28. IsShowNewLabel int `description:"是否显示新标签"`
  29. IsCurrentDate int `description:"是否当前日期"`
  30. }
  31. type ReportList struct {
  32. Id int `description:"报告Id"`
  33. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  34. ClassifyIdFirst int `description:"一级分类id"`
  35. ClassifyNameFirst string `description:"一级分类名称"`
  36. ClassifyIdSecond int `description:"二级分类id"`
  37. ClassifyNameSecond string `description:"二级分类名称"`
  38. Title string `description:"标题"`
  39. Abstract string `description:"摘要"`
  40. Author string `description:"作者"`
  41. Frequency string `description:"频度"`
  42. CreateTime string `description:"创建时间"`
  43. ModifyTime time.Time `description:"修改时间"`
  44. State int `description:"1:未发布,2:已发布"`
  45. PublishTime string `description:"发布时间"`
  46. Stage int `description:"期数"`
  47. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  48. Content string `description:"内容"`
  49. VideoUrl string `description:"音频文件URL"`
  50. VideoName string `description:"音频文件名称"`
  51. VideoPlaySeconds string `description:"音频播放时长"`
  52. ContentSub string `description:"内容前两个章节"`
  53. HasPermission int `description:"是否拥有报告权限,1:拥有,0:没有"`
  54. }
  55. type ReportListResp struct {
  56. List []*ReportList
  57. Paging *PagingItem `description:"分页数据"`
  58. }
  59. func GetReportListCount(classifyId int) (count int, err error) {
  60. o := orm.NewOrm()
  61. o.Using("rddp")
  62. sql := ` SELECT COUNT(1) AS count FROM report WHERE 1=1 AND state=2 AND classify_id_second=? `
  63. err = o.Raw(sql, classifyId).QueryRow(&count)
  64. return
  65. }
  66. func GetReportList(classifyId, startSize, pageSize int) (items []*ReportList, err error) {
  67. o := orm.NewOrm()
  68. o.Using("rddp")
  69. sql := ` SELECT * FROM report WHERE state=2 AND classify_id_second=? ORDER BY publish_time DESC LIMIT ?,? `
  70. _, err = o.Raw(sql, classifyId, startSize, pageSize).QueryRows(&items)
  71. return
  72. }
  73. func GetReportPermission(userId int, classifyNameSecond string) (count int, err error) {
  74. o := orm.NewOrm()
  75. sql := ` SELECT COUNT(1) AS count
  76. FROM company_report_permission AS crp
  77. INNER JOIN chart_permission_chapter_mapping AS cpcm ON crp.chart_permission_id = cpcm.chart_permission_id
  78. INNER JOIN chart_permission_search_key_word_mapping AS cskwm ON cskwm.chart_permission_id=crp.chart_permission_id
  79. INNER JOIN wx_user wu ON wu.company_id = crp.company_id
  80. WHERE wu.user_id = ?
  81. AND cpcm.research_type = 'rddp'
  82. AND cskwm.from='rddp'
  83. AND cskwm.key_word=? `
  84. err = o.Raw(sql, userId, classifyNameSecond).QueryRow(&count)
  85. return
  86. }
  87. func GetReportById(reportId int) (item *Report, err error) {
  88. o := orm.NewOrm()
  89. o.Using("rddp")
  90. sql := `SELECT * FROM report WHERE id=?`
  91. err = o.Raw(sql, reportId).QueryRow(&item)
  92. return
  93. }
  94. type ReportVarietyList struct {
  95. ReportChapterTypeId int
  96. }
  97. func GetReportVarietyListByUserIdExt(userId int, reportType string) (list []*ReportVarietyList, err error) {
  98. o := orm.NewOrm()
  99. sql := `SELECT cpcm.report_chapter_type_id
  100. FROM company_report_permission crp
  101. INNER JOIN chart_permission_chapter_mapping cpcm ON crp.chart_permission_id = cpcm.chart_permission_id
  102. INNER JOIN wx_user wu ON wu.company_id = crp.company_id
  103. WHERE wu.user_id = ?
  104. AND cpcm.research_type = ?
  105. GROUP BY cpcm.report_chapter_type_id`
  106. _, err = o.Raw(sql, userId, reportType).QueryRows(&list)
  107. return
  108. }
  109. type ReportDetailResp struct {
  110. Report *Report `description:"报告"`
  111. Status int `description:"状态:0:正常展示,1:报告不存在,2:无权限"`
  112. Msg string `description:"提示信息"`
  113. }