english_report.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. package tables
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "time"
  6. )
  7. type EnglishReport struct {
  8. Id int `orm:"column(id)" description:"报告Id"`
  9. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  10. ClassifyIdFirst int `description:"一级分类id"`
  11. ClassifyNameFirst string `description:"一级分类名称"`
  12. ClassifyIdSecond int `description:"二级分类id"`
  13. ClassifyNameSecond string `description:"二级分类名称"`
  14. Title string `description:"标题"`
  15. Abstract string `description:"摘要"`
  16. Author string `description:"作者"`
  17. Frequency string `description:"频度"`
  18. CreateTime string `description:"创建时间"`
  19. ModifyTime time.Time `description:"修改时间"`
  20. State int `description:"1:未发布,2:已发布"`
  21. PublishTime time.Time `description:"发布时间"`
  22. Stage int `description:"期数"`
  23. Content string `description:"内容"`
  24. VideoUrl string `description:"音频文件URL"`
  25. VideoName string `description:"音频文件名称"`
  26. VideoPlaySeconds string `description:"音频播放时长"`
  27. VideoSize string `description:"音频文件大小,单位M"`
  28. ContentSub string `description:"内容前两个章节"`
  29. ReportCode string `description:"报告唯一编码"`
  30. Pv int `description:"Pv"`
  31. PvEmail int `description:"邮箱PV"`
  32. EmailState int `description:"群发邮件状态: 0-未发送; 1-已发送"`
  33. Overview string `description:"英文概述部分"`
  34. KeyTakeaways string `description:"关键点"`
  35. FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
  36. }
  37. func GetEnglishReportStage(classifyIdFirst, classifyIdSecond int) (count int, err error) {
  38. o := orm.NewOrmUsingDB("rddp")
  39. sql := ``
  40. if classifyIdSecond > 0 {
  41. sql = "SELECT MAX(stage) AS max_stage FROM english_report WHERE classify_id_second=? "
  42. o.Raw(sql, classifyIdSecond).QueryRow(&count)
  43. } else {
  44. sql = "SELECT MAX(stage) AS max_stage FROM english_report WHERE classify_id_first=? "
  45. o.Raw(sql, classifyIdFirst).QueryRow(&count)
  46. }
  47. return
  48. }
  49. func AddEnglishReport(item *EnglishReport) (lastId int64, err error) {
  50. o := orm.NewOrmUsingDB("rddp")
  51. lastId, err = o.Insert(item)
  52. return
  53. }
  54. func ModifyEnglishReportCode(reportId int64, reportCode string) (err error) {
  55. o := orm.NewOrmUsingDB("rddp")
  56. sql := `UPDATE english_report SET report_code=? WHERE id=? `
  57. _, err = o.Raw(sql, reportCode, reportId).Exec()
  58. return
  59. }
  60. type AddEnglishReportReq struct {
  61. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  62. ClassifyIdFirst int `description:"一级分类id"`
  63. ClassifyNameFirst string `description:"一级分类名称"`
  64. ClassifyIdSecond int `description:"二级分类id"`
  65. ClassifyNameSecond string `description:"二级分类名称"`
  66. Title string `description:"标题"`
  67. Abstract string `description:"摘要"`
  68. Author string `description:"作者"`
  69. Frequency string `description:"频度"`
  70. State int `description:"状态:1:未发布,2:已发布"`
  71. Content string `description:"内容"`
  72. CreateTime string `description:"创建时间"`
  73. Overview string `description:"英文概述部分"`
  74. }
  75. type AddEnglishReportResp struct {
  76. ReportId int64 `description:"报告id"`
  77. ReportCode string `description:"报告code"`
  78. }
  79. type EditEnglishReportReq struct {
  80. ReportId int64 `description:"报告id"`
  81. ClassifyIdFirst int `description:"一级分类id"`
  82. ClassifyNameFirst string `description:"一级分类名称"`
  83. ClassifyIdSecond int `description:"二级分类id"`
  84. ClassifyNameSecond string `description:"二级分类名称"`
  85. Title string `description:"标题"`
  86. Abstract string `description:"摘要"`
  87. Author string `description:"作者"`
  88. Frequency string `description:"频度"`
  89. State int `description:"状态:1:未发布,2:已发布"`
  90. Content string `description:"内容"`
  91. CreateTime string `description:"创建时间"`
  92. Overview string `description:"英文概述部分"`
  93. }
  94. type EditEnglishReportFromPolicyReq struct {
  95. ReportId int64 `description:"报告id"`
  96. Title string `description:"标题"`
  97. Abstract string `description:"摘要"`
  98. Author string `description:"作者"`
  99. Frequency string `description:"频度"`
  100. CreateTime string `description:"创建时间"`
  101. //Overview string `description:"英文概述部分"`
  102. }
  103. type EditEnglishReportResp struct {
  104. ReportId int64 `description:"报告id"`
  105. ReportCode string `description:"报告code"`
  106. }
  107. type ElasticEnglishReportDetail struct {
  108. Id string `description:"报告id或者线上路演Id"`
  109. ReportId int `description:"报告id"`
  110. VideoId int `description:"线上路演Id"`
  111. ClassifyIdFirst int `description:"一级分类id"`
  112. ClassifyNameFirst string `description:"一级分类名称"`
  113. ClassifyIdSecond int `description:"二级分类id"`
  114. ClassifyNameSecond string `description:"二级分类名称"`
  115. StageStr string `description:"报告期数"`
  116. Title string `description:"标题"`
  117. Abstract string `description:"摘要"`
  118. Author string `description:"作者"`
  119. Frequency string `description:"频度"`
  120. PublishState int `description:"状态:1:未发布,2:已发布"`
  121. BodyContent string `description:"内容"`
  122. ContentSub string `description:"前两段内容"`
  123. CreateTime string `description:"创建时间"`
  124. PublishTime string `description:"发布时间"`
  125. ReportCode string `description:"报告唯一编码"`
  126. Overview string `description:"英文概述部分"`
  127. }
  128. type EnglishReportDetail struct {
  129. Id int `orm:"column(id)" description:"报告Id"`
  130. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  131. ClassifyIdFirst int `description:"一级分类id"`
  132. ClassifyNameFirst string `description:"一级分类名称"`
  133. ClassifyIdSecond int `description:"二级分类id"`
  134. ClassifyNameSecond string `description:"二级分类名称"`
  135. Title string `description:"标题"`
  136. Abstract string `description:"摘要"`
  137. Author string `description:"作者"`
  138. Frequency string `description:"频度"`
  139. CreateTime string `description:"创建时间"`
  140. ModifyTime string `description:"修改时间"`
  141. State int `description:"1:未发布,2:已发布"`
  142. PublishTime string `description:"发布时间"`
  143. Stage int `description:"期数"`
  144. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  145. ReportCode string `description:"报告唯一编码"`
  146. Content string `description:"内容"`
  147. VideoUrl string `description:"音频文件URL"`
  148. VideoName string `description:"音频文件名称"`
  149. VideoPlaySeconds string `description:"音频播放时长"`
  150. ContentSub string `description:"内容前两个章节"`
  151. Pv int `description:"Pv"`
  152. Overview string `description:"英文概述部分"`
  153. FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
  154. KeyTakeaways string `description:"关键点"`
  155. }
  156. type EnglishReportList struct {
  157. Id int `description:"报告Id"`
  158. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  159. ClassifyIdFirst int `description:"一级分类id"`
  160. ClassifyNameFirst string `description:"一级分类名称"`
  161. ClassifyIdSecond int `description:"二级分类id"`
  162. ClassifyNameSecond string `description:"二级分类名称"`
  163. Title string `description:"标题"`
  164. Abstract string `description:"摘要"`
  165. Author string `description:"作者"`
  166. Frequency string `description:"频度"`
  167. CreateTime string `description:"创建时间"`
  168. ModifyTime time.Time `description:"修改时间"`
  169. State int `description:"1:未发布,2:已发布"`
  170. PublishTime string `description:"发布时间"`
  171. Stage int `description:"期数"`
  172. Content string `description:"内容"`
  173. VideoUrl string `description:"音频文件URL"`
  174. VideoName string `description:"音频文件名称"`
  175. VideoPlaySeconds string `description:"音频播放时长"`
  176. ContentSub string `description:"内容前两个章节"`
  177. ReportCode string `description:"报告唯一编码"`
  178. Pv int `description:"Pv"`
  179. ShareUrl string `description:"分享url"`
  180. PvEmail int `description:"邮箱PV"`
  181. EmailState int `description:"群发邮件状态: 0-未发送; 1-已发送"`
  182. EmailAuth bool `description:"是否有权限群发邮件"`
  183. EmailHasFail bool `description:"是否存在邮件发送失败的记录"`
  184. CanEdit bool `description:"是否可编辑"`
  185. Editor string `description:"编辑人"`
  186. FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
  187. }
  188. type EnglishReportListResp struct {
  189. List []*EnglishReportList
  190. Paging *paging.PagingItem `description:"分页数据"`
  191. }
  192. type EnglishClassifyList struct {
  193. Id int `orm:"column(id);pk"`
  194. ClassifyName string `description:"分类名称"`
  195. Sort int `description:"排序"`
  196. ParentId int `description:"父级分类id"`
  197. CreateTime time.Time `description:"创建时间"`
  198. ModifyTime time.Time `description:"修改时间"`
  199. ClassifyLabel string `description:"分类标签"`
  200. ShowType int `description:"展示类型:1-列表 2-专栏"`
  201. IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
  202. ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
  203. Child []*EnglishClassify
  204. }
  205. type EnglishClassifyListResp struct {
  206. List []*EnglishClassifyList
  207. Paging *paging.PagingItem `description:"分页数据"`
  208. }
  209. // Update 更新
  210. func (item *EnglishReport) Update(cols []string) (err error) {
  211. o := orm.NewOrmUsingDB("rddp")
  212. _, err = o.Update(item, cols...)
  213. return
  214. }
  215. type EnglishClassify struct {
  216. Id int `orm:"column(id);pk"`
  217. ClassifyName string `description:"分类名称"`
  218. Sort int `description:"排序"`
  219. ParentId int `description:"父级分类id"`
  220. CreateTime time.Time `description:"创建时间"`
  221. ModifyTime time.Time `description:"修改时间"`
  222. ClassifyLabel string `description:"分类标签"`
  223. ShowType int `description:"展示类型:1-列表 2-专栏"`
  224. IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
  225. ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
  226. }
  227. // UpdateClassify 更新分类
  228. func (classifyInfo *EnglishClassify) UpdateEnglishClassify(cols []string) (err error) {
  229. o := orm.NewOrmUsingDB("rddp")
  230. _, err = o.Update(classifyInfo, cols...)
  231. return
  232. }
  233. // MarkEditEnReport 标记编辑英文研报的请求数据
  234. type MarkEditEnReport struct {
  235. ReportId int `description:"研报id"`
  236. Status int `description:"标记状态,1:编辑中,2:编辑完成"`
  237. }
  238. type EnglishClassifyNameParentName struct {
  239. Id int `description:"分类ID"`
  240. ClassifyName string `description:"分类名称"`
  241. Sort int `description:"排序"`
  242. ParentId int `description:"父级分类id"`
  243. CreateTime time.Time `description:"创建时间"`
  244. ModifyTime time.Time `description:"修改时间"`
  245. ClassifyLabel string `description:"分类标签"`
  246. ShowType int `description:"展示类型:1-列表 2-专栏"`
  247. IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
  248. ParentClassifyName string `description:"父级分类名称"`
  249. }
  250. func GetEnglishClassifyByClassifyNameAndParentName(parentClassiyName, classifyName string) (item EnglishClassifyNameParentName, err error) {
  251. o := orm.NewOrmUsingDB("rddp")
  252. sql := "SELECT c1.*, c2.classify_name as parent_classify_name FROM english_classify c1 LEFT JOIN english_classify c2 on c1.parent_id = c2.id where c1.parent_id > 0 and c2.classify_name = ? and c1.classify_name= ?"
  253. err = o.Raw(sql, parentClassiyName, classifyName).QueryRow(&item)
  254. return
  255. }