Browse Source

同步默认主题设置

xyxie 9 months ago
parent
commit
c6bc962b3c
4 changed files with 105 additions and 0 deletions
  1. 34 0
      controllers/chart_theme.go
  2. 18 0
      models/chart_theme_type.go
  3. 9 0
      routers/commentsRouter.go
  4. 44 0
      services/chart_theme.go

+ 34 - 0
controllers/chart_theme.go

@@ -51,3 +51,37 @@ func (c *ChartThemeController) Save() {
 	br.Success = true
 	br.Msg = "添加成功"
 }
+
+// ThemeTypeSave
+// @Title 新增或编辑主题类型
+// @Description
+// @Param	request	body request.DeleteThemeConfReq true "type json string"
+// @Success 200 Ret=200 添加成功
+// @router /theme/type/save [post]
+func (c *ChartThemeController) ThemeTypeSave() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		c.Data["json"] = br
+		c.ServeJSON()
+	}()
+
+	var req models.ChartThemeType
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	// 添加入库
+	err = services.AddOrUpdateChartThemeType(req)
+	if err != nil {
+		br.Msg = "添加失败"
+		br.ErrMsg = "添加失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "添加成功"
+}

+ 18 - 0
models/chart_theme_type.go

@@ -17,6 +17,24 @@ type ChartThemeType struct {
 	CreateTime          time.Time `description:"创建时间"`
 }
 
+// Add
+// @Description: 添加
+// @author: Roc
+// @receiver m
+// @datetime 2023-12-14 16:11:10
+// @param cols []string
+// @return err error
+func (m *ChartThemeType) Add() (err error) {
+	o := orm.NewOrm()
+	lastId, err := o.Insert(m)
+	if err != nil {
+		return
+	}
+	m.ChartThemeTypeId = int(lastId)
+
+	return
+}
+
 // Update
 // @Description: 更新
 // @author: Roc

+ 9 - 0
routers/commentsRouter.go

@@ -70,4 +70,13 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:ChartThemeController"] = append(beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:ChartThemeController"],
+        beego.ControllerComments{
+            Method: "ThemeTypeSave",
+            Router: `/theme/type/save`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
 }

+ 44 - 0
services/chart_theme.go

@@ -63,3 +63,47 @@ func AddOrUpdateChartTheme(req models.ChartTheme) (err error) {
 
 	return
 }
+
+func AddOrUpdateChartThemeType(req models.ChartThemeType) (err error) {
+	// 查询主题信息是否存在
+	chartThemeType := new(models.ChartThemeType)
+	if req.ChartThemeTypeId > 0 {
+		var e error
+		chartThemeType, e = models.GetChartThemeTypeById(req.ChartThemeTypeId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = fmt.Errorf("查询主题信息失败 %v", e)
+			return
+		}
+		if e == nil {
+			// 添加入库
+			chartThemeType.ChartTypeName = req.ChartTypeName
+			chartThemeType.ChartType = req.ChartType
+			chartThemeType.DefaultChartThemeId = req.DefaultChartThemeId
+			chartThemeType.ChartSource = req.ChartSource
+			chartThemeType.ModifyTime = time.Now()
+			err = chartThemeType.Update([]string{})
+			if err != nil {
+				err = fmt.Errorf("添加或更新图表主题失败,%v", err)
+				return
+			}
+			return
+		}
+	}
+
+	chartThemeType = &models.ChartThemeType{
+		ChartTypeName:       req.ChartTypeName,
+		ChartType:           req.ChartType,
+		ChartSource:         req.ChartSource,
+		DefaultChartThemeId: req.DefaultChartThemeId,
+		ModifyTime:          time.Now(),
+		CreateTime:          time.Now(),
+	}
+	// 添加入库
+	err = chartThemeType.Add()
+	if err != nil {
+		err = fmt.Errorf("添加或更新图表主题失败,%v", err)
+		return
+	}
+
+	return
+}