package data_source import ( "eta_gn/eta_api/global" "time" ) //type BaseFromTradeGuangzhouClassify struct { // BaseFromTradeGuangzhouClassifyId int `orm:"column(base_from_trade_guangzhou_classify_id);pk"` // ClassifyName string `description:"分类名称"` // ClassifyCode string `description:"分类编码"` // ParentId int `description:"分类父级id"` // ModifyTime time.Time `description:"修改时间"` // CreateTime time.Time `description:"创建时间"` //} type BaseFromTradeGuangzhouClassify struct { BaseFromTradeGuangzhouClassifyId int `gorm:"primaryKey;column:base_from_trade_guangzhou_classify_id;type:int(11);not null"` ClassifyName string `gorm:"column:classify_name;type:varchar(255);not null;default:''"` // 分类名称 ClassifyCode string `gorm:"column:classify_code;type:varchar(100);default:''"` // 分类编码 ParentId int `gorm:"column:parent_id;type:int(11) unsigned;default:0"` // 上级id ModifyTime time.Time `gorm:"column:modify_time;type:datetime"` // 修改时间 CreateTime time.Time `gorm:"column:create_time;type:datetime"` // 创建时间 } //type BaseFromTradeGuangzhouIndex struct { // BaseFromTradeGuangzhouIndexId int `orm:"column(base_from_trade_guangzhou_index_id);pk"` // BaseFromTradeGuangzhouClassifyId int `description:"分类id"` // IndexCode string `description:"指标编码"` // IndexName string `description:"指标名称"` // Frequency string `description:"频率"` // Unit string `description:"单位"` // StartDate string `description:"开始日期"` // EndDate string `description:"结束日期"` // CreateTime time.Time `description:"创建日期"` // ModifyTime time.Time `description:"修改日期"` //} type BaseFromTradeGuangzhouIndex struct { BaseFromTradeGuangzhouIndexId int `gorm:"primaryKey;column:base_from_trade_guangzhou_index_id;type:int(11);not null"` BaseFromTradeGuangzhouClassifyId int `gorm:"column:base_from_trade_guangzhou_classify_id;type:int(11);default:0"` // 分类id/指标id BaseFromTradeGuangzhouContractId int `gorm:"column:base_from_trade_guangzhou_contract_id;type:int(11);default:0"` // 合约id IndexCode string `gorm:"unique;column:index_code;type:varchar(100);default:''"` // 指标编码 IndexName string `gorm:"column:index_name;type:varchar(100);default:''"` // 指标名称 Frequency string `gorm:"column:frequency;type:varchar(30);default:''"` // 频度 Unit string `gorm:"column:unit;type:varchar(20);default:''"` // 单位 StartDate string `gorm:"column:start_date;type:date"` // 开始日期 EndDate string `gorm:"column:end_date;type:date"` // 结束日期 CreateTime time.Time `gorm:"column:create_time;type:datetime"` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time;type:datetime"` // 修改日期 Value float64 `gorm:"column:value;type:double;default:0"` // 数据值 } //type BaseFromTradeGuangzhouData struct { // BaseFromTradeGuangzhouDataId int `orm:"column(base_from_trade_guangzhou_data_id);pk"` // BaseFromTradeGuangzhouIndexId int `description:"指标id"` // IndexCode string `description:"指标编码"` // DataTime string `description:"数据日期"` // Value float64 `description:"数据值"` // QtySub float64 `description:"增减"` // CreateTime time.Time `description:"创建日期"` // ModifyTime time.Time `description:"修改日期"` //} type BaseFromTradeGuangzhouData struct { BaseFromTradeGuangzhouDataId int `gorm:"primaryKey;index:idx_index_id;column:base_from_trade_guangzhou_data_id;type:int(10) unsigned;not null"` BaseFromTradeGuangzhouIndexId int `gorm:"column:base_from_trade_guangzhou_index_id;type:int(11) unsigned;not null;default:0"` // 指标ID IndexCode string `gorm:"uniqueIndex:idx_code_time;index:idx_index_code;column:index_code;type:varchar(128);not null;default:''"` // 指标编码 DataTime string `gorm:"uniqueIndex:idx_code_time;index:idx_data_time;column:data_time;type:date"` // 数据日期 Value float64 `gorm:"column:value;type:double;not null;default:0"` // 数据值 QtySub float64 `gorm:"column:qty_sub;type:double;default:0"` // 增减 CreateTime time.Time `gorm:"column:create_time;type:datetime"` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time;type:datetime"` // 更新时间 } //type BaseFromTradeGuangzhouClassifyView struct { // BaseFromTradeGuangzhouClassifyId int `orm:"column(base_from_trade_guangzhou_classify_id);pk"` // ClassifyName string `description:"分类名称"` // ClassifyCode string `description:"分类编码"` // ParentId int `description:"分类父级id"` // Children []*BaseFromTradeGuangzhouClassifyView //} type BaseFromTradeGuangzhouClassifyView struct { BaseFromTradeGuangzhouClassifyId int `gorm:"column:base_from_trade_guangzhou_classify_id;type:int(11);not null"` ClassifyName string `gorm:"column:classify_name;type:varchar(255);not null;default:''"` // 分类名称 ClassifyCode string `gorm:"column:classify_code;type:varchar(100);default:''"` // 分类编码 ParentId int `gorm:"column:parent_id;type:int(11) unsigned;default:0"` // 上级id Children []*BaseFromTradeGuangzhouClassifyView `gorm:"-"` } //type BaseFromTradeGuangzhouContract struct { // BaseFromTradeGuangzhouContractId int `orm:"column(base_from_trade_guangzhou_contract_id);pk"` // BaseFromTradeGuangzhouClassifyId int `description:"分类id"` // ClassifyCode string `description:"分类编码"` // Contract string `description:"合约编码"` // TradeDate string `description:"合约日期"` //} type BaseFromTradeGuangzhouContract struct { BaseFromTradeGuangzhouContractId int `gorm:"primaryKey;column:base_from_trade_guangzhou_contract_id;type:int(11);not null"` BaseFromTradeGuangzhouClassifyId int `gorm:"column:base_from_trade_guangzhou_classify_id;type:int(11);default:0"` // 分类id ClassifyCode string `gorm:"column:classify_code;type:varchar(100);default:''"` // 分类编码 Contract string `gorm:"index:idx_contract;column:contract;type:varchar(20);default:''"` // 合约代码 TradeDate string `gorm:"index:idx_trade_date;column:trade_date;type:varchar(20);default:''"` // 合约日期 } func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouClassifyAll() (list []*BaseFromTradeGuangzhouClassifyView, err error) { //o := orm.NewOrmUsingDB("data") //sql := `SELECT * FROM base_from_trade_guangzhou_classify` //_, err = o.Raw(sql).QueryRows(&list) sql := `SELECT * FROM base_from_trade_guangzhou_classify` err = global.DmSQL["data"].Raw(sql).Find(&list).Error return list, err } func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouMaxDate() (max_date string, err error) { //o := orm.NewOrmUsingDB("data") //sql := ` SELECT MAX(a.end_date) AS max_date FROM base_from_trade_guangzhou_index AS a ` //err = o.Raw(sql).QueryRow(&max_date) sql := ` SELECT MAX(a.end_date) AS max_date FROM base_from_trade_guangzhou_index AS a ` err = global.DmSQL["data"].Raw(sql).Scan(&max_date).Error return max_date, err } func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouContract(classifyId int, tradeDate string) (list []*BaseFromTradeGuangzhouContract, err error) { //o := orm.NewOrmUsingDB("data") //sql := ` SELECT * FROM base_from_trade_guangzhou_contract AS a WHERE base_from_trade_guangzhou_classify_id=? AND trade_date=? ` //_, err = o.Raw(sql, classifyId, tradeDate).QueryRows(&list) sql := ` SELECT * FROM base_from_trade_guangzhou_contract AS a WHERE base_from_trade_guangzhou_classify_id=? AND trade_date=? ` err = global.DmSQL["data"].Raw(sql, classifyId, tradeDate).Find(&list).Error return } //type BaseFromTradeGuangzhouIndexView struct { // BaseFromTradeGuangzhouIndexId int `description:"指标id"` // BaseFromTradeGuangzhouClassifyId int `description:"分类id"` // IndexCode string `description:"指标编码"` // IndexName string `description:"指标名称"` // Frequency string `description:"频率"` // Unit string `description:"单位"` // StartDate string `description:"开始日期"` // EndDate string `description:"结束日期"` // Value float64 `description:"数据"` //} type BaseFromTradeGuangzhouIndexView struct { BaseFromTradeGuangzhouIndexId int `gorm:"column:base_from_trade_guangzhou_index_id;type:int(11);not null"` BaseFromTradeGuangzhouClassifyId int `gorm:"column:base_from_trade_guangzhou_classify_id;type:int(11);default:0"` // 分类id/指标id IndexCode string `gorm:"unique;column:index_code;type:varchar(100);default:''"` // 指标编码 IndexName string `gorm:"column:index_name;type:varchar(100);default:''"` // 指标名称 Frequency string `gorm:"column:frequency;type:varchar(30);default:''"` // 频度 Unit string `gorm:"column:unit;type:varchar(20);default:''"` // 单位 StartDate string `gorm:"column:start_date;type:date"` // 开始日期 EndDate string `gorm:"column:end_date;type:date"` // 结束日期 Value float64 `gorm:"column:value;type:double;default:0"` // 数据值 } func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouIndex(condition string, pars []interface{}, baseFromTradeGuangzhouContractId int) (list []*BaseFromTradeGuangzhouIndexView, err error) { //o := orm.NewOrmUsingDB("data") if baseFromTradeGuangzhouContractId <= 0 { sql := ` SELECT b.base_from_trade_guangzhou_index_id,b.index_code,b.index_name,b.unit,b.frequency,b.start_date,b.end_date,a.value,c.base_from_trade_guangzhou_contract_id FROM base_from_trade_guangzhou_data AS a INNER JOIN base_from_trade_guangzhou_index AS b ON a.base_from_trade_guangzhou_index_id=b.base_from_trade_guangzhou_index_id LEFT JOIN base_from_trade_guangzhou_contract AS c ON b.base_from_trade_guangzhou_classify_id=c.base_from_trade_guangzhou_classify_id WHERE ` if condition != "" { sql += condition } sql += ` ORDER BY a.index_code ASC ` //_, err = o.Raw(sql, pars).QueryRows(&list) err = global.DmSQL["data"].Raw(sql, pars...).Find(&list).Error return } else { condition += ` AND a.base_from_trade_guangzhou_contract_id=? ` pars = append(pars, baseFromTradeGuangzhouContractId) sql := ` SELECT a.*,b.value FROM base_from_trade_guangzhou_index AS a INNER JOIN base_from_trade_guangzhou_data AS b ON a.base_from_trade_guangzhou_index_id=b.base_from_trade_guangzhou_index_id WHERE ` if condition != "" { sql += condition } sql += ` ORDER BY a.index_code ASC ` //_, err = o.Raw(sql, pars).QueryRows(&list) err = global.DmSQL["data"].Raw(sql, pars...).Find(&list).Error return } } func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouIndexDetail(condition string, pars []interface{}) (list []*BaseFromTradeGuangzhouIndexView, err error) { //o := orm.NewOrmUsingDB("data") sql := ` SELECT a.* FROM base_from_trade_guangzhou_index AS a WHERE ` if condition != "" { sql += condition } sql += ` ORDER BY a.index_code ASC ` //_, err = o.Raw(sql, pars).QueryRows(&list) err = global.DmSQL["data"].Raw(sql, pars...).Find(&list).Error return }