瀏覽代碼

fix:报告缓存问题

Roc 9 月之前
父節點
當前提交
a736355cf4
共有 1 個文件被更改,包括 38 次插入90 次删除
  1. 38 90
      controllers/chart.go

+ 38 - 90
controllers/chart.go

@@ -39,12 +39,24 @@ func (this *ChartController) ChartInfoDetail() {
 	}
 	key := utils.HZ_CHART_LIB_DETAIL + uniqueCode
 	resp := new(models.ChartInfoDetailResp)
+
+	// 图表水印
+	conf, e := models.GetBusinessConf()
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取配置信息失败, Err: " + e.Error()
+		return
+	}
+
 	//判断是否有缓存
 	if utils.Re == nil {
 		if utils.Re == nil && utils.Rc.IsExist(key) {
 			if data, err1 := utils.Rc.RedisBytes(key); err1 == nil {
 				err := json.Unmarshal(data, &resp)
 				if err == nil && resp != nil {
+					if conf[models.BusinessConfWatermarkChart] == "true" && conf[models.BusinessConfCompanyWatermark] != "" {
+						resp.WaterMark = conf[models.BusinessConfCompanyWatermark]
+					}
 					br.Ret = 200
 					br.Success = true
 					br.Msg = "获取成功"
@@ -67,104 +79,40 @@ func (this *ChartController) ChartInfoDetail() {
 		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
 		return
 	}
-	chartInfoId := chartInfo.ChartInfoId
 
-	dateType := chartInfo.DateType
-	if dateType <= 0 {
-		dateType = 3
-	}
-	startDate := chartInfo.StartDate
-	endDate := chartInfo.EndDate
-	//seasonStartDate := chartInfo.SeasonStartDate
-	//seasonEndDate := chartInfo.SeasonEndDate
-	calendar := chartInfo.Calendar
-	chartType := chartInfo.ChartType
-	startYear := chartInfo.StartYear
-
-	if calendar == "" {
-		calendar = "公历"
-	}
-
-	mappingList, err := models.GetChartEdbMappingList(chartInfoId)
-	if err != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
+	//var resp interface{}
+	var isOk bool
+	var msg, errMsg string
+	switch chartInfo.Source {
+	case utils.CHART_SOURCE_DEFAULT:
+		resp, isOk, msg, errMsg = GetChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_FUTURE_GOOD:
+		resp, isOk, msg, errMsg = GetFutureGoodChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_FUTURE_GOOD_PROFIT:
+		resp, isOk, msg, errMsg = GetFutureGoodProfitChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_CORRELATION, utils.CHART_SOURCE_ROLLING_CORRELATION:
+		resp, isOk, msg, errMsg = GetCorrelationChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_LINE_EQUATION:
+		resp, isOk, msg, errMsg = GetLineEquationChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_LINE_FEATURE_STANDARD_DEVIATION, utils.CHART_SOURCE_LINE_FEATURE_PERCENTILE, utils.CHART_SOURCE_LINE_FEATURE_FREQUENCY:
+		resp, isOk, msg, errMsg = GetLineFeatureChartInfoDetailFromUniqueCode(chartInfo, key)
+	case utils.CHART_SOURCE_CROSS_HEDGING:
+		resp, isOk, msg, errMsg = GetCrossVarietyChartInfoDetailFromUniqueCode(chartInfo, key)
+	default:
+		br.Msg = "错误的图表"
+		br.ErrMsg = "错误的图表"
 		return
 	}
-
-	yearMax := 0
-	if dateType == utils.DateTypeNYears {
-		for _, v := range mappingList {
-			if v.LatestDate != "" {
-				lastDateT, tErr := time.Parse(utils.FormatDate, v.LatestDate)
-				if tErr != nil {
-					br.Msg = "获取失败"
-					br.ErrMsg = "获取图表日期信息失败,Err:" + tErr.Error()
-					return
-				}
-				if lastDateT.Year() > yearMax {
-					yearMax = lastDateT.Year()
-				}
-			}
-		}
-	}
-	// 开始/结束日期
-	startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
-
-	extraConfigStr := chartInfo.ExtraConfig
-	// 柱方图的一些配置
-	var barConfig data_manage.BarChartInfoReq
-	if chartInfo != nil && chartInfo.ChartType == 7 {
-		if chartInfo.BarConfig == `` {
-			br.Msg = "柱方图未配置"
-			br.ErrMsg = "柱方图未配置"
-			return
-		}
-		err := json.Unmarshal([]byte(chartInfo.BarConfig), &barConfig)
-		if err != nil {
-			br.Msg = "柱方图配置异常"
-			br.ErrMsg = "柱方图配置异常"
-			return
-		}
-		extraConfigStr = chartInfo.BarConfig
-	}
-
-	edbList, xEdbIdValue, yDataList, dataResp, err, errMsg := data.GetChartEdbData(chartInfoId, chartType, calendar, startDate, endDate, mappingList, extraConfigStr, chartInfo.SeasonExtraConfig)
-	if err != nil {
-		br.Msg = "获取失败"
-		if errMsg != `` {
-			br.Msg = errMsg
-		}
-		br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
+	if !isOk {
+		br.Msg = msg
+		br.ErrMsg = errMsg
 		return
 	}
 
-	for _, v := range edbList {
-		// 指标别名
-		if barConfig.EdbInfoIdList != nil && len(barConfig.EdbInfoIdList) > 0 {
-			for _, reqEdb := range barConfig.EdbInfoIdList {
-				if v.EdbInfoId == reqEdb.EdbInfoId {
-					v.EdbAliasName = reqEdb.Name
-				}
-			}
-		}
+	if conf[models.BusinessConfWatermarkChart] == "true" && conf[models.BusinessConfCompanyWatermark] != "" {
+		resp.WaterMark = conf[models.BusinessConfCompanyWatermark]
 	}
 
-	// 图表的指标来源
-	sourceNameList, sourceNameEnList := data.GetEdbSourceByEdbInfoIdList(edbList)
-	chartInfo.ChartSource = strings.Join(sourceNameList, ",")
-	chartInfo.ChartSourceEn = strings.Join(sourceNameEnList, ",")
-
-	resp.ChartInfo = chartInfo
-	resp.EdbInfoList = edbList
-	resp.XEdbIdValue = xEdbIdValue
-	resp.YDataList = yDataList
-	resp.DataResp = dataResp
-
-	if utils.Re == nil {
-		data, _ := json.Marshal(resp)
-		utils.Rc.Put(key, data, 10*time.Minute)
-	}
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"