chart_info.go 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. package chart_info
  2. import (
  3. "hongze/hongze_yb/models/request"
  4. responseModel "hongze/hongze_yb/models/response"
  5. "hongze/hongze_yb/models/tables/chart_edb_mapping"
  6. "hongze/hongze_yb/models/tables/chart_info"
  7. "time"
  8. )
  9. type ChartInfoDetailResp struct {
  10. ChartInfo *chart_info.ChartInfoView
  11. EdbInfoList []*chart_edb_mapping.ChartEdbInfoMappingList
  12. XEdbIdValue []int `description:"柱方图的x轴数据,指标id"`
  13. XDataList []XData `description:"商品价格曲线的X轴数据"`
  14. YDataList []YData `description:"柱方图的y轴数据"`
  15. MyChartInfo *responseModel.MyChartItem
  16. CorrelationChartInfo *CorrelationInfo `description:"相关性图表信息"`
  17. DataResp interface{} `description:"图表数据,根据图的类型而定的,没有确定的数据格式"`
  18. }
  19. type ChartLibChartInfoDetailResp struct {
  20. ChartInfo *chart_info.ChartInfoView
  21. EdbInfoList []*chart_edb_mapping.ChartEdbInfoMappingTimeString
  22. XEdbIdValue []int `description:"柱方图的x轴数据,指标id"`
  23. XDataList []XData `description:"商品价格曲线的X轴数据"`
  24. YDataList []YData `description:"柱方图的y轴数据"`
  25. CorrelationChartInfo *CorrelationInfo `description:"相关性图表信息"`
  26. DataResp interface{} `description:"图表数据,根据图的类型而定的,没有确定的数据格式"`
  27. WaterMark string `description:"水印"`
  28. }
  29. // XData 商品价格曲线的的x轴数据
  30. type XData struct {
  31. Name string `description:"别名"`
  32. NameEn string `description:"英文别名"`
  33. IsHide int `description:"是否隐藏,0不隐藏,1隐藏"`
  34. }
  35. // YData 柱方图的y轴数据
  36. type YData struct {
  37. Date string `description:"数据日期"`
  38. ConfigDate time.Time `description:"配置的日期" json:"-"`
  39. Color string `description:"数据颜色"`
  40. Name string `description:"别名"`
  41. NameEn string `description:"英文别名"`
  42. Value []float64 `description:"每个指标的值"`
  43. NoDataEdbList []int `description:"没有数据的指标列表"`
  44. XEdbInfoIdList []int `description:"对应X轴的指标id列表"`
  45. EdbValMap map[int]float64 `description:"指标与值的对应" json:"-"`
  46. M []int `description:"对应开始日期的间隔值" json:"-"`
  47. NameList []string `description:"每个值对应的名称"`
  48. EnNameList []string `description:"每个值对应的英文名称"`
  49. Unit string `description:"中文单位名称"`
  50. UnitEn string `description:"英文单位名称"`
  51. SeriesEdb struct {
  52. SeriesId int `description:"因子指标系列ID"`
  53. EdbInfoId int `description:"指标ID"`
  54. } `description:"对应的系列指标"`
  55. }
  56. type CorrelationInfo struct {
  57. LeadValue int `description:"领先值"`
  58. LeadUnit string `description:"领先单位"`
  59. StartDate string `description:"开始日期"`
  60. EndDate string `description:"结束日期"`
  61. EdbInfoIdFirst int `description:"A指标ID"`
  62. EdbInfoIdSecond int `description:"B指标ID"`
  63. PeriodData string `description:"X轴-期数数据"`
  64. CorrelationData string `description:"Y轴-相关性系数"`
  65. AnalysisMode int `description:"分析模式: 0-单因子; 1-多因子"`
  66. }
  67. // RollingCorrelationChartDataResp 滚动相关性图
  68. type RollingCorrelationChartDataResp struct {
  69. XDateTimeValue []string `description:"滚动相关性图的x轴数据,日期数据"`
  70. YDataList []YData `description:"滚动相关性图的y轴数据"`
  71. }
  72. // ProfitFutureGoodChartResp 商品利润图
  73. type ProfitFutureGoodChartResp struct {
  74. XDataList []XData
  75. YDataList []YData
  76. ProfitName string `description:"利润的名称"`
  77. ProfitNameEn string `description:"利润的英文名称"`
  78. Extra request.ChartInfoReq `description:"柱方图的配置"`
  79. }
  80. // RadarChartInfoResp 雷达图数据
  81. type RadarChartInfoResp struct {
  82. YDataList []RadarYData `description:"数据列"`
  83. XEdbIdValue []int
  84. }
  85. // RadarYData 雷达图的y轴数据
  86. type RadarYData struct {
  87. Date string `description:"数据日期"`
  88. Color string `description:"数据颜色"`
  89. Name string `description:"别名"`
  90. Value []float64 `description:"每个指标的值"`
  91. }
  92. // 截面组合图额外配置
  93. type ChartSectionExtraConf struct {
  94. DateConfList []*ChartSectionDateConfItem
  95. IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
  96. XDataList []XData `description:"横轴名称设置"`
  97. UnitList *ChartSectionCombineUnit `description:"纵轴单位设置"`
  98. BaseChartSeriesName string `description:"基准系列名称"`
  99. SortType int `description:"排序类型,0默认,1升序,2降序"`
  100. }
  101. // 截面组合图额外配置
  102. type ChartSectionAllExtraConf struct {
  103. ChartSectionExtraConf
  104. SeriesList []*ChartSectionSeriesItem
  105. }
  106. type ChartSectionDateConfItem struct {
  107. MoveForward int `description:"前移的期数"`
  108. EdbInfoId int `description:"指标ID"`
  109. EdbName string `description:"指标名称"`
  110. EdbNameEn string `description:"指标名称英文"`
  111. EdbInfoType int `description:"指标类型"`
  112. Frequency string `description:"频度"`
  113. EndDate string `description:"最新日期"`
  114. StaticDate string `description:"固定日期"`
  115. DateType int `description:"日期类型:0 指标日期,1系统日期, 2固定日期"`
  116. DateConfName string `description:"引用日期名称"` // 引用日期名称不能重复
  117. DateConfNameEn string `description:"引用日期英文名称"`
  118. DateChange []*ChartSectionDateChange
  119. }
  120. // 截面组合图引用日期配置
  121. type ChartSectionDateChange struct {
  122. Year int
  123. Month int
  124. Day int
  125. Frequency string `description:"频度变换"`
  126. FrequencyDay string `description:"频度的固定日期"`
  127. ChangeType int `description:"日期变换类型1日期位移,2指定频率"`
  128. }
  129. // 截面组合图系列配置
  130. type ChartSectionSeriesItem struct {
  131. ChartSeriesId int `description:"系列ID"`
  132. SeriesName string `description:"系列名称"` //系列名称不可同名
  133. SeriesNameEn string `description:"系列英文名称"`
  134. ChartStyle string `description:"图表类型"`
  135. ChartColor string `description:"颜色"`
  136. ChartWidth int `description:"线条大小"`
  137. IsPoint int `description:"是否用数据点展示(0 否,1是)"`
  138. IsNumber int `description:"是否用数值展示(0 否,1是)"`
  139. IsAxis int `description:"1:左轴,0:右轴"`
  140. MaxData float64 `description:"上限"`
  141. MinData float64 `description:"下限"`
  142. //IsOrder bool `description:"true:正序,false:逆序"`
  143. EdbInfoList []*ChartSectionSeriesEdbConf
  144. DataList []float64
  145. NoDataEdbIndex []int
  146. }
  147. type ChartSectionSeriesEdbConf struct {
  148. ChartSeriesEdbMappingId int `description:"映射ID"`
  149. ChartSeriesId int `description:"系列ID"`
  150. //ChartInfoId int `description:"图表ID"`
  151. EdbInfoId int `description:"指标id"`
  152. DateConf *ChartSectionSeriesDateConfItem
  153. EdbName string `description:"中文别名"`
  154. EdbNameEn string `description:"英文别名"`
  155. EdbInfoType int `description:"指标类型"`
  156. Unit string `description:"单位"`
  157. UnitEn string `description:"英文单位"`
  158. DateConfName string `description:"引用日期名称"`
  159. DateConfType int `description:"日期类型,0指标最新日期, 1引用日期"`
  160. }
  161. // 系列里的指标日期配置
  162. type ChartSectionSeriesDateConfItem struct {
  163. MoveForward int `description:"前移的期数"`
  164. DateChange []*ChartSectionDateChange
  165. }
  166. // PreviewSectionCombineChartReq 预览截面组合图的请求
  167. type PreviewSectionCombineChartReq struct {
  168. ChartName string `description:"图表名称"`
  169. ChartClassifyId int `description:"分类id"`
  170. ExtraConfig string `description:"图表额外配置信息,json字符串"`
  171. }
  172. type ChartSectionCombineUnit struct {
  173. LeftName string `description:"左轴单位"`
  174. LeftNameEn string `description:"左轴英文单位"`
  175. RightName string `description:"右轴单位"`
  176. RightNameEn string `description:"右轴英文单位"`
  177. RightTwoName string `description:"右2轴单位"`
  178. RightTwoNameEn string `description:"右2轴英文单位"`
  179. }
  180. type ChartSectionCombineDataResp struct {
  181. DateConfList []*ChartSectionDateConfItem
  182. IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
  183. XDataList []XData `description:"横轴名称设置"`
  184. UnitList *ChartSectionCombineUnit `description:"纵轴单位设置"`
  185. BaseChartSeriesName string `description:"基准系列名称"`
  186. SortType int `description:"排序类型,0默认,1升序,2降序"`
  187. SeriesList []*ChartSectionSeriesItem
  188. LeftMin string `description:"图表左侧最小值"`
  189. LeftMax string `description:"图表左侧最大值"`
  190. RightMin string `description:"图表右侧最小值"`
  191. RightMax string `description:"图表右侧最大值"`
  192. Right2Min string `description:"图表右侧最小值"`
  193. Right2Max string `description:"图表右侧最大值"`
  194. }
  195. // 时序组合图额外配置
  196. type ChartTimeCombineExtraConf struct {
  197. IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
  198. }
  199. type ChartTimeCombineDataResp struct {
  200. IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
  201. }