package data import ( "eta/eta_chart_lib/models/data_manage/chart_theme" "eta/eta_chart_lib/utils" ) // GetChartThemeConfig // @Description: 根据主题id获取主题信息,如果获取不到的话,那么就获取默认的主题 // @author: Roc // @datetime 2023-12-19 14:31:17 // @param chartThemeId int // @param chartType int // @param source int // @return chartTheme *chart_theme.ChartTheme // @return err error func GetChartThemeConfig(chartThemeId, source, chartType int) (chartTheme *chart_theme.ChartTheme, err error) { chartTheme, err = chart_theme.GetChartThemeId(chartThemeId) if err != nil && err.Error() != utils.ErrNoRow() { return } err = nil // 如果找到了,那么就返回 if chartTheme != nil { return } // 没有找到的话,那么就找默认的主题 // 查找主题类型id chartThemeType, err := chart_theme.GetChartThemeTypeByChartTypeAndSource(chartType, source) if err != nil { return } // 寻找默认的主题id chartTheme, err = chart_theme.GetChartThemeId(chartThemeType.DefaultChartThemeId) if err != nil && err.Error() != utils.ErrNoRow() { return } err = nil // 如果找到了,那么就返回 if chartTheme != nil { return } // 如果还是没找到,那就系统的主题id chartTheme, err = chart_theme.GetSystemChartTheme(chartThemeType.ChartThemeTypeId) return }