resource_data.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxResourceData struct {
  7. Id int `orm:"column(id);pk"`
  8. SourceId int `description:"资源ID"`
  9. Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
  10. Title string `description:"标题"`
  11. Annotation string `description:"核心观点"`
  12. CreateTime time.Time `description:"创建时间"`
  13. PublishDate string `description:"发布时间"`
  14. Abstract string `description:"摘要"`
  15. SearchTag string `description:"搜索标签"`
  16. ChartPermissionId int `description:"行业id"`
  17. }
  18. // 根据资源类型获取列表
  19. func GetCygxResourceDataListBysource(source string) (items []*CygxResourceData, err error) {
  20. o := orm.NewOrmUsingDB("hz_cygx")
  21. sql := `SELECT * FROM cygx_resource_data as art WHERE 1= 1 AND source = ? AND chart_permission_id = 0 `
  22. _, err = o.Raw(sql, source).QueryRows(&items)
  23. return
  24. }
  25. // 添加
  26. func AddCygxResourceData(item *CygxResourceData) (lastId int64, err error) {
  27. return
  28. o := orm.NewOrmUsingDB("hz_cygx")
  29. lastId, err = o.Insert(item)
  30. return
  31. }
  32. // 删除数据
  33. func DeleteResourceData(sourceId int, source string) (err error) {
  34. o := orm.NewOrmUsingDB("hz_cygx")
  35. sql := ` DELETE FROM cygx_resource_data WHERE source_id = ? AND source =? `
  36. _, err = o.Raw(sql, sourceId, source).Exec()
  37. return
  38. }
  39. // 修改数据
  40. func UpdateResourceData(sourceId int, source, publishDate string) (err error) {
  41. o := orm.NewOrmUsingDB("hz_cygx")
  42. sql := `UPDATE cygx_resource_data SET publish_date=? WHERE source_id=? AND source =? `
  43. _, err = o.Raw(sql, publishDate, sourceId, source).Exec()
  44. return
  45. }
  46. // 修改
  47. func UpdateResourceDataByItem(item *CygxResourceData) (err error) {
  48. o := orm.NewOrmUsingDB("hz_cygx")
  49. updateParams := make(map[string]interface{})
  50. //updateParams["PublishDate"] = item.PublishDate
  51. updateParams["SearchTag"] = item.SearchTag
  52. updateParams["ChartPermissionId"] = item.ChartPermissionId
  53. ptrStructOrTableName := "cygx_resource_data"
  54. whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
  55. qs := o.QueryTable(ptrStructOrTableName)
  56. for expr, exprV := range whereParam {
  57. qs = qs.Filter(expr, exprV)
  58. }
  59. _, err = qs.Update(updateParams)
  60. if err != nil {
  61. return
  62. }
  63. return
  64. }
  65. // 修改
  66. func UpdateChartPermissionIdResourceDataByItem(item *CygxResourceData) (err error) {
  67. o := orm.NewOrmUsingDB("hz_cygx")
  68. updateParams := make(map[string]interface{})
  69. updateParams["ChartPermissionId"] = item.ChartPermissionId
  70. ptrStructOrTableName := "cygx_resource_data"
  71. whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
  72. qs := o.QueryTable(ptrStructOrTableName)
  73. for expr, exprV := range whereParam {
  74. qs = qs.Filter(expr, exprV)
  75. }
  76. _, err = qs.Update(updateParams)
  77. if err != nil {
  78. return
  79. }
  80. return
  81. }
  82. // 获取数量
  83. func GetCygxReportSelectionBySourceAndId(sourceId int, source string) (count int, err error) {
  84. o := orm.NewOrmUsingDB("hz_cygx")
  85. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
  86. err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
  87. return
  88. }
  89. // 通过ID跟资源获取详情
  90. func GetCygxResourceDataByIdAndSource(sourceId int, source string) (item *CygxResourceData, err error) {
  91. o := orm.NewOrmUsingDB("hz_cygx")
  92. sql := `SELECT * FROM cygx_resource_data WHERE source_id = ? AND source =? `
  93. err = o.Raw(sql, sourceId, source).QueryRow(&item)
  94. return
  95. }
  96. // 获取数量
  97. func GetCygxResourceDataBySourceAndIdCount(sourceId int, source string) (count int, err error) {
  98. o := orm.NewOrmUsingDB("hz_cygx")
  99. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
  100. err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
  101. return
  102. }