Эх сурвалжийг харах

Merge branch 'eta/1.4.1' into debug

Roc 1 жил өмнө
parent
commit
2815546a35

+ 31 - 1
controller/chart/chart_common.go

@@ -65,10 +65,40 @@ func CommonChartInfoDetailFromUniqueCode(c *gin.Context) {
 		response.FailMsg(`获取失败`, "获取图表信息失败, Err:"+err.Error(), c)
 		return
 	}
-
 	var resp *chart_info.ChartInfoDetailResp
 	var isOk bool
 	var msg, errMsg string
+
+	switch chartInfo.Source {
+	case utils.CHART_SOURCE_DEFAULT:
+		// 获取主题样式
+		chartTheme, err := chart.GetChartThemeConfig(chartInfo.ChartThemeId, chartInfo.Source, chartInfo.ChartType)
+		if err != nil {
+			response.FailMsg("获取失败", "获取主题信息失败, Err:"+err.Error(), c)
+			return
+		}
+		chartInfo.ChartThemeStyle = chartTheme.Config
+		chartInfo.ChartThemeId = chartTheme.ChartThemeID
+	case utils.CHART_SOURCE_FUTURE_GOOD, utils.CHART_SOURCE_FUTURE_GOOD_PROFIT, utils.CHART_SOURCE_CORRELATION, utils.CHART_SOURCE_ROLLING_CORRELATION, utils.CHART_SOURCE_LINE_EQUATION, utils.CHART_SOURCE_LINE_FEATURE_STANDARD_DEVIATION, utils.CHART_SOURCE_LINE_FEATURE_PERCENTILE, utils.CHART_SOURCE_LINE_FEATURE_FREQUENCY:
+		// 获取主题样式
+		chartTheme, err := chart.GetChartThemeConfig(chartInfo.ChartThemeId, utils.CHART_SOURCE_DEFAULT, 1)
+		if err != nil {
+			response.FailMsg("获取失败", "获取主题信息失败, Err:"+err.Error(), c)
+			return
+		}
+		chartInfo.ChartThemeStyle = chartTheme.Config
+		chartInfo.ChartThemeId = chartTheme.ChartThemeID
+	case utils.CHART_SOURCE_CROSS_HEDGING:
+		// 获取主题样式
+		chartTheme, err := chart.GetChartThemeConfig(chartInfo.ChartThemeId, utils.CHART_SOURCE_DEFAULT, 5)
+		if err != nil {
+			response.FailMsg("获取失败", "获取主题信息失败, Err:"+err.Error(), c)
+			return
+		}
+		chartInfo.ChartThemeStyle = chartTheme.Config
+		chartInfo.ChartThemeId = chartTheme.ChartThemeID
+	}
+
 	switch chartInfo.Source {
 	case utils.CHART_SOURCE_DEFAULT:
 		resp, isOk, msg, errMsg = getChartInfoDetail(chartInfo, myChartClassifyId, user.GetInfoByClaims(c))

+ 9 - 0
controller/chart/chart_info.go

@@ -75,6 +75,15 @@ func GetChartInfoDetail(c *gin.Context) {
 		response.FailMsg("获取失败", "获取图表信息失败, Err:"+err.Error(), c)
 		return
 	}
+	// 获取主题样式
+	chartTheme, err := chart.GetChartThemeConfig(chartInfo.ChartThemeId, chartInfo.Source, chartInfo.ChartType)
+	if err != nil {
+		response.FailMsg("获取失败", "获取主题信息失败, Err:"+err.Error(), c)
+		return
+	}
+	chartInfo.ChartThemeStyle = chartTheme.Config
+	chartInfo.ChartThemeId = chartTheme.ChartThemeID
+
 	chartType = chartInfo.ChartType
 	startDate := chartInfo.StartDate
 	endDate := chartInfo.EndDate

+ 108 - 76
models/tables/chart_info/chart_info.go

@@ -6,32 +6,42 @@ import (
 
 // ChartInfo 图表信息表
 type ChartInfo struct {
-	ChartInfoId     int       `gorm:"primaryKey;column:chart_info_id;type:int(11);not null" json:"chartInfoId"`
-	ChartName       string    `gorm:"uniqueIndex:idx_chart_name;column:chart_name;type:varchar(500);default:''" json:"chartName"`        // 图表名称
-	UniqueCode      string    `gorm:"unique;column:unique_code;type:varchar(50);default:''" json:"uniqueCode"`                           // 唯一编码
-	ChartClassifyId int       `gorm:"uniqueIndex:idx_chart_name;column:chart_classify_id;type:int(11);default:0" json:"chartClassifyId"` // 分类id
-	SysUserId       int       `gorm:"column:sys_user_id;type:int(11);default:0" json:"sysUserId"`                                        // 创建人id
-	SysUserRealName string    `gorm:"column:sys_user_real_name;type:varchar(100);default:''" json:"sysUserRealName"`                     // 创建人姓名
-	CreateTime      time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`
-	ModifyTime      time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`
-	DateType        int       `gorm:"column:date_type;type:int(11);default:0" json:"dateType"`                     // 日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间,6:起始日期至今
-	StartDate       string    `gorm:"column:start_date;type:varchar(30);default:''" json:"startDate"`              // 自定义开始日期
-	EndDate         string    `gorm:"column:end_date;type:varchar(30);default:''" json:"endDate"`                  // 自定义结束日期
-	IsSetName       int       `gorm:"column:is_set_name;type:tinyint(4);default:0" json:"isSetName"`               // 0:未修改,1:已修改
-	EdbInfoIDs      string    `gorm:"column:edb_info_ids;type:varchar(100);default:''" json:"edbInfoIds"`          // 指标id
-	ChartType       int       `gorm:"column:chart_type;type:tinyint(4);default:1" json:"chartType"`                // 生成样式:1:曲线图,2:季节性图
-	Calendar        string    `gorm:"column:calendar;type:varchar(10);default:''" json:"calendar"`                 // 公历/农历
-	SeasonStartDate string    `gorm:"column:season_start_date;type:varchar(30);default:''" json:"seasonStartDate"` // 季节开始日期
-	SeasonEndDate   string    `gorm:"column:season_end_date;type:varchar(30);default:''" json:"seasonEndDate"`     // 季节结束日期
-	ChartImage      string    `gorm:"column:chart_image;type:varchar(255);default:''" json:"chartImage"`           // 图表图片
-	Sort            int       `gorm:"column:sort;type:int(9);default:0" json:"sort"`                               // 排序字段,数字越小越排前面
-	EdbEndDate      time.Time `gorm:"column:edb_end_date;type:date" json:"edbEndDate"`                             // 指标最后更新日期
-	LeftMin         string    `gorm:"column:left_min;type:varchar(30);default:''" json:"leftMin"`                  // 图表左侧最小值
-	LeftMax         string    `gorm:"column:left_max;type:varchar(30);default:''" json:"leftMax"`                  // 图表左侧最大值
-	RightMin        string    `gorm:"column:right_min;type:varchar(30);default:''" json:"rightMin"`                // 图表右侧最小值
-	RightMax        string    `gorm:"column:right_max;type:varchar(30);default:''" json:"rightMax"`                // 图表右侧最大值
-	Source          int       `gorm:"column:source;type:int(11);default:0" json:"source"`                          //"1:ETA图库;2:商品价格曲线"`
-	ExtraConfig     string    `gorm:"column:extra_config;type:text;default:null" json:"extraConfig"`               // 图表额外配置,json数据
+	ChartInfoId       int       `gorm:"primaryKey;column:chart_info_id;type:int(11);not null" json:"chartInfoId"`
+	ChartName         string    `gorm:"uniqueIndex:idx_chart_name;column:chart_name;type:varchar(500);default:''" json:"chartName"`        // 图表名称
+	UniqueCode        string    `gorm:"unique;column:unique_code;type:varchar(50);default:''" json:"uniqueCode"`                           // 唯一编码
+	ChartClassifyId   int       `gorm:"uniqueIndex:idx_chart_name;column:chart_classify_id;type:int(11);default:0" json:"chartClassifyId"` // 分类id
+	SysUserId         int       `gorm:"column:sys_user_id;type:int(11);default:0" json:"sysUserId"`                                        // 创建人id
+	SysUserRealName   string    `gorm:"column:sys_user_real_name;type:varchar(100);default:''" json:"sysUserRealName"`                     // 创建人姓名
+	CreateTime        time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`
+	ModifyTime        time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`
+	DateType          int       `gorm:"column:date_type;type:int(11);default:0" json:"dateType"`                     // 日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间,6:起始日期至今
+	StartDate         string    `gorm:"column:start_date;type:varchar(30);default:''" json:"startDate"`              // 自定义开始日期
+	EndDate           string    `gorm:"column:end_date;type:varchar(30);default:''" json:"endDate"`                  // 自定义结束日期
+	IsSetName         int       `gorm:"column:is_set_name;type:tinyint(4);default:0" json:"isSetName"`               // 0:未修改,1:已修改
+	EdbInfoIDs        string    `gorm:"column:edb_info_ids;type:varchar(100);default:''" json:"edbInfoIds"`          // 指标id
+	ChartType         int       `gorm:"column:chart_type;type:tinyint(4);default:1" json:"chartType"`                // 生成样式:1:曲线图,2:季节性图
+	Calendar          string    `gorm:"column:calendar;type:varchar(10);default:''" json:"calendar"`                 // 公历/农历
+	SeasonStartDate   string    `gorm:"column:season_start_date;type:varchar(30);default:''" json:"seasonStartDate"` // 季节开始日期
+	SeasonEndDate     string    `gorm:"column:season_end_date;type:varchar(30);default:''" json:"seasonEndDate"`     // 季节结束日期
+	ChartImage        string    `gorm:"column:chart_image;type:varchar(255);default:''" json:"chartImage"`           // 图表图片
+	Sort              int       `gorm:"column:sort;type:int(9);default:0" json:"sort"`                               // 排序字段,数字越小越排前面
+	EdbEndDate        time.Time `gorm:"column:edb_end_date;type:date" json:"edbEndDate"`                             // 指标最后更新日期
+	LeftMin           string    `gorm:"column:left_min;type:varchar(30);default:''" json:"leftMin"`                  // 图表左侧最小值
+	LeftMax           string    `gorm:"column:left_max;type:varchar(30);default:''" json:"leftMax"`                  // 图表左侧最大值
+	RightMin          string    `gorm:"column:right_min;type:varchar(30);default:''" json:"rightMin"`                // 图表右侧最小值
+	RightMax          string    `gorm:"column:right_max;type:varchar(30);default:''" json:"rightMax"`                // 图表右侧最大值
+	Source            int       `gorm:"column:source;type:int(11);default:0" json:"source"`                          //"1:ETA图库;2:商品价格曲线"`
+	ExtraConfig       string    `gorm:"column:extra_config;type:text;default:null" json:"extraConfig"`               // 图表额外配置,json数据
+	ChartNameEn       string    `gorm:"column:chart_name_en" json:"chartNameEn"`                                     // 英文图表名称
+	Disabled          uint8     `gorm:"column:disabled" json:"disabled"`                                             // 是否禁用,0:启用,1:禁用,默认:0
+	BarConfig         string    `gorm:"column:bar_config" json:"barConfig"`                                          // 柱方图的配置,json数据
+	SeasonExtraConfig string    `gorm:"column:season_extra_config" json:"seasonExtraConfig"`                         // 季节性图表额外配置,json数据
+	StartYear         int       `gorm:"column:start_year" json:"startYear"`                                          // 当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N
+	ChartThemeID      int       `gorm:"column:chart_theme_id" json:"chartThemeId"`                                   // 主题id
+	SourcesFrom       string    `gorm:"column:sources_from" json:"sourcesFrom"`                                      // 图表来源
+	Instructions      string    `gorm:"column:instructions" json:"instructions"`                                     // 图表说明
+	MarkersLines      string    `gorm:"column:markers_lines" json:"markersLines"`                                    // 标识线
+	MarkersAreas      string    `gorm:"column:markers_areas" json:"markersAreas"`                                    // 标识区
 }
 
 // TableName get sql table name.获取数据库表名
@@ -41,55 +51,77 @@ func (m *ChartInfo) TableName() string {
 
 // ChartInfoColumns get sql column name.获取数据库列名
 var ChartInfoColumns = struct {
-	ChartInfoID     string
-	ChartName       string
-	UniqueCode      string
-	ChartClassifyID string
-	SysUserID       string
-	SysUserRealName string
-	CreateTime      string
-	ModifyTime      string
-	DateType        string
-	StartDate       string
-	EndDate         string
-	IsSetName       string
-	EdbInfoIDs      string
-	ChartType       string
-	Calendar        string
-	SeasonStartDate string
-	SeasonEndDate   string
-	ChartImage      string
-	Sort            string
-	EdbEndDate      string
-	LeftMin         string
-	LeftMax         string
-	RightMin        string
-	RightMax        string
-	ExtraConfig     string
+	ChartInfoID       string
+	ChartName         string
+	UniqueCode        string
+	ChartClassifyID   string
+	SysUserID         string
+	SysUserRealName   string
+	CreateTime        string
+	ModifyTime        string
+	DateType          string
+	StartDate         string
+	EndDate           string
+	IsSetName         string
+	EdbInfoIDs        string
+	ChartType         string
+	Calendar          string
+	SeasonStartDate   string
+	SeasonEndDate     string
+	ChartImage        string
+	Sort              string
+	EdbEndDate        string
+	LeftMin           string
+	LeftMax           string
+	RightMin          string
+	RightMax          string
+	ChartNameEn       string
+	Disabled          string
+	BarConfig         string
+	Source            string
+	ExtraConfig       string
+	SeasonExtraConfig string
+	StartYear         string
+	ChartThemeID      string
+	SourcesFrom       string
+	Instructions      string
+	MarkersLines      string
+	MarkersAreas      string
 }{
-	ChartInfoID:     "chart_info_id",
-	ChartName:       "chart_name",
-	UniqueCode:      "unique_code",
-	ChartClassifyID: "chart_classify_id",
-	SysUserID:       "sys_user_id",
-	SysUserRealName: "sys_user_real_name",
-	CreateTime:      "create_time",
-	ModifyTime:      "modify_time",
-	DateType:        "date_type",
-	StartDate:       "start_date",
-	EndDate:         "end_date",
-	IsSetName:       "is_set_name",
-	EdbInfoIDs:      "edb_info_ids",
-	ChartType:       "chart_type",
-	Calendar:        "calendar",
-	SeasonStartDate: "season_start_date",
-	SeasonEndDate:   "season_end_date",
-	ChartImage:      "chart_image",
-	Sort:            "sort",
-	EdbEndDate:      "edb_end_date",
-	LeftMin:         "left_min",
-	LeftMax:         "left_max",
-	RightMin:        "right_min",
-	RightMax:        "right_max",
-	ExtraConfig:     "extra_config",
+	ChartInfoID:       "chart_info_id",
+	ChartName:         "chart_name",
+	UniqueCode:        "unique_code",
+	ChartClassifyID:   "chart_classify_id",
+	SysUserID:         "sys_user_id",
+	SysUserRealName:   "sys_user_real_name",
+	CreateTime:        "create_time",
+	ModifyTime:        "modify_time",
+	DateType:          "date_type",
+	StartDate:         "start_date",
+	EndDate:           "end_date",
+	IsSetName:         "is_set_name",
+	EdbInfoIDs:        "edb_info_ids",
+	ChartType:         "chart_type",
+	Calendar:          "calendar",
+	SeasonStartDate:   "season_start_date",
+	SeasonEndDate:     "season_end_date",
+	ChartImage:        "chart_image",
+	Sort:              "sort",
+	EdbEndDate:        "edb_end_date",
+	LeftMin:           "left_min",
+	LeftMax:           "left_max",
+	RightMin:          "right_min",
+	RightMax:          "right_max",
+	ChartNameEn:       "chart_name_en",
+	Disabled:          "disabled",
+	BarConfig:         "bar_config",
+	Source:            "source",
+	ExtraConfig:       "extra_config",
+	SeasonExtraConfig: "season_extra_config",
+	StartYear:         "start_year",
+	ChartThemeID:      "chart_theme_id",
+	SourcesFrom:       "sources_from",
+	Instructions:      "instructions",
+	MarkersLines:      "markers_lines",
+	MarkersAreas:      "markers_areas",
 }

+ 6 - 0
models/tables/chart_info/query.go

@@ -45,6 +45,12 @@ type ChartInfoView struct {
 	//ChartClassify     []*chart_classify.ChartClassifyView
 	SeasonExtraConfig string `description:"季节性图表中的配置,json数据"`
 	StartYear         int    `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
+	ChartThemeId      int    `description:"图表应用主题ID"`
+	ChartThemeStyle   string `description:"图表应用主题样式"`
+	SourcesFrom       string `description:"图表来源"`
+	Instructions      string `description:"图表说明"`
+	MarkersLines      string `description:"标识线"`
+	MarkersAreas      string `description:"标识区"`
 }
 
 type SaveChartInfoReq struct {

+ 50 - 0
models/tables/chart_theme/chart_theme.go

@@ -0,0 +1,50 @@
+package chart_theme
+
+import "time"
+
+// ChartTheme 图表主题
+type ChartTheme struct {
+	ChartThemeID     int       `gorm:"primaryKey;column:chart_theme_id" json:"-"`
+	ChartThemeName   string    `gorm:"column:chart_theme_name" json:"chartThemeName"`      // 主题名称
+	ChartThemeTypeID int       `gorm:"column:chart_theme_type_id" json:"chartThemeTypeId"` // 图表类型id
+	ChartImage       string    `gorm:"column:chart_image" json:"chartImage"`               // 图表默认缩略图
+	Config           string    `gorm:"column:config" json:"config"`                        // 配置的值
+	IsDelete         uint8     `gorm:"column:is_delete" json:"isDelete"`                   // 是否删除,0:未删除;1:已删除
+	SysUserID        int       `gorm:"column:sys_user_id" json:"sysUserId"`                // 创建人id
+	SysUserRealName  string    `gorm:"column:sys_user_real_name" json:"sysUserRealName"`   // 创建人真实名称
+	IsSystemTheme    uint8     `gorm:"column:is_system_theme" json:"isSystemTheme"`        // 是否是系统主题,0:不是;1:是
+	ModifyTime       time.Time `gorm:"column:modify_time" json:"modifyTime"`               // 最近一次的编辑时间
+	CreateTime       time.Time `gorm:"column:create_time" json:"createTime"`               // 创建时间
+}
+
+// TableName get sql table name.获取数据库表名
+func (m *ChartTheme) TableName() string {
+	return "chart_theme"
+}
+
+// ChartThemeColumns get sql column name.获取数据库列名
+var ChartThemeColumns = struct {
+	ChartThemeID     string
+	ChartThemeName   string
+	ChartThemeTypeID string
+	ChartImage       string
+	Config           string
+	IsDelete         string
+	SysUserID        string
+	SysUserRealName  string
+	IsSystemTheme    string
+	ModifyTime       string
+	CreateTime       string
+}{
+	ChartThemeID:     "chart_theme_id",
+	ChartThemeName:   "chart_theme_name",
+	ChartThemeTypeID: "chart_theme_type_id",
+	ChartImage:       "chart_image",
+	Config:           "config",
+	IsDelete:         "is_delete",
+	SysUserID:        "sys_user_id",
+	SysUserRealName:  "sys_user_real_name",
+	IsSystemTheme:    "is_system_theme",
+	ModifyTime:       "modify_time",
+	CreateTime:       "create_time",
+}

+ 32 - 0
models/tables/chart_theme/query.go

@@ -0,0 +1,32 @@
+package chart_theme
+
+import "hongze/hongze_yb/global"
+
+// GetChartThemeId
+// @Description: 根据id获取主题
+// @author: Roc
+// @datetime 2023-12-14 16:05:36
+// @param chartThemeId int
+// @return item *ChartTheme
+// @return err error
+func GetChartThemeId(chartThemeId int) (item *ChartTheme, err error) {
+	sql := `SELECT * FROM chart_theme where chart_theme_id = ? AND is_delete = 0`
+	err = global.MYSQL["data"].Raw(sql, chartThemeId).First(&item).Error
+
+	return
+}
+
+// GetSystemChartTheme
+// @Description: 根据图表类型id获取系统配置
+// @author: Roc
+// @datetime 2023-12-14 14:26:35
+// @param chartThemeTypeId int
+// @return item *ChartTheme
+// @return err error
+func GetSystemChartTheme(chartThemeTypeId int) (item *ChartTheme, err error) {
+	sql := `SELECT a.* FROM chart_theme a
+         WHERE a.chart_theme_type_id = ? AND a.is_system_theme=1 ORDER BY a.chart_theme_id ASC `
+	err = global.MYSQL["data"].Raw(sql, chartThemeTypeId).First(&item).Error
+
+	return
+}

+ 38 - 0
models/tables/chart_theme_type/chart_theme_type.go

@@ -0,0 +1,38 @@
+package chart_theme_type
+
+import "time"
+
+// ChartThemeType 图表主题类型
+type ChartThemeType struct {
+	ChartThemeTypeID    int       `gorm:"primaryKey;column:chart_theme_type_id" json:"-"`           // 图表主题类型id
+	ChartTypeName       string    `gorm:"column:chart_type_name" json:"chartTypeName"`              // 类型名称
+	ChartType           int       `gorm:"column:chart_type" json:"chartType"`                       // 图表类型
+	ChartSource         int       `gorm:"column:chart_source" json:"chartSource"`                   // 图表来源
+	DefaultChartThemeID int       `gorm:"column:default_chart_theme_id" json:"defaultChartThemeId"` // 默认使用的主题id
+	ModifyTime          time.Time `gorm:"column:modify_time" json:"modifyTime"`                     // 修改时间
+	CreateTime          time.Time `gorm:"column:create_time" json:"createTime"`                     // 创建时间
+}
+
+// TableName get sql table name.获取数据库表名
+func (m *ChartThemeType) TableName() string {
+	return "chart_theme_type"
+}
+
+// ChartThemeTypeColumns get sql column name.获取数据库列名
+var ChartThemeTypeColumns = struct {
+	ChartThemeTypeID    string
+	ChartTypeName       string
+	ChartType           string
+	ChartSource         string
+	DefaultChartThemeID string
+	ModifyTime          string
+	CreateTime          string
+}{
+	ChartThemeTypeID:    "chart_theme_type_id",
+	ChartTypeName:       "chart_type_name",
+	ChartType:           "chart_type",
+	ChartSource:         "chart_source",
+	DefaultChartThemeID: "default_chart_theme_id",
+	ModifyTime:          "modify_time",
+	CreateTime:          "create_time",
+}

+ 17 - 0
models/tables/chart_theme_type/query.go

@@ -0,0 +1,17 @@
+package chart_theme_type
+
+import "hongze/hongze_yb/global"
+
+// GetChartThemeTypeByChartTypeAndSource
+// @Description: 通过图表类型和来源获取类型
+// @author: Roc
+// @datetime 2023-12-14 09:53:58
+// @param chartThemeTypeId int
+// @return item *ChartThemeType
+// @return err error
+func GetChartThemeTypeByChartTypeAndSource(chartType, source int) (item *ChartThemeType, err error) {
+	sql := `SELECT * FROM chart_theme_type where chart_type = ? AND chart_source = ? `
+	err = global.MYSQL["data"].Raw(sql, chartType, source).First(&item).Error
+
+	return
+}

+ 41 - 0
services/chart/chart_theme.go

@@ -0,0 +1,41 @@
+package chart
+
+import (
+	"hongze/hongze_yb/models/tables/chart_theme"
+	"hongze/hongze_yb/models/tables/chart_theme_type"
+	"hongze/hongze_yb/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 != utils.ErrNoRow() {
+		return
+	}
+
+	// 如果找到了,那么就返回
+	if err == nil {
+		return
+	}
+
+	err = nil
+
+	// 没有找到的话,那么就找默认的主题
+
+	// 查找主题类型id
+	chartThemeType, err := chart_theme_type.GetChartThemeTypeByChartTypeAndSource(chartType, source)
+	if err != nil {
+		return
+	}
+	chartTheme, err = chart_theme.GetSystemChartTheme(chartThemeType.ChartThemeTypeID)
+
+	return
+}