|
@@ -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 = "获取成功"
|