chart_theme.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package chart_theme
  2. import (
  3. "errors"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. // ChartTheme
  8. // @Description: 图表主题表
  9. type ChartTheme struct {
  10. ChartThemeId int `description:"图表主题类型ID" orm:"column(chart_theme_id);pk"`
  11. ChartThemeName string `description:"图表主题名称"`
  12. ChartThemeTypeId int `description:"图表主题类型ID"`
  13. Config string `description:"配置"`
  14. IsDelete int `description:"是否删除,0:未删除;1:已删除"`
  15. SysUserId int `description:"操作人"`
  16. SysUserRealName string `description:"操作人的真实名称"`
  17. IsSystemTheme int `description:"是否是系统主题,0:不是;1:是"`
  18. ModifyTime time.Time `description:"修改时间"`
  19. CreateTime time.Time `description:"创建时间"`
  20. }
  21. // GetChartThemeId
  22. // @Description: 根据id获取主题
  23. // @author: Roc
  24. // @datetime 2023-12-14 16:05:36
  25. // @param chartThemeId int
  26. // @return item *ChartTheme
  27. // @return err error
  28. func GetChartThemeId(chartThemeId int) (item *ChartTheme, err error) {
  29. o := orm.NewOrmUsingDB("data")
  30. sql := `SELECT * FROM chart_theme where chart_theme_id = ? AND is_delete = 0`
  31. err = o.Raw(sql, chartThemeId).QueryRow(&item)
  32. return
  33. }
  34. // Add
  35. // @Description: 添加
  36. // @author: Roc
  37. // @receiver m
  38. // @datetime 2023-12-14 16:11:10
  39. // @param cols []string
  40. // @return err error
  41. func (m *ChartTheme) Add() (err error) {
  42. if m.ChartThemeId > 0 {
  43. err = errors.New("该配置已存在")
  44. return
  45. }
  46. o := orm.NewOrmUsingDB("data")
  47. lastId, err := o.Insert(m)
  48. if err != nil {
  49. return
  50. }
  51. m.ChartThemeId = int(lastId)
  52. return
  53. }
  54. // Update
  55. // @Description: 更新
  56. // @author: Roc
  57. // @receiver m
  58. // @datetime 2023-12-14 16:11:10
  59. // @param cols []string
  60. // @return err error
  61. func (m *ChartTheme) Update(cols []string) (err error) {
  62. o := orm.NewOrmUsingDB("data")
  63. _, err = o.Update(m, cols...)
  64. return
  65. }
  66. // GetChartThemeListByTypeId
  67. // @Description: 根据图表类型获取关联的图表主题列表
  68. // @author: Roc
  69. // @datetime 2023-12-13 17:39:48
  70. // @return list []*ChartTheme
  71. // @return err error
  72. func GetChartThemeListByTypeId(chartThemeTypeId int) (list []*ChartTheme, err error) {
  73. o := orm.NewOrmUsingDB("data")
  74. sql := `SELECT * FROM chart_theme WHERE chart_theme_type_id = ? AND is_delete=0 ORDER BY chart_theme_id ASC `
  75. _, err = o.Raw(sql, chartThemeTypeId).QueryRows(&list)
  76. return
  77. }
  78. // GetAllChartThemeList
  79. // @Description: 获取所有图表主题列表
  80. // @author: Roc
  81. // @datetime 2023-12-13 17:39:48
  82. // @return list []*ChartTheme
  83. // @return err error
  84. func GetAllChartThemeList() (list []*ChartTheme, err error) {
  85. o := orm.NewOrmUsingDB("data")
  86. sql := `SELECT * FROM chart_theme WHERE is_delete=0 ORDER BY chart_theme_id ASC `
  87. _, err = o.Raw(sql).QueryRows(&list)
  88. return
  89. }
  90. // ChartThemeItem
  91. // @Description: 图表主题配置
  92. type ChartThemeItem struct {
  93. ChartThemeId int `description:"图表主题类型ID" orm:"column(chart_theme_id);pk"`
  94. ChartThemeName string `description:"图表主题名称"`
  95. ChartThemeTypeId int `description:"图表主题类型ID"`
  96. Config string `description:"配置"`
  97. IsDelete int `description:"是否删除,0:未删除;1:已删除"`
  98. SysUserId int `description:"操作人"`
  99. SysUserRealName string `description:"操作人的真实名称"`
  100. ModifyTime time.Time `description:"修改时间"`
  101. CreateTime time.Time `description:"创建时间"`
  102. DefaultChartThemeId int `description:"默认使用的图表主题ID"`
  103. }
  104. // GetChartThemeItemList
  105. // @Description: 根据图表类型id获取配置列表
  106. // @author: Roc
  107. // @datetime 2023-12-14 14:26:35
  108. // @param chartThemeTypeId int
  109. // @return list []*ChartThemeConfig
  110. // @return err error
  111. func GetChartThemeItemList(chartThemeTypeId int) (list []*ChartThemeItem, err error) {
  112. o := orm.NewOrmUsingDB("data")
  113. sql := `SELECT a.*,b.default_chart_theme_id FROM chart_theme a
  114. JOIN chart_theme_type b on a.chart_theme_type_id =b.chart_theme_type_id
  115. WHERE a.chart_theme_type_id = ? AND a.is_delete=0 ORDER BY a.chart_theme_id ASC `
  116. _, err = o.Raw(sql, chartThemeTypeId).QueryRows(&list)
  117. return
  118. }
  119. // GetSystemChartThemeItem
  120. // @Description: 根据图表类型id获取系统配置
  121. // @author: Roc
  122. // @datetime 2023-12-14 14:26:35
  123. // @param chartThemeTypeId int
  124. // @return list []*ChartThemeConfig
  125. // @return err error
  126. func GetSystemChartThemeItem(chartThemeTypeId int) (item *ChartThemeItem, err error) {
  127. o := orm.NewOrmUsingDB("data")
  128. sql := `SELECT a.* FROM chart_theme a
  129. WHERE a.chart_theme_type_id = ? AND a.is_system_theme=1 ORDER BY a.chart_theme_id ASC `
  130. err = o.Raw(sql, chartThemeTypeId).QueryRow(&item)
  131. return
  132. }