industrial_activity_group_management.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxIndustrialActivityGroupManagement struct {
  7. Id int `orm:"column(id);pk" description:"主键ID"`
  8. ActivityId int `description:"活动ID"`
  9. IndustrialManagementId int `description:"cygx_industrial_management表的主键ID"`
  10. Source int `description:"来源,1 活动,2专项调研"`
  11. CreateTime time.Time `description:"创建时间"`
  12. }
  13. type CygxIndustrialActivityGroupSubject struct {
  14. Id int `orm:"column(id);pk" description:"主键ID"`
  15. ActivityId int `description:"活动ID"`
  16. IndustrialSubjectId int `description:"cygx_industrial_subject表的文章ID"`
  17. Source int `description:"来源,1 活动,2专项调研"`
  18. CreateTime time.Time `description:"创建时间"`
  19. }
  20. type CygxIndustrialSubject struct {
  21. IndustrialSubjectId int `orm:"column(industrial_subject_id);pk" description:"标的id"`
  22. IndustrialManagementId int `description:"产业id"`
  23. SubjectName string `description:"标的名称"`
  24. CreateTime time.Time `description:"创建时间"`
  25. Source int `description:"来源,1正常添加,2:通过文章添加,3通过活动添加(默认为1)"`
  26. }
  27. // 获取标的列表
  28. func GetCygxIndustrialSubjectList(subjectName string) (items []*CygxIndustrialSubject, err error) {
  29. o := orm.NewOrm()
  30. sql := `SELECT
  31. s.*
  32. FROM
  33. cygx_industrial_subject as s
  34. INNER JOIN cygx_industrial_management as m ON m.industrial_management_id = s.industrial_management_id
  35. WHERE
  36. subject_name = ? `
  37. _, err = o.Raw(sql, subjectName).QueryRows(&items)
  38. return
  39. }
  40. // AddCygxActiuvityGroupMulti 批量添加
  41. func AddCygxActiuvityGroupMulti(items []*CygxIndustrialActivityGroupManagement, itemsSubject []*CygxIndustrialActivityGroupSubject) (err error) {
  42. o, err := orm.NewOrm().Begin()
  43. if err != nil {
  44. return
  45. }
  46. defer func() {
  47. if err == nil {
  48. o.Commit()
  49. } else {
  50. o.Rollback()
  51. }
  52. }()
  53. if len(items) > 0 {
  54. //批量添加关联的产业
  55. _, err = o.InsertMulti(len(items), items)
  56. }
  57. if len(itemsSubject) > 0 {
  58. //批量添加关联的标的
  59. _, err = o.InsertMulti(len(itemsSubject), itemsSubject)
  60. }
  61. return
  62. }
  63. // GetActivityIndustryRelationList 获取活动与产业关联列表
  64. func GetActivityIndustryRelationList(condition string, pars []interface{}) (list []*CygxIndustrialActivityGroupManagement, err error) {
  65. sql := `SELECT
  66. a.activity_id,
  67. b.industrial_management_id
  68. FROM
  69. cygx_activity AS a
  70. JOIN cygx_industrial_activity_group_management AS b ON a.activity_id = b.activity_id
  71. WHERE
  72. 1 = 1 AND b.source = 1 `
  73. if condition != `` {
  74. sql += condition
  75. }
  76. _, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
  77. return
  78. }
  79. // 获取数量
  80. func GetCygxIndustrialActivityGroupManagementCount(condition string, pars []interface{}) (count int, err error) {
  81. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_industrial_activity_group_management as art WHERE 1= 1 `
  82. if condition != "" {
  83. sqlCount += condition
  84. }
  85. o := orm.NewOrm()
  86. err = o.Raw(sqlCount, pars).QueryRow(&count)
  87. return
  88. }
  89. // CygxIndustrialActivityGroupManagement 获取活动与产业关联列表
  90. func GetCygxIndustrialActivityGroupManagementList(condition string, pars []interface{}) (list []*CygxIndustrialActivityGroupManagement, err error) {
  91. sql := `SELECT
  92. *
  93. FROM
  94. cygx_industrial_activity_group_management
  95. WHERE
  96. 1 = 1 `
  97. if condition != `` {
  98. sql += condition
  99. }
  100. _, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
  101. return
  102. }