package chart_info_correlation

import "time"

// ChartInfoCorrelation 相关性图表-扩展信息
type ChartInfoCorrelation struct {
	CorrelationChartInfoId int       `gorm:"primaryKey;column:correlation_chart_info_id;type:int(10) unsigned;not null" json:"-"`          // 相关性图表ID（chart_info表source=3的）
	LeadValue              int       `gorm:"column:lead_value;type:int(10) unsigned;not null;default:0" json:"leadValue"`                  // 领先值
	LeadUnit               string    `gorm:"column:lead_unit;type:varchar(16);not null;default:''" json:"leadUnit"`                        // 领先单位
	CalculateValue         int       `gorm:"column:calculate_value;type:int(9);default:null;default:0" json:"calculateValue"`              // 计算窗口
	CalculateUnit          string    `gorm:"column:calculate_unit;type:varchar(16);default:null;default:''" json:"calculateUnit"`          // 计算窗口的单位
	BaseCalculateValue     int       `gorm:"column:base_calculate_value;type:int(9);default:null;default:0" json:"baseCalculateValue"`     // 基础计算窗口（滚动相关性的时候用到）
	BaseCalculateUnit      string    `gorm:"column:base_calculate_unit;type:varchar(16);default:null;default:''" json:"baseCalculateUnit"` // 基础计算窗口的单位（滚动相关性的时候用到）
	DateType               int       `gorm:"column:date_type;type:int(11);default:0" json:"dateType"`                                      // 日期类型:1:00年至今,2:10年至今,3:15年至今，4：年初至今，5:自定义时间,6:起始日期至今
	StartDate              time.Time `gorm:"column:start_date;type:date" json:"startDate"`                                                 // 开始日期
	EndDate                time.Time `gorm:"column:end_date;type:date" json:"endDate"`                                                     // 结束日期
	EdbInfoIdFirst         int       `gorm:"column:edb_info_id_first;type:int(10) unsigned;not null;default:0" json:"edbInfoIdFirst"`      // A指标ID
	EdbInfoIdSecond        int       `gorm:"column:edb_info_id_second;type:int(10) unsigned;not null;default:0" json:"edbInfoIdSecond"`    // B指标ID
	PeriodData             string    `gorm:"column:period_data;type:text" json:"periodData"`                                               // X轴-期数数据
	CorrelationData        string    `gorm:"column:correlation_data;type:text" json:"correlationData"`                                     // Y轴-相关性系数
	CreateTime             time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`                                           // 创建时间
	ModifyTime             time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`                                           // 更新时间
	AnalysisMode           int       `gorm:"column:analysis_mode;type:int(10) unsigned;not null;default:0" json:"analysisMode"`            // 分析模式: 0-单因子; 1-多因子
}

// TableName get sql table name.获取数据库表名
func (m *ChartInfoCorrelation) TableName() string {
	return "chart_info_correlation"
}

// ChartInfoCorrelationColumns get sql column name.获取数据库列名
var ChartInfoCorrelationColumns = struct {
	CorrelationChartInfoID string
	LeadValue              string
	LeadUnit               string
	CalculateValue         string
	CalculateUnit          string
	StartDate              string
	EndDate                string
	EdbInfoIDFirst         string
	EdbInfoIDSecond        string
	PeriodData             string
	CorrelationData        string
	CreateTime             string
	ModifyTime             string
}{
	CorrelationChartInfoID: "correlation_chart_info_id",
	LeadValue:              "lead_value",
	LeadUnit:               "lead_unit",
	CalculateValue:         "calculate_value",
	CalculateUnit:          "calculate_unit",
	StartDate:              "start_date",
	EndDate:                "end_date",
	EdbInfoIDFirst:         "edb_info_id_first",
	EdbInfoIDSecond:        "edb_info_id_second",
	PeriodData:             "period_data",
	CorrelationData:        "correlation_data",
	CreateTime:             "create_time",
	ModifyTime:             "modify_time",
}
