resource_data.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. }
  17. // 根据资源类型获取列表
  18. func GetCygxResourceDataListBysource(source string) (items []*CygxResourceData, err error) {
  19. o := orm.NewOrmUsingDB("hz_cygx")
  20. sql := `SELECT * FROM cygx_resource_data as art WHERE 1= 1 AND source = ? `
  21. _, err = o.Raw(sql, source).QueryRows(&items)
  22. return
  23. }
  24. // 添加
  25. func AddCygxResourceData(item *CygxResourceData) (lastId int64, err error) {
  26. o := orm.NewOrmUsingDB("hz_cygx")
  27. lastId, err = o.Insert(item)
  28. return
  29. }
  30. // 删除数据
  31. func DeleteResourceData(sourceId int, source string) (err error) {
  32. o := orm.NewOrmUsingDB("hz_cygx")
  33. sql := ` DELETE FROM cygx_resource_data WHERE source_id = ? AND source =? `
  34. _, err = o.Raw(sql, sourceId, source).Exec()
  35. return
  36. }
  37. // 修改数据
  38. func UpdateResourceData(sourceId int, source, publishDate string) (err error) {
  39. o := orm.NewOrmUsingDB("hz_cygx")
  40. sql := `UPDATE cygx_resource_data SET publish_date=? WHERE source_id=? AND source =? `
  41. _, err = o.Raw(sql, publishDate, sourceId, source).Exec()
  42. return
  43. }
  44. // 修改
  45. func UpdateResourceDataByItem(item *CygxResourceData) (err error) {
  46. o := orm.NewOrmUsingDB("hz_cygx")
  47. updateParams := make(map[string]interface{})
  48. updateParams["PublishDate"] = item.PublishDate
  49. updateParams["SearchTag"] = item.SearchTag
  50. ptrStructOrTableName := "cygx_resource_data"
  51. whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
  52. qs := o.QueryTable(ptrStructOrTableName)
  53. for expr, exprV := range whereParam {
  54. qs = qs.Filter(expr, exprV)
  55. }
  56. _, err = qs.Update(updateParams)
  57. if err != nil {
  58. return
  59. }
  60. return
  61. }
  62. // 获取数量
  63. func GetCygxReportSelectionBySourceAndId(sourceId int, source string) (count int, err error) {
  64. o := orm.NewOrmUsingDB("hz_cygx")
  65. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
  66. err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
  67. return
  68. }
  69. // 通过ID跟资源获取详情
  70. func GetCygxResourceDataByIdAndSource(sourceId int, source string) (item *CygxResourceData, err error) {
  71. o := orm.NewOrmUsingDB("hz_cygx")
  72. sql := `SELECT * FROM cygx_resource_data WHERE source_id = ? AND source =? `
  73. err = o.Raw(sql, sourceId, source).QueryRow(&item)
  74. return
  75. }