package data_manage import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "time" ) type BaseFromTradeGuangzhouIndex struct { BaseFromTradeGuangzhouIndexId int `orm:"column(base_from_trade_guangzhou_index_id);pk"` BaseFromTradeGuangzhouClassifyId int `description:"分类id"` BaseFromTradeGuangzhouContractId 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:"修改日期"` Value float64 `description:"数据值"` } func AddBaseFromTradeGuangzhouIndex(item *BaseFromTradeGuangzhouIndex) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.InsertOrUpdate(item) return } func GetBaseFromTradeGuangzhouIndexAll() (list []*BaseFromTradeGuangzhouIndex, err error) { o := orm.NewOrm() sql := `SELECT * FROM base_from_trade_guangzhou_index ` _, err = o.Raw(sql).QueryRows(&list) return } type GuangzhouIndexResp struct { Ret int Msg string ErrMsg string ErrCode string Data []*BaseFromTradeGuangzhouIndex } 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 GuangzhouClassifyResp struct { Ret int Msg string ErrMsg string ErrCode string Data []*BaseFromTradeGuangzhouClassify } func GetBaseFromTradeGuangzhouClassifyAll() (list []*BaseFromTradeGuangzhouClassify, err error) { o := orm.NewOrm() sql := `SELECT * FROM base_from_trade_guangzhou_classify ` _, err = o.Raw(sql).QueryRows(&list) return } func AddBaseFromTradeGuangzhouClassify(item *BaseFromTradeGuangzhouClassify) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } 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:"合约日期"` } // 新增合约 func (obj *BaseFromTradeGuangzhouIndex) AddBaseFromTradeGuangzhouContract(item *BaseFromTradeGuangzhouContract) (err error) { o := orm.NewOrmUsingDB("data") _, err = o.Insert(item) return } type GuangzhouContractResp struct { Ret int Msg string ErrMsg string ErrCode string Data []*BaseFromTradeGuangzhouContract } func GetBaseFromTradeGuangzhouContractAll() (list []*BaseFromTradeGuangzhouContract, err error) { o := orm.NewOrm() sql := `SELECT * FROM base_from_trade_guangzhou_contract ` _, err = o.Raw(sql).QueryRows(&list) return } // GetBaseFromComTradeMaxDate 获取广州期货交易所最大数据 func GetBaseFromTradeGuangzhouMaxDate() (max_date time.Time, err error) { o := orm.NewOrm() sql := ` SELECT max(a.create_time)as max_date FROM base_from_trade_guangzhou_data as a ` err = o.Raw(sql).QueryRow(&max_date) return } 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:"修改日期"` } // GetAllComTradeDataList 获取广州期货交易所数据 func GetAllBaseFromTradeGuangzhouDataList(startDate string) (list []*BaseFromTradeGuangzhouData, err error) { o := orm.NewOrm() sql := `SELECT * FROM base_from_trade_guangzhou_data WHERE create_time>=? ORDER BY base_from_trade_guangzhou_data_id ASC ` _, err = o.Raw(sql, startDate).QueryRows(&list) return } type BaseFromTradeGuangzhouDataResp struct { Ret int Msg string ErrMsg string ErrCode string Data BaseFromTradeGuangzhouIndexAndDataResp } // ComTradeIndexDataResp 分页列表响应体 type BaseFromTradeGuangzhouIndexAndDataResp struct { List []*BaseFromTradeGuangzhouData Paging *paging.PagingItem `description:"分页数据"` } // MultiAddBaseFromComTradeData 批量添加数据 func MultiAddBaseFromTradeGuangzhouData(items []*BaseFromTradeGuangzhouData) (lastId int64, err error) { num := len(items) if num <= 0 { return } o := orm.NewOrm() lastId, err = o.InsertMulti(num, items) return }