cygx_research_summary.go 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package data_manage
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. // GetLatestContractListByProductId 获取最新的续约合同ids
  7. func GetLatestContractListByProductId(productId int) (contractIds []string, err error) {
  8. o := orm.NewOrmUsingDB("data")
  9. sql := `SELECT article_id FROM cygx_research_summary WHERE product_id=? AND contract_type="续约合同" GROUP BY create_time DESC,company_id `
  10. _, err = o.Raw(sql, productId).QueryRows(&contractIds)
  11. return
  12. }
  13. type CygxResearchSummaryLog struct {
  14. ArticleSunId int `orm:"column(article_sun_id);pk"description:"子级报告id"`
  15. ArticleId int `description:"父级报告Id"`
  16. Type string `description:"类型'SDBG:深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP:事件点评,’BZCHJH:本周晨会精华’"`
  17. Sort string `description:"排序"`
  18. ChartPermissionId int `description:"行业ID"`
  19. ChartPermissionSort string `description:"行业排序"`
  20. CreateTime time.Time `description:"创建时间"`
  21. Body string `description:"内容"`
  22. ReportLink string `description:"报告链接"`
  23. LinkArticleId int `description:"报告ID链接"`
  24. }
  25. type CygxResearchSummary struct {
  26. ArticleId int `orm:"column(article_id);pk"description:"报告id"`
  27. Title string `description:"标题"`
  28. Department string `description:"作者"`
  29. Abstract string `description:"摘要"`
  30. PublishStatus int `description:"发布状态,1已发布,0未发布"`
  31. PublishDate time.Time `description:"发布时间"`
  32. CreateTime time.Time `description:"创建时间"`
  33. LastUpdatedTime time.Time `description:"最后一次更新时间"`
  34. Periods string `description:"期数"`
  35. HavePublish int `description:"是否发布过,1是,0否"`
  36. AdminId int `description:"销售/管理员ID"`
  37. AdminName string `description:"销售/管理员姓名"`
  38. }
  39. func AddCygxResearchSummaryOrm(item *CygxResearchSummary) (newArtId int64, err error) {
  40. o := orm.NewOrm()
  41. newArtId, err = o.Insert(item)
  42. if err != nil {
  43. return
  44. }
  45. return
  46. }
  47. func AddCygxResearchSummaryLogOrm(items []*CygxResearchSummaryLog) (newArtId int64, err error) {
  48. o := orm.NewOrm()
  49. newArtId, err = o.InsertMulti(1, items)
  50. if err != nil {
  51. return
  52. }
  53. return
  54. }
  55. type CygxRSlChartPermission struct {
  56. ChartPermissionId int `description:"行业ID"`
  57. ChartPermissionSort string `description:"行业排序"`
  58. List []*AddCygxResearchSummaryLog
  59. }
  60. type AddCygxResearchSummaryLog struct {
  61. Body string `description:"内容"`
  62. ReportLink string `description:"报告链接"`
  63. ChartPermissionSort string `description:"行业排序"`
  64. }
  65. type CygxArticleSubjectList struct {
  66. ArticleId int `description:"报告id"`
  67. SubjectName string `description:"标的名称"`
  68. }
  69. //文章标的列表
  70. func GetArticleSubjectList(articleId string) (items []*CygxArticleSubjectList, err error) {
  71. if articleId == "" {
  72. articleId = "0"
  73. }
  74. o := orm.NewOrm()
  75. sql := ` SELECT GROUP_CONCAT( DISTINCT s.subject_name SEPARATOR '#' ) AS subject_name,
  76. sg.article_id
  77. FROM
  78. cygx_industrial_article_group_subject AS sg
  79. LEFT JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = sg.industrial_subject_id
  80. WHERE
  81. sg.article_id IN (` + articleId + `)
  82. GROUP BY sg.article_id`
  83. _, err = o.Raw(sql).QueryRows(&items)
  84. return
  85. }