Browse Source

Merge branch 'master' into banner_mark

zwxi 1 year ago
parent
commit
ce91e3bc38
3 changed files with 39 additions and 3 deletions
  1. 7 1
      models/tables/chart_edb_mapping/query.go
  2. 2 1
      routers/public.go
  3. 30 1
      services/chart/chart_info.go

+ 7 - 1
models/tables/chart_edb_mapping/query.go

@@ -50,6 +50,11 @@ type ChartEdbInfoMapping struct {
 	PredictChartColor   string    `description:"预测数据的颜色"`
 	PredictChartColor   string    `description:"预测数据的颜色"`
 	ChartType           int       `description:"生成样式:1:曲线图,2:季节性图,3:面积图,4:柱状图,5:散点图,6:组合图"`
 	ChartType           int       `description:"生成样式:1:曲线图,2:季节性图,3:面积图,4:柱状图,5:散点图,6:组合图"`
 	MappingSource       int       `description:"1:ETA图库;2:商品价格曲线"`
 	MappingSource       int       `description:"1:ETA图库;2:商品价格曲线"`
+	IsConvert           int       `description:"是否数据转换 0不转 1转"`
+	ConvertType         int       `description:"数据转换类型 1乘 2除 3对数"`
+	ConvertValue        float64   `description:"数据转换值"`
+	ConvertUnit         string    `description:"数据转换单位"`
+	ConvertEnUnit       string    `description:"数据转换单位"`
 }
 }
 
 
 type ChartEdbInfoMappingList struct {
 type ChartEdbInfoMappingList struct {
@@ -62,7 +67,8 @@ type ChartEdbInfoMappingList struct {
 func GetMappingListByChartInfoId(chartInfoId int) (list []*ChartEdbInfoMapping, err error) {
 func GetMappingListByChartInfoId(chartInfoId int) (list []*ChartEdbInfoMapping, err error) {
 	aField := `a.chart_edb_mapping_id,a.chart_info_id,a.edb_info_id,a.create_time,a.modify_time,a.unique_code,a.max_data,a.min_data,a.is_order,a.is_axis,a.edb_info_type,a.lead_value,a.lead_unit,a.chart_style,a.chart_color,a.predict_chart_color,a.chart_width,a.source as mapping_source`
 	aField := `a.chart_edb_mapping_id,a.chart_info_id,a.edb_info_id,a.create_time,a.modify_time,a.unique_code,a.max_data,a.min_data,a.is_order,a.is_axis,a.edb_info_type,a.lead_value,a.lead_unit,a.chart_style,a.chart_color,a.predict_chart_color,a.chart_width,a.source as mapping_source`
 
 
-	sql := ` SELECT ` + aField + `,b.source_name,b.source,b.sub_source,b.edb_code,b.edb_name,b.edb_name_en,b.frequency,b.unit,b.unit_en,b.start_date,b.end_date,b.modify_time,b.latest_date,b.latest_value,b.unique_code,b.edb_info_type AS edb_info_category_type,b.edb_type
+	sql := ` SELECT ` + aField + `,b.source_name,b.source,b.sub_source,b.edb_code,b.edb_name,b.edb_name_en,b.frequency,b.unit,b.unit_en,b.start_date,b.end_date,b.modify_time,b.latest_date,b.latest_value,b.unique_code,b.edb_info_type AS edb_info_category_type,b.edb_type,
+a.is_convert, a.convert_type, a.convert_value, a.convert_unit, a.convert_en_unit 
              FROM chart_edb_mapping AS a
              FROM chart_edb_mapping AS a
 			 INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
 			 INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
 			 WHERE chart_info_id=? 
 			 WHERE chart_info_id=? 

+ 2 - 1
routers/public.go

@@ -28,10 +28,11 @@ func initPublic(r *gin.Engine) {
 		rGroup.GET("/get_variety_tag_tree", controller.GetVarietyTagTree)
 		rGroup.GET("/get_variety_tag_tree", controller.GetVarietyTagTree)
 		rGroup.POST("/wechat_warning", controller.WechatWarning)
 		rGroup.POST("/wechat_warning", controller.WechatWarning)
 		rGroup.POST("/view_log/update", controller.UpdateViewLog)
 		rGroup.POST("/view_log/update", controller.UpdateViewLog)
+		rGroup.POST("/banner/mark", controller.BannerMark)
 	}
 	}
 
 
 	rGroup2 := r.Group("api/public")
 	rGroup2 := r.Group("api/public")
 	rGroup2.POST("/upload_audio", controller.UploadAudio)
 	rGroup2.POST("/upload_audio", controller.UploadAudio)
 	rGroup2.GET("/tel_area_list", controller.GetTelAreaList)
 	rGroup2.GET("/tel_area_list", controller.GetTelAreaList)
-	rGroup2.POST("/banner/mark", controller.BannerMark)
+
 }
 }

+ 30 - 1
services/chart/chart_info.go

@@ -578,7 +578,12 @@ func getEdbDataMapList(chartInfoId, chartType int, calendar, startDate, endDate
 		item.UniqueCode = v.UniqueCode
 		item.UniqueCode = v.UniqueCode
 		item.MoveLatestDate = item.LatestDate
 		item.MoveLatestDate = item.LatestDate
 		item.EdbAliasName = v.EdbAliasName
 		item.EdbAliasName = v.EdbAliasName
-
+		item.IsConvert = v.IsConvert
+		item.ConvertType = v.ConvertType
+		item.ConvertValue = v.ConvertValue
+		item.ConvertUnit = v.ConvertUnit
+		item.ConvertEnUnit = v.ConvertEnUnit
+		
 		var startDateReal string
 		var startDateReal string
 		var diffSeconds int64
 		var diffSeconds int64
 		if chartType == 2 { //季节性图
 		if chartType == 2 { //季节性图
@@ -651,6 +656,30 @@ func getEdbDataMapList(chartInfoId, chartType int, calendar, startDate, endDate
 		if err != nil {
 		if err != nil {
 			return
 			return
 		}
 		}
+
+		if v.IsConvert == 1 {
+			switch v.ConvertType {
+			case 1:
+				for i, data := range dataList {
+					dataList[i].Value = data.Value * v.ConvertValue
+				}
+				//item.MaxData = item.MaxData * v.ConvertValue
+				//item.MinData = item.MinData * v.ConvertValue
+			case 2:
+				for i, data := range dataList {
+					dataList[i].Value = data.Value / v.ConvertValue
+				}
+				//item.MaxData = item.MaxData / v.ConvertValue
+				//item.MinData = item.MinData / v.ConvertValue
+			case 3:
+				for i, data := range dataList {
+					dataList[i].Value = math.Log(data.Value) / math.Log(v.ConvertValue)
+				}
+				//item.MaxData = math.Log(item.MaxData) / math.Log(v.ConvertValue)
+				//item.MinData = math.Log(item.MinData) / math.Log(v.ConvertValue)
+			}
+		}
+
 		edbDataListMap[v.EdbInfoId] = dataList
 		edbDataListMap[v.EdbInfoId] = dataList
 
 
 		if diffSeconds != 0 && v.EdbInfoType == 0 {
 		if diffSeconds != 0 && v.EdbInfoType == 0 {