chart_theme.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package data
  2. import (
  3. "eta/eta_chart_lib/models/data_manage/chart_theme"
  4. "eta/eta_chart_lib/utils"
  5. )
  6. // GetChartThemeConfig
  7. // @Description: 根据主题id获取主题信息,如果获取不到的话,那么就获取默认的主题
  8. // @author: Roc
  9. // @datetime 2023-12-19 14:31:17
  10. // @param chartThemeId int
  11. // @param chartType int
  12. // @param source int
  13. // @return chartTheme *chart_theme.ChartTheme
  14. // @return err error
  15. func GetChartThemeConfig(chartThemeId, source, chartType int) (chartTheme *chart_theme.ChartTheme, err error) {
  16. chartTheme, err = chart_theme.GetChartThemeId(chartThemeId)
  17. if err != nil && err.Error() != utils.ErrNoRow() {
  18. return
  19. }
  20. err = nil
  21. // 如果找到了,那么就返回
  22. if chartTheme != nil {
  23. return
  24. }
  25. // 没有找到的话,那么就找默认的主题
  26. // 查找主题类型id
  27. chartThemeType, err := chart_theme.GetChartThemeTypeByChartTypeAndSource(chartType, source)
  28. if err != nil {
  29. return
  30. }
  31. // 寻找默认的主题id
  32. chartTheme, err = chart_theme.GetChartThemeId(chartThemeType.DefaultChartThemeId)
  33. if err != nil && err.Error() != utils.ErrNoRow() {
  34. return
  35. }
  36. err = nil
  37. // 如果找到了,那么就返回
  38. if chartTheme != nil {
  39. return
  40. }
  41. // 如果还是没找到,那就系统的主题id
  42. chartTheme, err = chart_theme.GetSystemChartTheme(chartThemeType.ChartThemeTypeId)
  43. return
  44. }