package request

import "eta/eta_mobile/models/data_manage"

type EditChartEnInfoReq struct {
	ChartInfoId      int    `description:"图表ID"`
	ChartNameEn      string `description:"英文图表名称"`
	EdbNameEn        string `description:"指标英文名称"`
	UnitEn           string `description:"指标英文单位"`
	ProfitNameEn     string `description:"利润英文名称"`
	FutureGoodNameEn string `description:"期货合约英文名称"`
}

type AddChartInfoReq struct {
	ChartEdbInfoList []*data_manage.ChartSaveItem `description:"指标及配置信息"`
	ChartClassifyId  int                          `description:"分类id"`
	ChartName        string                       `description:"图表名称"`
	ChartType        int                          `description:"生成样式:1:曲线图,2:季节性图,3:面积图，4：柱状图，5：散点图，6：组合图，7：柱方图"`
	DateType         int                          `description:"日期类型:1:00年至今,2:10年至今,3:15年至今，4：年初至今，5:自定义时间,6:起始日期至今"`
	StartDate        string                       `description:"自定义开始日期"`
	EndDate          string                       `description:"自定义结束日期"`
	Calendar         string                       `description:"公历/农历"`
	SeasonStartDate  string                       `description:"季节性图开始日期"`
	SeasonEndDate    string                       `description:"季节性图开始日期"`
	LeftMin          string                       `description:"图表左侧最小值"`
	LeftMax          string                       `description:"图表左侧最大值"`
	RightMin         string                       `description:"图表右侧最小值"`
	RightMax         string                       `description:"图表右侧最大值"`
	Extra            ChartInfoReq                 `description:"图形图的配置"`
}

// EditChartInfoReq 编辑商品利润图表的请求
type EditChartInfoReq struct {
	ChartInfoId      int                          `description:"图表ID"`
	ChartName        string                       `description:"图表名称"`
	ChartClassifyId  int                          `description:"分类id"`
	ChartEdbInfoList []*data_manage.ChartSaveItem `description:"指标及配置信息"`
	ChartType        int                          `description:"生成样式:1:曲线图,2:季节性图,3:面积图，4：柱状图，5：散点图，6：组合图，7：柱方图，8：商品价格曲线图，9：相关性图,10:截面散点图"`
	DateType         int                          `description:"日期类型:1:00年至今,2:10年至今,3:15年至今，4：年初至今，5:自定义时间,6:起始日期至今"`
	StartDate        string                       `description:"自定义开始日期"`
	EndDate          string                       `description:"自定义结束日期"`
	Calendar         string                       `description:"公历/农历"`
	SeasonStartDate  string                       `description:"季节性图开始日期"`
	SeasonEndDate    string                       `description:"季节性图开始日期"`
	LeftMin          string                       `description:"图表左侧最小值"`
	LeftMax          string                       `description:"图表左侧最大值"`
	RightMin         string                       `description:"图表右侧最小值"`
	RightMax         string                       `description:"图表右侧最大值"`
	Extra            ChartInfoReq                 `description:"图形图的配置"`
}

// ChartInfoReq 图表预览请求数据
type ChartInfoReq struct {
	FutureGoodEdbInfoIdList []data_manage.EdbInfoFromTag `description:"指标信息"`
	CalculateFormula        string                       `description:"计算公式"`
	BaseEdbInfoId           int                          `description:"基础的指标id"`
	DateList                []ChartInfoDateReq           `description:"日期配置"`
	ProfitNameEn            string                       `description:"利润英文名称"`
	EdbInfoIdList           []int                        `description:"现货指标ID列表"`
	XDataList               []data_manage.XData          `description:"横轴配置"`
}

// ChartInfoDateReq 图表的日期数据（日期相关）
type ChartInfoDateReq struct {
	Type  int    `description:"配置类型"`
	Date  string `description:"固定日期"`
	Value int    `description:"N天的值"`
	Color string `description:"颜色"`
	Name  string `description:"别名"`
}

// SectionScatterReq 截面散点请求
type SectionScatterReq struct {
	XName       string `description:"x轴名称"`
	XNameEn     string `description:"x轴名称(英文)"`
	XUnitName   string `description:"x轴单位名称"`
	XUnitNameEn string `description:"x轴单位名称(英文)"`
	YName       string `description:"y轴名称"`
	YNameEn     string `description:"y轴名称(英文)"`
	YUnitName   string `description:"y轴单位名称"`
	YUnitNameEn string `description:"y轴单位名称(英文)"`
	XMinValue   string `description:"X轴的最小值"`
	XMaxValue   string `description:"X轴的最大值"`
	YMinValue   string `description:"Y轴的最小值"`
	YMaxValue   string `description:"Y轴的最大值"`
	//EdbList     []SectionScatterEdbItemReq    `description:"指标数据"`
	SeriesList []SectionScatterSeriesItemReq `description:"系列数据"`
}

// SectionScatterSeriesItemReq 系列的请求
type SectionScatterSeriesItemReq struct {
	Name            string `description:"系列名"`
	NameEn          string `description:"系列名(英文名)"`
	Color           string `description:"颜色"`
	EdbInfoList     []SectionScatterEdbItemReq
	ShowTrendLine   bool `description:"是否展示趋势线"`
	ShowFitEquation bool `description:"是否展示方程式"`
	ShowRSquare     bool `description:"是否展示R平方"`
}

// SectionScatterEdbItemReq 截面散点请求的指标
type SectionScatterEdbItemReq struct {
	XEdbInfoId int    `description:"X轴的指标ID"`
	YEdbInfoId int    `description:"Y轴的指标ID"`
	Name       string `description:"别名"`
	NameEn     string `description:"英文别名"`
	XDateType  int    `description:"X轴的日期配置类型"`
	XDate      string `description:"X轴的日期固定日期"`
	XDateValue int    `description:"X轴的日期N天的值"`
	YDateType  int    `description:"Y轴的日期配置类型"`
	YDate      string `description:"Y轴的日期固定日期"`
	YDateValue int    `description:"Y轴的日期N天的值"`
	IsShow     bool   `description:"是否展示"`
}

// EditChartInfoBaseReq
// @Description: 修改商品图表的基础信息
type EditChartInfoBaseReq struct {
	ChartInfoId    int    `description:"图表ID"`
	ChartName      string `description:"图表名称（根据当前语言版本不同而不同）"`
	EdbName        string `description:"指标名称（根据当前语言版本不同而不同）"`
	Unit           string `description:"指标单位（根据当前语言版本不同而不同）"`
	ProfitName     string `description:"利润名称（根据当前语言版本不同而不同）"`
	FutureGoodName string `description:"期货合约名称（根据当前语言版本不同而不同）"`
}
