package request

// ChartConfigReq
// @Description: 跨品种分析的图表配置
type ChartConfigReq struct {
	TagX           int               `description:"X轴的标签ID"`
	TagY           int               `description:"Y轴的标签ID"`
	CalculateValue int               `description:"计算窗口"`
	CalculateUnit  string            `description:"计算频度"`
	DateConfigList []ChartConfigDate `description:"日期配置列表"`
	VarietyList    []int             `description:"品种id列表"`
	PercentType    int               `description:"百分位：0-数据区间(兼容历史数据); 1-数据个数；"`
}

// ChartConfigDate
// @Description: 跨品种分析的日期配置
type ChartConfigDate struct {
	DateType int    `description:"日期类型：1-最新日期；2-N天前；3-固定日期"`
	Num      int    `description:"N天前的N值"`
	FixDate  string `description:"固定日期的日期"`
	ShowTips int    `description:"是否显示标注：0-否；1-是"`
}

// AddChartReq
// @Description: 添加图表的请求
type AddChartReq struct {
	ChartName      string `description:"图表名称"`
	ChartNameEn    string `description:"英文图表名称"`
	XMin           string `description:"图表X轴最小值"`
	XMax           string `description:"图表X轴最大值"`
	LeftMin        string `description:"图表左侧最小值"`
	LeftMax        string `description:"图表左侧最大值"`
	ChartImage     string `description:"图表截图，复制的时候才用到" json:"-"`
	ChartConfigReq `description:"跨品种分析的图表配置"`

	// 主题相关
	ChartThemeId int    `description:"图表应用主题ID"`
	SourcesFrom  string `description:"图表来源"`
	Instructions string `description:"图表说明"`
	MarkersLines string `description:"标识线"`
	MarkersAreas string `description:"标识区"`
}

// EditChartReq
// @Description: 编辑图表的请求
type EditChartReq struct {
	ChartInfoId    int    `description:"图表id"`
	ChartName      string `description:"图表名称"`
	XMin           string `description:"图表X轴最小值"`
	XMax           string `description:"图表X轴最大值"`
	LeftMin        string `description:"图表左侧最小值"`
	LeftMax        string `description:"图表左侧最大值"`
	ChartImage     string `description:"图表截图，复制的时候才用到" json:"-"`
	ChartConfigReq `description:"跨品种分析的图表配置"`
}

// CopyAddChartInfoReq
// @Description: 复制并新增图表
type CopyAddChartInfoReq struct {
	ChartInfoId int    `description:"待复制的图表id"`
	ChartName   string `description:"图表名称"`
}

// EditChartEnInfoReq
// @Description: 编辑图表英文信息
type EditChartEnInfoReq struct {
	ChartInfoId int                `description:"图表ID"`
	ChartNameEn string             `description:"英文图表名称"`
	TagList     []TagNameEnReq     `description:"标签名称"`
	VarietyList []VarietyNameEnReq `description:"标签名称"`
}

// TagNameEnReq
// @Description: 标签英文名称修改
type TagNameEnReq struct {
	ChartTagId int    `json:"ChartTagId"`
	TagNameEn  string `json:"TagNameEn"`
}

// VarietyNameEnReq
// @Description: 品种英文名称修改
type VarietyNameEnReq struct {
	ChartVarietyId int    `json:"ChartVarietyId"`
	VarietyNameEn  string `json:"VarietyNameEn"`
}

// SaveChartReq
// @Description: 保存图表的请求
type SaveChartReq struct {
	ChartInfoId int    `description:"图表ID"`
	XMin        string `description:"图表X轴最小值"`
	XMax        string `description:"图表X轴最大值"`
	LeftMin     string `description:"图表左侧最小值"`
	LeftMax     string `description:"图表左侧最大值"`
}

// EditChartBaseInfoReq
// @Description: 编辑图表基础信息
type EditChartBaseInfoReq struct {
	ChartInfoId int                  `description:"图表ID"`
	ChartName   string               `description:"图表名称（根据语言版本不同而不同）"`
	TagList     []TagNameBaseReq     `description:"标签名称"`
	VarietyList []VarietyNameBaseReq `description:"标签名称"`
}

// TagNameBaseReq
// @Description: 标签基础名称修改
type TagNameBaseReq struct {
	ChartTagId int    `json:"ChartTagId"`
	TagName    string `description:"标签名称（根据语言版本不同而不同）"`
}

// VarietyNameBaseReq
// @Description: 品种基础名称修改
type VarietyNameBaseReq struct {
	ChartVarietyId int    `json:"ChartVarietyId"`
	VarietyName    string `description:"品种名称（根据语言版本不同而不同）"`
}
