report.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. package response
  2. import (
  3. "time"
  4. )
  5. type ReportDetail struct {
  6. ReportInfo *ReportItem `json:"report_info"`
  7. ReportChapterList []*ReportChapterListItem `json:"report_chapter_list"`
  8. PermissionCheck *PermissionCheckInfo `json:"permission_check"`
  9. AuthOk bool `json:"auth_ok"`
  10. LikeNum int64 `description:"点赞总数" json:"like_num"`
  11. LikeEnabled int8 `description:"是否已点赞: 0-未点赞 1-已点赞" json:"like_enabled"`
  12. ReportShowType int `description:"展示形式:1-列表 2-专栏" json:"report_show_type"`
  13. CollectionId int `description:"收藏ID: 大于0则表示已收藏" json:"collection_id"`
  14. RoadVideoId int `json:"road_video_id" description:"绑定的路演视频ID"`
  15. ReportDetailShowType int `description:"报告详情的展示类型:1-拼接;2:目录" json:"report_detail_show_type"`
  16. }
  17. type ReportChapterListItem struct {
  18. ReportChapterId int `json:"report_chapter_id"`
  19. ReportId int `json:"report_id"`
  20. Title string `json:"title"`
  21. TypeId int `json:"type_id"`
  22. TypeName string `json:"type_name"`
  23. Trend string `json:"trend"`
  24. ReportChapterTypeKey string `json:"report_chapter_type_key"`
  25. ReportChapterTypeThumb string `json:"report_chapter_type_thumb"`
  26. ReportChapterTypeName string `json:"report_chapter_type_name"`
  27. Sort int `json:"sort"`
  28. PublishTime time.Time `json:"publish_time"`
  29. IsClose int `gorm:"column:is_close;type:tinyint(1);default:0" json:"is_close"` //音频品种是否关闭
  30. Content string `description:"内容" json:"content"`
  31. VideoUrl string `json:"video_url" description:"音频文件URL"`
  32. VideoName string `json:"video_name" description:"音频文件名称"`
  33. VideoPlaySeconds string `json:"video_play_seconds" description:"音频播放时长"`
  34. VideoSize string `json:"video_size" description:"音频文件大小,单位M"`
  35. }
  36. type ReportItem struct {
  37. ReportId int `json:"report_id"`
  38. ClassifyNameFirst string `description:"一级分类名称" json:"classify_name_first"`
  39. ClassifyNameSecond string `description:"二级分类名称" json:"classify_name_second"`
  40. Title string `description:"标题" json:"title"`
  41. Abstract string `description:"摘要" json:"abstract"`
  42. Author string `description:"作者" json:"author"`
  43. Frequency string `description:"频度" json:"frequency"`
  44. PublishTime time.Time `description:"发布时间" json:"publish_time"`
  45. Stage int `description:"期数" json:"stage"`
  46. Content string `description:"内容" json:"content"`
  47. VideoUrl string `description:"音频文件URL" json:"video_url"`
  48. VideoName string `description:"音频文件名称" json:"video_name"`
  49. VideoSize string `description:"音频文件大小,单位M" json:"video_size"`
  50. VideoPlaySeconds string `description:"音频播放时长" json:"video_play_seconds"`
  51. VideoImg string `description:"音频播放条的图片" json:"video_img"`
  52. ContentSub string `description:"内容前两个章节" json:"content_sub"`
  53. BannerUrl string `description:"详情页banner" json:"banner_url"`
  54. ShareBgImg string `description:"分享背景图" json:"share_bg_img"`
  55. HasChapter int `description:"是否有章节" json:"has_chapter"`
  56. ReportLayout int8 `description:"报告布局,1:常规布局,2:智能布局。默认:1" json:"report_layout"`
  57. HeadImg string `description:"报告头图地址" json:"head_img"`
  58. EndImg string `description:"报告尾图地址" json:"end_img"`
  59. CanvasColor string `description:"画布颜色" json:"canvas_color"`
  60. HeadStyle string `description:"版头样式" json:"head_style"`
  61. EndStyle string `description:"版尾样式" json:"end_style"`
  62. }
  63. type ReportChapterItem struct {
  64. ReportChapterId int `json:"report_chapter_id"`
  65. ReportId int `json:"report_id"`
  66. Title string `json:"title"`
  67. Abstract string `json:"abstract"`
  68. TypeId int `json:"type_id"`
  69. TypeName string `json:"type_name"`
  70. Trend string `json:"trend"`
  71. ReportChapterTypeName string `json:"report_chapter_type_name"`
  72. PublishTime time.Time `json:"publish_time"`
  73. Content string `description:"内容" json:"content"`
  74. ContentSub string `description:"内容前两个章节" json:"content_sub"`
  75. VideoUrl string `json:"video_url"` //音频文件URL
  76. VideoName string `json:"video_name"` //音频文件名称
  77. VideoPlaySeconds string `json:"video_play_seconds"` //音频播放时长
  78. VideoSize string `json:"video_size"`
  79. VideoImg string `description:"音频播放条的图片" json:"video_img"`
  80. Author string `description:"作者" json:"author"`
  81. Stage int `description:"期数" json:"stage"`
  82. ClassifyIdFirst int `description:"一级分类id" json:"classify_id_first"`
  83. ClassifyNameFirst string `description:"一级分类名称" json:"classify_name_first"`
  84. ShareBgImg string `description:"分享背景图" json:"share_bg_img"`
  85. ReportLayout int8 `description:"报告布局,1:常规布局,2:智能布局。默认:1" json:"report_layout"`
  86. HeadImg string `description:"报告头图地址" json:"head_img"`
  87. EndImg string `description:"报告尾图地址" json:"end_img"`
  88. CanvasColor string `description:"画布颜色" json:"canvas_color"`
  89. HeadStyle string `description:"版头样式" json:"head_style"`
  90. EndStyle string `description:"版尾样式" json:"end_style"`
  91. ReportVideoUrl string `description:"报告音频" json:"report_video_url"`
  92. }
  93. type ReportChapterDetail struct {
  94. ReportChapterItem *ReportChapterItem `json:"report_chapter_item"`
  95. PermissionCheck *PermissionCheckInfo `json:"permission_check"`
  96. ReportChapterMenuList []*ReportChapterMenu `json:"report_chapter_menu_list"`
  97. AuthOk bool `json:"auth_ok"`
  98. LikeNum int64 `description:"点赞总数" json:"like_num"`
  99. LikeEnabled int8 `description:"是否已点赞: 0-未点赞 1-已点赞" json:"like_enabled"`
  100. CollectionId int `description:"收藏ID: 大于0则表示已收藏" json:"collection_id"`
  101. }
  102. type ReportChapterMenu struct {
  103. ReportChapterId int `json:"report_chapter_id"`
  104. ReportId int `json:"report_id"`
  105. ReportChapterTypeName string `json:"report_chapter_type_name"`
  106. ReportChapterTypeThumb string `json:"report_chapter_type_thumb"`
  107. PcSelectedThumb string `json:"pc_selected_thumb"`
  108. PcUnselectedThumb string `json:"pc_unselected_thumb"`
  109. Sort int `json:"sort"`
  110. }
  111. type ReportListItem struct {
  112. ReportId int `description:"报告Id" json:"report_id"`
  113. ClassifyIdFirst int `description:"一级分类id" json:"classify_id_first"`
  114. ClassifyNameFirst string `description:"一级分类名称" json:"classify_name_first"`
  115. ClassifyIdSecond int `description:"二级分类id" json:"classify_id_second"`
  116. ClassifyNameSecond string `description:"二级分类名称" json:"classify_name_second"`
  117. ClassifyIdThird int `description:"三级分类id" json:"classify_id_third"`
  118. ClassifyNameThird string `description:"三级分类名称" json:"classify_name_third"`
  119. Title string `description:"标题" json:"title"`
  120. Abstract string `description:"摘要" json:"abstract"`
  121. Author string `description:"作者" json:"author"`
  122. ReportImgUrl string `description:"作者头像" json:"report_img_url"`
  123. PublishTime time.Time `description:"发布时间" json:"publish_time"`
  124. Stage int `description:"期数" json:"stage"`
  125. VideoList []*VideoListItem `json:"video_list"`
  126. AuthOk bool `json:"auth_ok"`
  127. TitleInfo string `json:"title_info"`
  128. HasChapter int `description:"是否有章节" json:"has_chapter"`
  129. VideoUrl string `description:"报告音频" json:"video_url"`
  130. VideoName string `description:"音频文件名称" json:"video_name"`
  131. VideoSize string `description:"音频文件大小,单位M" json:"video_size"`
  132. VideoPlaySeconds string `description:"音频播放时长" json:"video_play_seconds"`
  133. VideoImg string `json:"video_img"` // 音频播放条前面展示的图片
  134. ReportDetailShowType int `description:"报告详情的展示类型:1-拼接;2:目录" json:"report_detail_show_type"`
  135. }
  136. type VideoListItem struct {
  137. VideoUrl string `description:"音频文件URL" json:"video_url"`
  138. Sort int `description:"音频内容排序" json:"sort"`
  139. VideoName string `json:"video_name"` //音频文件名称
  140. VideoPlaySeconds string `json:"video_play_seconds"` //音频播放时长
  141. VideoImg string `json:"video_img"` // 音频播放条前面展示的图片
  142. }
  143. type ReportList struct {
  144. Paging *PagingItem `json:"paging"`
  145. List []*ReportListItem `json:"list"`
  146. }
  147. type ReportCollectListItem struct {
  148. ReportId int `description:"报告Id" json:"report_id"`
  149. ReportChapterId int `json:"report_chapter_id"`
  150. ClassifyIdFirst int `description:"一级分类id" json:"classify_id_first"`
  151. ClassifyNameFirst string `description:"一级分类名称" json:"classify_name_first"`
  152. ClassifyIdSecond int `description:"二级分类id" json:"classify_id_second"`
  153. ClassifyNameSecond string `description:"二级分类名称" json:"classify_name_second"`
  154. ReportChapterTypeId int `json:"report_chapter_type_id"`
  155. PublishTime time.Time `description:"发布时间" json:"publish_time"`
  156. Title string `description:"标题" json:"title"`
  157. ContentSub string `description:"内容前两个章节" json:"content_sub"`
  158. ClassifyId int `description:"最小分类id" json:"classify_id"`
  159. ClassifyName string `description:"最小分类名称" json:"classify_name"`
  160. ReportDetailShowType int `description:"报告详情的展示类型:1-拼接;2:目录" json:"report_detail_show_type"`
  161. }
  162. type ReportCollectList struct {
  163. Date string `json:"date"`
  164. SubList []*ReportCollectListItem `json:"sub_list"`
  165. }
  166. type ReportCollectResp struct {
  167. Paging *PagingItem `json:"paging"`
  168. List []*ReportCollectList `json:"list"`
  169. }
  170. type ReportSearchResp struct {
  171. Paging *PagingItem `json:"paging"`
  172. List []*ReportCollectListItem `json:"list"`
  173. }
  174. type EsReportItem struct {
  175. Author string `description:"作者"`
  176. BodyContent string `description:"内容"`
  177. Categories string `description:"品种名称"`
  178. ClassifyIdFirst int `description:"一级分类id"`
  179. ClassifyNameFirst string `description:"一级分类名称"`
  180. ClassifyIdSecond int `description:"二级分类id"`
  181. ClassifyNameSecond string `description:"二级分类名称"`
  182. PublishState int `description:"1:未发布,2:已发布"`
  183. PublishTime string `description:"发布时间"`
  184. ReportChapterId int `description:"报告章节Id"`
  185. ReportId int `description:"报告Id"`
  186. Title string `description:"标题"`
  187. Abstract string `description:"摘要"`
  188. StageStr string `description:"期数"`
  189. ClassifyId int `description:"最小分类id"`
  190. ClassifyName string `description:"最小分类名称"`
  191. }
  192. type TickerDataItem struct {
  193. Date string `json:"date"`
  194. Ticker string `json:"ticker"`
  195. BaseColumnName string `json:"base_column_name"`
  196. TickerValue float64 `json:"ticker_value"`
  197. LastValue float64 `json:"last_value"`
  198. DdValue float64 `json:"dd_value"`
  199. WwValue float64 `json:"ww_value"`
  200. MmValue float64 `json:"mm_value"`
  201. }
  202. type TickerTitleData struct {
  203. TickerTitle string `json:"ticker_title"`
  204. ReportChapterTypeId int `json:"report_chapter_type_id"`
  205. ReportChapterTypeName string `json:"report_chapter_type_name"`
  206. DataTableImage string `json:"data_table_image"`
  207. }
  208. type TickerData struct {
  209. List []*TickerDataItem `json:"list"`
  210. TickerTitle *TickerTitleData `json:"ticker_title"`
  211. }
  212. type ReportCollectListResp []*ReportCollectList
  213. func (p ReportCollectListResp) Len() int {
  214. return len(p)
  215. }
  216. func (p ReportCollectListResp) Less(i, j int) bool {
  217. return p[i].Date > p[j].Date
  218. }
  219. func (p ReportCollectListResp) Swap(i, j int) {
  220. p[i], p[j] = p[j], p[i]
  221. }
  222. type ReportChapterList []*ReportChapterListItem
  223. func (r ReportChapterList) Len() int {
  224. return len(r)
  225. }
  226. func (r ReportChapterList) Less(i, j int) bool {
  227. return r[i].Sort < r[j].Sort
  228. }
  229. func (r ReportChapterList) Swap(i, j int) {
  230. r[i], r[j] = r[j], r[i]
  231. }
  232. type ReportChapterMenuList []*ReportChapterMenu
  233. func (rc ReportChapterMenuList) Len() int {
  234. return len(rc)
  235. }
  236. func (rc ReportChapterMenuList) Less(i, j int) bool {
  237. return rc[i].Sort < rc[j].Sort
  238. }
  239. func (rc ReportChapterMenuList) Swap(i, j int) {
  240. rc[i], rc[j] = rc[j], rc[i]
  241. }
  242. type ReportVarietyResp struct {
  243. Paging *PagingItem `json:"paging"`
  244. List []*VarietyReportItem `json:"list"`
  245. }
  246. type VarietyReportItem struct {
  247. ReportId int `json:"report_id"`
  248. ClassifyNameFirst string `description:"一级分类名称" json:"classify_name_first"`
  249. ClassifyNameSecond string `description:"二级分类名称" json:"classify_name_second"`
  250. Title string `description:"标题" json:"title"`
  251. Abstract string `description:"摘要" json:"abstract"`
  252. Author string `description:"作者" json:"author"`
  253. Frequency string `description:"频度" json:"frequency"`
  254. PublishTime time.Time `description:"发布时间" json:"publish_time"`
  255. Stage int `description:"期数" json:"stage"`
  256. Content string `description:"内容" json:"content"`
  257. VideoUrl string `description:"音频文件URL" json:"video_url"`
  258. VideoName string `description:"音频文件名称" json:"video_name"`
  259. VideoSize string `description:"音频文件大小,单位M" json:"video_size"`
  260. VideoPlaySeconds string `description:"音频播放时长" json:"video_play_seconds"`
  261. VideoImg string `description:"音频播放条的图片" json:"video_img"`
  262. ContentSub string `description:"内容前两个章节" json:"content_sub"`
  263. BannerUrl string `description:"详情页banner" json:"banner_url"`
  264. ShareBgImg string `description:"分享背景图" json:"share_bg_img"`
  265. AuthOk bool `json:"auth_ok"`
  266. }