industrial_article_group_subject.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxIndustrialArticleGroupSubject struct {
  7. Id int `orm:"column(id);pk" description:"主键ID"`
  8. CygxArticleId int `description:"cygx_article表的主键ID"`
  9. ArticleId int `description:"cygx_article表的文章ID"`
  10. IndustrialSubjectId int `description:"cygx_industrial_subject表的文章ID"`
  11. CreateTime time.Time `description:"创建时间"`
  12. }
  13. // 新增
  14. func AddCygxIndustrialArticleGroupSubject(item *CygxIndustrialArticleGroupSubject) (newId int64, err error) {
  15. o := orm.NewOrmUsingDB("hz_cygx")
  16. _, err = o.Insert(item)
  17. if err != nil {
  18. return
  19. }
  20. return
  21. }
  22. func GetSubjectIds(articleId int) (subjects string, err error) {
  23. sql := ` SELECT
  24. GROUP_CONCAT( DISTINCT industrial_subject_id ORDER BY id ASC SEPARATOR ',' ) AS subjects
  25. FROM
  26. cygx_industrial_article_group_subject WHERE article_id = ?`
  27. o := orm.NewOrmUsingDB("hz_cygx")
  28. err = o.Raw(sql, articleId).QueryRow(&subjects)
  29. return
  30. }
  31. func GetArticleIdsBySubjectId(industrialSubjectId string) (articleId string, err error) {
  32. sql := ` SELECT
  33. GROUP_CONCAT( DISTINCT article_id ORDER BY id ASC SEPARATOR ',' ) AS articleId
  34. FROM
  35. cygx_industrial_article_group_subject WHERE industrial_subject_id IN (` + industrialSubjectId + `)`
  36. o := orm.NewOrmUsingDB("hz_cygx")
  37. err = o.Raw(sql).QueryRow(&articleId)
  38. return
  39. }
  40. // 列表
  41. func GetSubjectArticleGroupManagementList(articleId int) (items []*SubjectActivityGroupManagementRep, err error) {
  42. o := orm.NewOrmUsingDB("hz_cygx")
  43. sql := `SELECT
  44. s.subject_name,
  45. s.industrial_subject_id
  46. FROM
  47. cygx_industrial_article_group_subject AS ag
  48. INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = ag.industrial_subject_id
  49. WHERE
  50. ag.article_id = ?`
  51. _, err = o.Raw(sql, articleId).QueryRows(&items)
  52. return
  53. }
  54. type SubjectlArticleGroupResp struct {
  55. ArticleId int `description:"文章ID"`
  56. IndustrialManagementId int `description:"cygx_industrial_management表的主键ID"`
  57. IndustrialSubjectId int `description:"标的id"`
  58. SubjectName string `description:"标的名称"`
  59. }
  60. // 列表
  61. func GetSubjectArticleGroupListByarticleIds(articleIds string) (items []*SubjectlArticleGroupResp, err error) {
  62. o := orm.NewOrmUsingDB("hz_cygx")
  63. sql := `SELECT
  64. sg.*,
  65. s.subject_name,
  66. s.industrial_management_id
  67. FROM
  68. cygx_industrial_article_group_subject AS sg
  69. INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = sg.industrial_subject_id
  70. WHERE
  71. 1 = 1
  72. AND sg.article_id IN (` + articleIds + `) GROUP BY sg.article_id,sg.industrial_subject_id`
  73. _, err = o.Raw(sql).QueryRows(&items)
  74. return
  75. }