|
@@ -1,7 +1,9 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
"eta/eta_forum_admin/models"
|
|
|
+ "eta/eta_forum_admin/models/chart_theme/request"
|
|
|
"eta/eta_forum_admin/utils"
|
|
|
)
|
|
|
|
|
@@ -24,6 +26,11 @@ func GetChartThemeConfig(chartThemeId, source, chartType int) (chartTheme *model
|
|
|
|
|
|
// 如果找到了,那么就返回
|
|
|
if chartTheme != nil {
|
|
|
+ // 兼容历史数据,加入新字段LineOptionList
|
|
|
+ newConfig, e := ConvertOldChartOptions(chartTheme.Config)
|
|
|
+ if e == nil {
|
|
|
+ chartTheme.Config = newConfig
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -45,11 +52,51 @@ func GetChartThemeConfig(chartThemeId, source, chartType int) (chartTheme *model
|
|
|
|
|
|
// 如果找到了,那么就返回
|
|
|
if chartTheme != nil {
|
|
|
+ // 兼容历史数据,加入新字段LineOptionList
|
|
|
+ newConfig, e := ConvertOldChartOptions(chartTheme.Config)
|
|
|
+ if e == nil {
|
|
|
+ chartTheme.Config = newConfig
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 如果还是没找到,那就系统的主题id
|
|
|
chartTheme, err = models.GetSystemChartTheme(chartThemeType.ChartThemeTypeId)
|
|
|
|
|
|
+ // 兼容历史数据,加入新字段LineOptionList
|
|
|
+ newConfig, e := ConvertOldChartOptions(chartTheme.Config)
|
|
|
+ if e == nil {
|
|
|
+ chartTheme.Config = newConfig
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 兼容历史数据,加入新字段LineOptionList
|
|
|
+func ConvertOldChartOptions(config string) (newConfig string, err error) {
|
|
|
+ var oldTheme request.OldChartOptions
|
|
|
+
|
|
|
+ var newTheme request.NewChartOptions
|
|
|
+ err = json.Unmarshal([]byte(config), &oldTheme)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if oldTheme.LineOptionList != nil && len(oldTheme.LineOptionList) > 0 {
|
|
|
+ newConfig = config
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newTheme.OldChartOptions = oldTheme
|
|
|
+ for i := 0; i < 10; i++ {
|
|
|
+ newLineOption := request.NewLineOptions{
|
|
|
+ LineOptions: oldTheme.LineOptions,
|
|
|
+ Color: oldTheme.ColorsOptions[i],
|
|
|
+ DataMark: "none",
|
|
|
+ MarkType: "square",
|
|
|
+ MarkSize: 5,
|
|
|
+ MarkColor: oldTheme.ColorsOptions[i],
|
|
|
+ }
|
|
|
+ newTheme.LineOptionList = append(newTheme.LineOptionList, newLineOption)
|
|
|
+ }
|
|
|
+ newThemeStr, _ := json.Marshal(newTheme)
|
|
|
+ newConfig = string(newThemeStr)
|
|
|
return
|
|
|
}
|