Kaynağa Gözat

研报小程序,增加区间分析

xyxie 6 ay önce
ebeveyn
işleme
4e1e4afaa2
3 değiştirilmiş dosya ile 50 ekleme ve 0 silme
  1. 25 0
      controller/chart/chart_info.go
  2. 19 0
      services/eta_chart_lib.go
  3. 6 0
      utils/constants.go

+ 25 - 0
controller/chart/chart_info.go

@@ -106,6 +106,31 @@ func GetChartInfoDetail(c *gin.Context) {
 		sourceArr = append(sourceArr, "平衡表")
 		dataResp = chartDataResp.DataResp
 
+	} else if chartInfo.Source == utils.CHART_SOURCE_RANGE_ANALYSIS {
+		//调用接口
+		chartData, e := services.GetBalanceChartDetail(chartInfo.UniqueCode)
+		if e != nil {
+			response.FailMsg("获取失败", "获取图表信息失败, Err:"+e.Error(), c)
+			return
+		}
+		chartDataResp := new(chart_info.ChartInfoDetailResp)
+		// 兼容返回值类型
+		chartDataString, _ := json.Marshal(chartData)
+		err = json.Unmarshal(chartDataString, chartDataResp)
+		if err != nil {
+			response.FailMsg("获取失败", "获取图表信息失败, Err:"+err.Error(), c)
+			return
+		}
+		chartInfo = chartDataResp.ChartInfo
+		chartInfo.ChartInfoId = chartInfoId
+		yDataList = chartDataResp.YDataList
+		edbList = chartDataResp.EdbInfoList
+		xEdbIdValue = chartDataResp.XEdbIdValue
+		dataResp = chartDataResp.DataResp
+		// 图表的指标来源
+		sourceNameList, sourceNameEnList := chart.GetEdbSourceByEdbInfoIdList(edbList)
+		chartInfo.ChartSource = strings.Join(sourceNameList, ",")
+		chartInfo.ChartSourceEn = strings.Join(sourceNameEnList, ",")
 	} else {
 
 		// 获取主题样式

+ 19 - 0
services/eta_chart_lib.go

@@ -54,6 +54,25 @@ func GetBalanceChartDetail(uniqueCode string) (respData *chart_info.ChartLibChar
 	return
 }
 
+// GetRangeChartChartDetail 获取区间计算图表详情接口
+func GetRangeChartChartDetail(uniqueCode string) (respData *chart_info.ChartLibChartInfoDetailResp, err error) {
+	postUrl := fmt.Sprintf("%s/chart_auth/detail?UniqueCode=%s", global.CONFIG.EtaChartLib.ServerUrl, uniqueCode)
+	result, err := httpGet(postUrl)
+	if err != nil {
+		return
+	}
+	var resp ChartCommonDetailResp
+	if err = json.Unmarshal(result, &resp); err != nil {
+		return
+	}
+	if resp.Ret != 200 {
+		err = fmt.Errorf("%s,%s", resp.Msg, resp.ErrMsg)
+		return
+	}
+	respData = resp.Data
+	return
+}
+
 // post请求
 func httpPost(url, postData string, params ...string) ([]byte, error) {
 	body := ioutil.NopCloser(strings.NewReader(postData))

+ 6 - 0
utils/constants.go

@@ -120,6 +120,8 @@ const (
 	DATA_SOURCE_CALCULATE_ZDYFX                                 // 自定义分析->74
 	DATA_SOURCE_CALCULATE_RJZ                                   // 日均值计算->75
 	DATA_SOURCE_BUSINESS                             = 84       // 来源于自有数据
+	DATA_SOURCE_CALCULATE_RANGEANLYSIS               = 87       //区间计算->87
+	DATA_SOURCE_PREDICT_CALCULATE_RANGEANLYSIS       = 90       // 预测指标区间计算->90
 )
 
 const (
@@ -266,6 +268,9 @@ var SystemSourceList = []int{
 	DATA_SOURCE_CALCULATE_PERCENTILE,                 //百分位->68
 	DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION, //预测标准差->69
 	DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE,         //预测百分位->70
+	DATA_SOURCE_CALCULATE_RANGEANLYSIS,               //区间计算->87
+	DATA_SOURCE_PREDICT_CALCULATE_RANGEANLYSIS,       // 预测指标区间计算->90
+
 }
 
 const (
@@ -298,6 +303,7 @@ const (
 	CHART_SOURCE_LINE_FEATURE_FREQUENCY          = 9  // 统计特征-频率分布图表
 	CHART_SOURCE_CROSS_HEDGING                   = 10 // 跨品种分析图表
 	CHART_SOURCE_BALANCE_EXCEL                   = 11 // 平衡表图表
+	CHART_SOURCE_RANGE_ANALYSIS                  = 12 // 	区间分析图表
 )
 
 // 图表类型