浏览代码

上传图表添加上传人

xyxie 1 年之前
父节点
当前提交
3448aa070a
共有 4 个文件被更改,包括 96 次插入68 次删除
  1. 16 13
      controllers/chart_info.go
  2. 46 44
      models/chart_info.go
  3. 28 5
      services/chart_info.go
  4. 6 6
      services/edb_info.go

+ 16 - 13
controllers/chart_info.go

@@ -4,7 +4,9 @@ import (
 	"encoding/json"
 	"eta/eta_forum_hub/models"
 	"eta/eta_forum_hub/services"
+	"eta/eta_forum_hub/utils"
 	"strings"
+	"time"
 )
 
 type ChartInfoController struct {
@@ -107,19 +109,6 @@ func (this *ChartInfoController) Save() {
 		this.ServeJSON()
 	}()
 
-	/*deleteCache := true
-	cacheKey := "CACHE_CHART_INFO_ADD_" + strconv.Itoa(sysUser.AdminId)
-	defer func() {
-		if deleteCache {
-			utils.Rc.Delete(cacheKey)
-		}
-	}()
-	if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
-		deleteCache = false
-		br.Msg = "系统处理中,请稍后重试!"
-		br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
-		return
-	}*/
 	var req models.AddChartReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -155,6 +144,20 @@ func (this *ChartInfoController) Save() {
 		return
 	}
 
+	deleteCache := true
+	cacheKey := "eta_forum_hub:CACHE_CHART_INFO_ADD:" + req.ChartInfo.ChartName
+	defer func() {
+		if deleteCache {
+			utils.Rc.Delete(cacheKey)
+		}
+	}()
+	if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
+		deleteCache = false
+		br.Msg = "系统处理中,请稍后重试!"
+		br.ErrMsg = "系统处理中,请稍后重试!;data:" + string(this.Ctx.Input.RequestBody)
+		return
+	}
+
 	chartInfo, err, errMsg, _ := services.AddChartInfo(&req, 0, "")
 	if err != nil {
 		br.Msg = errMsg

+ 46 - 44
models/chart_info.go

@@ -11,50 +11,52 @@ import (
 )
 
 type ChartInfo struct {
-	ChartInfoId       int    `orm:"column(chart_info_id);pk"`
-	ChartName         string `description:"来源名称"`
-	ChartNameEn       string `description:"英文图表名称"`
-	ChartClassifyId   int    `description:"图表分类id"`
-	SysUserId         int
-	SysUserRealName   string
-	UniqueCode        string `description:"图表唯一编码"`
-	CreateTime        time.Time
-	ModifyTime        time.Time
-	DateType          int    `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
-	StartDate         string `description:"自定义开始日期"`
-	EndDate           string `description:"自定义结束日期"`
-	IsSetName         int    `description:"设置名称"`
-	EdbInfoIds        string `description:"指标id"`
-	ChartType         int    `description:"生成样式:1:曲线图,2:季节性图,3:面积图,4:柱状图,5:散点图,6:组合图,7:柱方图,8:商品价格曲线图,9:相关性图,10:截面散点图, 11:雷达图"`
-	Calendar          string `description:"公历/农历"`
-	SeasonStartDate   string `description:"季节性图开始日期"`
-	SeasonEndDate     string `description:"季节性图开始日期"`
-	ChartImage        string `description:"图表图片"`
-	Sort              int    `description:"排序字段,数字越小越排前面"`
-	XMin              string `description:"图表X轴最小值"`
-	XMax              string `description:"图表X轴最大值"`
-	LeftMin           string `description:"图表左侧最小值"`
-	LeftMax           string `description:"图表左侧最大值"`
-	RightMin          string `description:"图表右侧最小值"`
-	RightMax          string `description:"图表右侧最大值"`
-	Right2Min         string `description:"图表右侧2最小值"`
-	Right2Max         string `description:"图表右侧2最大值"`
-	MinMaxSave        int    `description:"是否手动保存过上下限:0-否;1-是"`
-	Disabled          int    `description:"是否禁用,0:启用,1:禁用,默认:0"`
-	BarConfig         string `description:"柱方图的配置,json数据"`
-	Source            int    `description:"1:ETA图库;2:商品价格曲线"`
-	ExtraConfig       string `description:"图表额外配置,json数据"`
-	SeasonExtraConfig string `description:"季节性图表中的配置,json数据"`
-	StartYear         int    `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
-	ChartThemeId      int    `description:"图表应用主题ID"`
-	SourcesFrom       string `description:"图表来源"`
-	Instructions      string `description:"图表说明"`
-	MarkersLines      string `description:"标识线"`
-	MarkersAreas      string `description:"标识区"`
-	Unit              string `description:"中文单位名称"`
-	UnitEn            string `description:"英文单位名称"`
-	IsJoinPermission  int    `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
-	Description       string
+	ChartInfoId        int    `orm:"column(chart_info_id);pk"`
+	ChartName          string `description:"来源名称"`
+	ChartNameEn        string `description:"英文图表名称"`
+	ChartClassifyId    int    `description:"图表分类id"`
+	SysUserId          int
+	SysUserRealName    string
+	UniqueCode         string `description:"图表唯一编码"`
+	CreateTime         time.Time
+	ModifyTime         time.Time
+	DateType           int    `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
+	StartDate          string `description:"自定义开始日期"`
+	EndDate            string `description:"自定义结束日期"`
+	IsSetName          int    `description:"设置名称"`
+	EdbInfoIds         string `description:"指标id"`
+	ChartType          int    `description:"生成样式:1:曲线图,2:季节性图,3:面积图,4:柱状图,5:散点图,6:组合图,7:柱方图,8:商品价格曲线图,9:相关性图,10:截面散点图, 11:雷达图"`
+	Calendar           string `description:"公历/农历"`
+	SeasonStartDate    string `description:"季节性图开始日期"`
+	SeasonEndDate      string `description:"季节性图开始日期"`
+	ChartImage         string `description:"图表图片"`
+	Sort               int    `description:"排序字段,数字越小越排前面"`
+	XMin               string `description:"图表X轴最小值"`
+	XMax               string `description:"图表X轴最大值"`
+	LeftMin            string `description:"图表左侧最小值"`
+	LeftMax            string `description:"图表左侧最大值"`
+	RightMin           string `description:"图表右侧最小值"`
+	RightMax           string `description:"图表右侧最大值"`
+	Right2Min          string `description:"图表右侧2最小值"`
+	Right2Max          string `description:"图表右侧2最大值"`
+	MinMaxSave         int    `description:"是否手动保存过上下限:0-否;1-是"`
+	Disabled           int    `description:"是否禁用,0:启用,1:禁用,默认:0"`
+	BarConfig          string `description:"柱方图的配置,json数据"`
+	Source             int    `description:"1:ETA图库;2:商品价格曲线"`
+	ExtraConfig        string `description:"图表额外配置,json数据"`
+	SeasonExtraConfig  string `description:"季节性图表中的配置,json数据"`
+	StartYear          int    `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
+	ChartThemeId       int    `description:"图表应用主题ID"`
+	SourcesFrom        string `description:"图表来源"`
+	Instructions       string `description:"图表说明"`
+	MarkersLines       string `description:"标识线"`
+	MarkersAreas       string `description:"标识区"`
+	Unit               string `description:"中文单位名称"`
+	UnitEn             string `description:"英文单位名称"`
+	IsJoinPermission   int    `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	Description        string
+	UploadUserId       int
+	UploadUserRealName string
 }
 
 type ChartInfoMore struct {

+ 28 - 5
services/chart_info.go

@@ -4,6 +4,7 @@ import (
 	"errors"
 	"eta/eta_forum_hub/models"
 	"eta/eta_forum_hub/models/system"
+	"eta/eta_forum_hub/services/alarm_msg"
 	"eta/eta_forum_hub/services/elastic"
 	"eta/eta_forum_hub/utils"
 	"fmt"
@@ -15,6 +16,12 @@ import (
 
 // AddChartInfo 添加图表
 func AddChartInfo(req *models.AddChartReq, sysUserId int, sysUserRealName string) (chartInfo *models.ChartInfo, err error, errMsg string, isSendEmail bool) {
+	defer func() {
+		if err != nil {
+			utils.FileLog.Info("添加图表失败, AddChartInfo Msg: " + errMsg + ", Err: " + err.Error())
+			go alarm_msg.SendAlarmMsg("添加图表失败, AddChartInfo Msg: "+errMsg+", Err: "+err.Error(), 3)
+		}
+	}()
 	isSendEmail = true // 默认错误的时候要发送邮件
 
 	req.ChartInfo.ChartName = strings.Trim(req.ChartInfo.ChartName, " ")
@@ -94,16 +101,26 @@ func AddChartInfo(req *models.AddChartReq, sysUserId int, sysUserRealName string
 		}
 	}
 
+	// 查询上传者信息
+	if req.UploaderInfo != nil {
+		uploader, _ := system.GetAdminByAdminName(req.UploaderInfo.AdminName)
+		if uploader != nil {
+			chartInfo.UploadUserId = uploader.AdminId
+			chartInfo.UploadUserRealName = uploader.RealName
+		}
+	}
+
 	chartInfo.ChartName = req.ChartInfo.ChartName
 	chartInfo.EdbInfoIds = edbInfoIdStr
 
 	chartInfo.CreateTime = time.Now()
 	chartInfo.ModifyTime = time.Now()
 	chartInfo.IsSetName = req.ChartInfo.IsSetName
-	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+	//timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 
 	// todo 是否需要单独生成一个指标图表序列ID
-	chartInfo.UniqueCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp)
+	//chartInfo.UniqueCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp)
+	chartInfo.UniqueCode = req.ChartInfo.UniqueCode
 	chartInfo.DateType = req.ChartInfo.DateType
 	chartInfo.ChartType = req.ChartInfo.ChartType
 
@@ -163,8 +180,9 @@ func AddChartInfo(req *models.AddChartReq, sysUserId int, sysUserRealName string
 		mapItem.EdbInfoId = edbBase.EdbInfoId
 		mapItem.CreateTime = time.Now()
 		mapItem.ModifyTime = time.Now()
-		timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
-		mapItem.UniqueCode = utils.MD5(fmt.Sprint(utils.CHART_PREFIX, "_", edbBase.EdbInfoId, "_", timestamp))
+		//timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+		//mapItem.UniqueCode = utils.MD5(fmt.Sprint(utils.CHART_PREFIX, "_", edbBase.EdbInfoId, "_", timestamp))
+		mapItem.UniqueCode = v.UniqueCode
 		mapItem.MaxData = v.MaxData
 		mapItem.MinData = v.MinData
 		mapItem.IsOrder = v.IsOrder
@@ -205,7 +223,12 @@ func AddChartInfo(req *models.AddChartReq, sysUserId int, sysUserRealName string
 
 // UpdateChartInfoAndEdbInfo 刷新图表信息和指标信息
 func UpdateChartInfoAndEdbInfo(req *models.AddChartReq, sysUserId int, sysUserRealName string) (chartInfo *models.ChartInfo, err error, errMsg string, isSendEmail bool) {
-
+	defer func() {
+		if err != nil {
+			utils.FileLog.Info("刷新图表信息和指标信息失败, AddChartInfo Msg: " + errMsg + ", Err: " + err.Error())
+			go alarm_msg.SendAlarmMsg("刷新图表信息和指标信息失败, AddChartInfo Msg: "+errMsg+", Err: "+err.Error(), 3)
+		}
+	}()
 	isSendEmail = true // 默认错误的时候要发送邮件
 
 	req.ChartInfo.ChartName = strings.Trim(req.ChartInfo.ChartName, " ")

+ 6 - 6
services/edb_info.go

@@ -107,7 +107,7 @@ func AddOrUpdateEdbInfo(edbItem *models.EdbInfo, sysUserId int, sysUserRealName
 
 		edbInfo.MaxValue = edbItem.MaxValue
 		edbInfo.MinValue = edbItem.MinValue
-		edbInfo.EdbType = edbItem.EdbType
+		edbInfo.EdbInfoType = edbItem.EdbInfoType
 		edbInfo.LatestDate = edbItem.LatestDate
 		edbInfo.LatestValue = edbItem.LatestValue
 		err = edbInfo.Update([]string{})
@@ -145,12 +145,12 @@ func AddOrUpdateEdbInfo(edbItem *models.EdbInfo, sysUserId int, sysUserRealName
 		edbInfo.DataDateType = edbItem.DataDateType
 		edbInfo.TerminalCode = edbItem.TerminalCode
 		edbInfo.SourceIndexName = edbItem.SourceIndexName
-		timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
-		edbInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
-
+		//timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+		//edbInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
+		edbInfo.UniqueCode = edbItem.UniqueCode
 		edbInfo.MaxValue = edbItem.MaxValue
 		edbInfo.MinValue = edbItem.MinValue
-		edbInfo.EdbType = edbItem.EdbType
+		edbInfo.EdbInfoType = edbItem.EdbInfoType
 		edbInfo.LatestDate = edbItem.LatestDate
 		edbInfo.LatestValue = edbItem.LatestValue
 		edbInfoId, err = models.AddEdbInfo(edbInfo)
@@ -176,7 +176,7 @@ func AddOrUpdateEdbInfo(edbItem *models.EdbInfo, sysUserId int, sysUserRealName
 			return
 		}
 	}
-	
+
 	// 更新es
 	go AddOrEditEdbInfoToEs(edbInfo.EdbInfoId)