Browse Source

同步主题信息

xyxie 10 months ago
parent
commit
339f1982d9

+ 53 - 0
controllers/chart_theme.go

@@ -0,0 +1,53 @@
+package controllers
+
+import (
+	"encoding/json"
+	"eta/eta_forum_hub/models"
+	"eta/eta_forum_hub/services"
+)
+
+// ChartThemeController
+// @Description: 图表主题配置模块
+type ChartThemeController struct {
+	BaseCommonController
+}
+
+// Save
+// @Title 新增或编辑主题
+// @Description
+// @Param	request	body request.DeleteThemeConfReq true "type json string"
+// @Success 200 Ret=200 添加成功
+// @router /theme/save [post]
+func (c *ChartThemeController) Save() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		c.Data["json"] = br
+		c.ServeJSON()
+	}()
+
+	var req models.ChartTheme
+	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if req.ChartThemeTypeId <= 0 {
+		br.Msg = "请选择图表类型"
+		br.IsSendEmail = false
+		return
+	}
+
+	// 添加入库
+	err = services.AddOrUpdateChartTheme(req)
+	if err != nil {
+		br.Msg = "添加失败"
+		br.ErrMsg = "添加失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "添加成功"
+}

+ 1 - 5
models/chart_theme.go

@@ -1,7 +1,6 @@
 package models
 
 import (
-	"errors"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
@@ -20,6 +19,7 @@ type ChartTheme struct {
 	IsSystemTheme    int       `description:"是否是系统主题,0:不是;1:是"`
 	ModifyTime       time.Time `description:"修改时间"`
 	CreateTime       time.Time `description:"创建时间"`
+	BusinessCode     string    `description:"商家编码"`
 }
 
 // GetChartThemeId
@@ -45,10 +45,6 @@ func GetChartThemeId(chartThemeId int) (item *ChartTheme, err error) {
 // @param cols []string
 // @return err error
 func (m *ChartTheme) Add() (err error) {
-	if m.ChartThemeId > 0 {
-		err = errors.New("该配置已存在")
-		return
-	}
 	o := orm.NewOrm()
 	lastId, err := o.Insert(m)
 	if err != nil {

+ 0 - 91
models/chart_theme_default_data.go

@@ -1,91 +0,0 @@
-package models
-
-import (
-	"eta/eta_forum_hub/utils"
-	"github.com/beego/beego/v2/client/orm"
-	"time"
-)
-
-// ChartThemeDefaultData
-// @Description: 图表默认数据
-type ChartThemeDefaultData struct {
-	EdbDataId     int       `description:"指标数据ID" orm:"column(edb_data_id);pk"`
-	EdbInfoId     int       `description:"指标ID"`
-	EdbCode       string    `description:"指标编码"`
-	DataTime      string    //`json:"-" description:"数据日期"`
-	DataTimestamp int64     `description:"数据日期"`
-	Value         float64   `description:"数据值"`
-	ModifyTime    time.Time `description:"修改时间"`
-	CreateTime    time.Time `description:"创建时间"`
-}
-
-// GetChartThemeDefaultDataList
-// @Description: 获取指标的数据(日期正序返回)
-// @author: Roc
-// @datetime 2023-12-13 16:40:14
-// @param endInfoId int
-// @return list []*ChartThemeDefaultData
-// @return err error
-func GetChartThemeDefaultDataList(endInfoId int) (list []*ChartThemeDefaultData, err error) {
-	sql := `SELECT * FROM chart_theme_default_data WHERE edb_info_id=? `
-
-	sql += ` ORDER BY data_time ASC `
-	o := orm.NewOrm()
-	_, err = o.Raw(sql, endInfoId).QueryRows(&list)
-	return
-}
-
-// Update
-// @Description: 更新
-// @author: Roc
-// @receiver m
-// @datetime 2023-12-13 16:40:04
-// @param cols []string
-// @return err error
-func (m *ChartThemeDefaultData) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
-
-	return
-}
-
-// GetChartThemeDefaultDataItemList
-// @Description: 获取指标的数据(日期正序返回)
-// @author: Roc
-// @datetime 2023-12-13 16:40:22
-// @param endInfoId int
-// @return list []*ChartThemeDefaultDataItem
-// @return err error
-func GetChartThemeDefaultDataItemList(endInfoId int, startDate string) (list []*EdbDataList, err error) {
-	sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM chart_theme_default_data WHERE edb_info_id=? `
-	var pars []interface{}
-	if startDate != "" {
-		sql += ` AND data_time>=? `
-		pars = append(pars, startDate)
-	}
-
-	sql += ` ORDER BY data_time ASC `
-	o := orm.NewOrm()
-	_, err = o.Raw(sql, endInfoId, pars).QueryRows(&list)
-	return
-}
-
-// GetChartEdbMappingListByEdbInfoId
-// @Description: 返回模拟的mapping假数据
-// @author: Roc
-// @datetime 2023-12-14 10:03:20
-// @param edbInfoIdList []int
-// @return list []*models.ChartEdbInfoMapping
-// @return err error
-func GetChartEdbMappingListByEdbInfoId(edbInfoIdList []int) (list []*ChartEdbInfoMapping, err error) {
-	num := len(edbInfoIdList)
-	if num <= 0 {
-		return
-	}
-	o := orm.NewOrm()
-	sql := ` SELECT * FROM chart_theme_default_edb_info WHERE edb_info_id IN(` + utils.GetOrmInReplace(num) + `)
-              `
-	_, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
-
-	return
-}

+ 9 - 0
routers/commentsRouter.go

@@ -61,4 +61,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: "Save",
+            Router: `/theme/save`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
 }

+ 1 - 0
routers/router.go

@@ -17,6 +17,7 @@ func init() {
 		web.NSNamespace("/chart",
 			web.NSInclude(
 				&controllers.ChartInfoController{},
+				&controllers.ChartThemeController{},
 			),
 		),
 		web.NSNamespace("/auth",

+ 60 - 0
services/chart_theme.go

@@ -0,0 +1,60 @@
+package services
+
+import (
+	"eta/eta_forum_hub/models"
+	"fmt"
+	"time"
+)
+
+func AddOrUpdateChartTheme(req models.ChartTheme) (err error) {
+	// 查询主题信息是否存在
+	chartTheme := new(models.ChartTheme)
+	if req.ChartThemeId > 0 {
+		chartTheme, err = models.GetChartThemeId(req.ChartThemeId)
+		if err != nil {
+			err = fmt.Errorf("查询主题信息失败 %v", err)
+			return
+		}
+		if chartTheme.BusinessCode != chartTheme.BusinessCode {
+			err = fmt.Errorf("更新主题信息失败")
+		}
+
+		chartTheme.ChartThemeName = req.ChartThemeName
+		chartTheme.ChartThemeTypeId = req.ChartThemeTypeId
+		chartTheme.Config = req.Config
+		chartTheme.ChartImage = req.ChartImage
+		chartTheme.IsDelete = req.IsDelete
+		chartTheme.SysUserId = req.SysUserId
+		chartTheme.SysUserRealName = req.SysUserRealName
+		chartTheme.ModifyTime = time.Now()
+
+		// 添加入库
+		err = chartTheme.Update([]string{})
+		if err != nil {
+			err = fmt.Errorf("添加或更新图表主题失败,%v", err)
+			return
+		}
+	} else {
+		chartTheme = &models.ChartTheme{
+			ChartThemeId:     req.ChartThemeId,
+			ChartThemeName:   req.ChartThemeName,
+			ChartThemeTypeId: req.ChartThemeTypeId,
+			Config:           req.Config,
+			ChartImage:       req.ChartImage,
+			IsDelete:         req.IsDelete,
+			SysUserId:        req.SysUserId,
+			SysUserRealName:  req.SysUserRealName,
+			ModifyTime:       time.Now(),
+			CreateTime:       time.Now(),
+			BusinessCode:     req.BusinessCode,
+		}
+		// 添加入库
+		err = chartTheme.Add()
+		if err != nil {
+			err = fmt.Errorf("添加或更新图表主题失败,%v", err)
+			return
+		}
+	}
+
+	return
+}

+ 3 - 3
utils/redis/cluster_redis.go

@@ -149,12 +149,12 @@ func (rc *ClusterRedisClient) Put(key string, val interface{}, timeout time.Dura
 // @param timeout
 // @return bool
 func (rc *ClusterRedisClient) SetNX(key string, val interface{}, timeout time.Duration) bool {
-	result, err := rc.redisClient.SetEX(context.TODO(), key, val, timeout).Result()
-	if err != nil || result != "OK" {
+	result, err := rc.redisClient.SetNX(context.TODO(), key, val, timeout).Result()
+	if err != nil {
 		return false
 	}
 
-	return true
+	return result
 }
 
 // Delete

+ 3 - 3
utils/redis/standalone_redis.go

@@ -141,12 +141,12 @@ func (rc *StandaloneRedisClient) Put(key string, val interface{}, timeout time.D
 // @param timeout
 // @return bool
 func (rc *StandaloneRedisClient) SetNX(key string, val interface{}, timeout time.Duration) bool {
-	result, err := rc.redisClient.SetEX(context.TODO(), key, val, timeout).Result()
-	if err != nil || result != "OK" {
+	result, err := rc.redisClient.SetNX(context.TODO(), key, val, timeout).Result()
+	if err != nil {
 		return false
 	}
 
-	return true
+	return result
 }
 
 // Delete