Roc 1 hónapja
szülő
commit
a1e83a9249

+ 20 - 16
models/trade_analysis/trade_analysis.go

@@ -1,9 +1,9 @@
 package trade_analysis
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -157,8 +157,7 @@ func GetExchangeClassify(exchange string) (list []TradeClassifyName, err error)
 	sql := "SELECT classify_name, classify_type FROM " + tableName + " WHERE `rank` <=20 and `rank` > 0 GROUP BY classify_name, classify_type  "
 	sql += ` ORDER BY ` + orderStr
 
-	o := orm.NewOrm()
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql).Find(&list).Error
 
 	return
 }
@@ -171,8 +170,7 @@ type LastTimeItem struct {
 func GetExchangeLastTime(exchange string) (item LastTimeItem, err error) {
 	tableName := "base_from_trade_" + exchange + "_index"
 	sql := `SELECT create_time FROM ` + tableName + ` ORDER BY create_time desc`
-	o := orm.NewOrm()
-	err = o.Raw(sql).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql).First(&item).Error
 
 	return
 }
@@ -214,8 +212,7 @@ func GetTradePositionTop(exchange string, classifyName, classifyType, dataTime s
 	tableName := "trade_position_" + exchange + "_top"
 	sql := `SELECT * FROM ` + tableName + " WHERE classify_name=? and classify_type=? and data_time=? and `rank` <=20 and `rank` > 0 ORDER BY deal_value desc"
 
-	o := orm.NewOrm()
-	_, err = o.Raw(sql, classifyName, classifyType, dataTime).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, classifyName, classifyType, dataTime).Find(&list).Error
 
 	return
 }
@@ -280,7 +277,8 @@ func GetTradeDataByContracts(exchange string, classifyNames, contracts []string,
 	fields := []string{"rank", "buy_short_name", "buy_value", "buy_change", "sold_short_name", "sold_value", "sold_change", "classify_name", "classify_type", "data_time"}
 	tableName := fmt.Sprintf("base_from_trade_%s_index", exchange)
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s ORDER BY data_time DESC`, strings.Join(fields, ","), tableName, cond)
-	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&items).Error
+
 	return
 }
 
@@ -299,7 +297,8 @@ func GetZhengzhouTradeDataByContracts(classifyNames []string, startDate, endDate
 	// ps.classify_name实为合约代码
 	fields := []string{"rank", "buy_short_name", "buy_value", "buy_change", "sold_short_name", "sold_value", "sold_change", "classify_name AS classify_type", "data_time"}
 	sql := fmt.Sprintf(`SELECT %s FROM base_from_trade_zhengzhou_index WHERE 1=1 %s ORDER BY data_time DESC`, strings.Join(fields, ","), cond)
-	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&items).Error
+
 	return
 }
 
@@ -346,7 +345,6 @@ type BaseFromTradeGuangzhouIndex struct {
 }
 
 func GetBaseFromTradeGuangzhouIndex(classifyIds []int, contracts []string, indexKeyword string) (list []*BaseFromTradeGuangzhouIndex, err error) {
-	o := orm.NewOrm()
 	cond := ``
 	pars := make([]interface{}, 0)
 	if len(classifyIds) > 0 {
@@ -365,7 +363,8 @@ func GetBaseFromTradeGuangzhouIndex(classifyIds []int, contracts []string, index
 		JOIN base_from_trade_guangzhou_contract AS b ON a.base_from_trade_guangzhou_contract_id = b.base_from_trade_guangzhou_contract_id
 		WHERE 1=1 %s`
 	sql = fmt.Sprintf(sql, cond)
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&list).Error
+
 	return
 }
 
@@ -399,7 +398,8 @@ func GetBaseFromTradeGuangzhouDataByIndexIds(indexIds []int, startDate, endDate
 		}
 	}
 	sql := fmt.Sprintf(`SELECT * FROM base_from_trade_guangzhou_data WHERE 1=1 %s ORDER BY base_from_trade_guangzhou_index_id`, cond)
-	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&list).Error
+
 	return
 }
 
@@ -435,7 +435,8 @@ func GetContractTopRankData(exchange string, classifyNames []string, dataDate ti
 	}
 	sql := `SELECT * FROM %s WHERE data_time = ? AND classify_name IN (%s) AND %s GROUP BY classify_type ORDER BY deal_value DESC`
 	sql = fmt.Sprintf(sql, tableName, utils.GetOrmInReplace(len(classifyNames)), queryRank)
-	_, err = orm.NewOrm().Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).Find(&items).Error
+
 	return
 }
 
@@ -446,7 +447,8 @@ func GetZhengzhouContractTopRankData(classifyNames []string, dataDate time.Time)
 	}
 	sql := `SELECT * FROM base_from_trade_zhengzhou_index WHERE data_time = ? AND classify_name IN (%s) AND rank = 999 GROUP BY classify_name ORDER BY deal_value DESC`
 	sql = fmt.Sprintf(sql, utils.GetOrmInReplace(len(classifyNames)))
-	_, err = orm.NewOrm().Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).Find(&items).Error
+
 	return
 }
 
@@ -481,7 +483,8 @@ func GetClassifyNewestDataTime(exchange string, classifyNames []string) (dateTim
 	tableName := fmt.Sprintf("base_from_trade_%s_index", exchange)
 	sql := `SELECT data_time FROM %s WHERE classify_name IN (%s) ORDER BY data_time DESC LIMIT 1`
 	sql = fmt.Sprintf(sql, tableName, utils.GetOrmInReplace(len(classifyNames)))
-	err = orm.NewOrm().Raw(sql, classifyNames).QueryRow(&dateTime)
+	err = global.DEFAULT_DB.Raw(sql, classifyNames).Scan(&dateTime).Error
+
 	return
 }
 
@@ -494,7 +497,8 @@ func GetGuangzhouClassifyNewestDataTime(indexIds []int) (dateTime time.Time, err
 	pars := make([]interface{}, 0)
 	pars = append(pars, indexIds)
 	sql := fmt.Sprintf(`SELECT data_time FROM base_from_trade_guangzhou_data WHERE 1=1 %s ORDER BY data_time DESC LIMIT 1`, cond)
-	err = orm.NewOrm().Raw(sql, pars).QueryRow(&dateTime)
+	err = global.DEFAULT_DB.Raw(sql, pars).Scan(&dateTime).Error
+
 	return
 }
 

+ 5 - 5
models/trade_analysis/trade_classify.go

@@ -1,8 +1,8 @@
 package trade_analysis
 
 import (
+	"eta/eta_index_lib/global"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -45,7 +45,6 @@ func (m *BaseFromTradeClassify) Cols() BaseFromTradeClassifyCols {
 }
 
 func (m *BaseFromTradeClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromTradeClassify, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -55,13 +54,13 @@ func (m *BaseFromTradeClassify) GetItemsByCondition(condition string, pars []int
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&items).Error
+
 	return
 }
 
 // GetClassifyItemsByCondition 获取品种信息
 func (m *BaseFromTradeClassify) GetClassifyItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromTradeClassify, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -71,6 +70,7 @@ func (m *BaseFromTradeClassify) GetClassifyItemsByCondition(condition string, pa
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s GROUP BY %s %s`, fields, m.TableName(), condition, m.Cols().ClassifyName, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, pars).Find(&items).Error
+
 	return
 }

+ 23 - 22
models/trade_analysis/trade_futures_company.go

@@ -1,8 +1,8 @@
 package trade_analysis
 
 import (
+	"eta/eta_index_lib/global"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -11,17 +11,17 @@ const TradeFuturesCompanyTop20 = "TOP20"
 
 // TradeFuturesCompany 期货公司表
 type TradeFuturesCompany struct {
-	TradeFuturesCompanyId int       `orm:"column(trade_futures_company_id);pk"`
-	CompanyName           string    `description:"标准公司名称"`
-	ZhengzhouName         string    `description:"郑商所下的名称"`
-	DalianName            string    `description:"大商所下的名称"`
-	ShanghaiName          string    `description:"上期所下的名称"`
-	IneName               string    `description:"上期能源下的名称"`
-	GuangzhouName         string    `description:"广期所下的名称"`
-	CffexName             string    `description:"中金所下的名称"`
-	Sort                  int       `description:"排序"`
-	CreateTime            time.Time `description:"创建时间"`
-	ModifyTime            time.Time `description:"修改时间"`
+	TradeFuturesCompanyId int       `gorm:"primaryKey;autoIncrement;column:trade_futures_company_id" description:"标准公司名称ID"`
+	CompanyName           string    `gorm:"column:company_name" description:"标准公司名称"`
+	ZhengzhouName         string    `gorm:"column:zhengzhou_name" description:"郑商所下的名称"`
+	DalianName            string    `gorm:"column:dalian_name" description:"大商所下的名称"`
+	ShanghaiName          string    `gorm:"column:shanghai_name" description:"上期所下的名称"`
+	IneName               string    `gorm:"column:ine_name" description:"上期能源下的名称"`
+	GuangzhouName         string    `gorm:"column:guangzhou_name" description:"广期所下的名称"`
+	CffexName             string    `gorm:"column:cffex_name" description:"中金所下的名称"`
+	Sort                  int       `gorm:"column:sort" description:"排序"`
+	CreateTime            time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime            time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *TradeFuturesCompany) TableName() string {
@@ -59,32 +59,32 @@ func (m *TradeFuturesCompany) Cols() TradeFuturesCompanyCols {
 }
 
 func (m *TradeFuturesCompany) GetItemById(id int) (item *TradeFuturesCompany, err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *TradeFuturesCompany, err error) {
-	o := orm.NewOrm()
+
 	order := ``
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*TradeFuturesCompany, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -94,12 +94,12 @@ func (m *TradeFuturesCompany) GetItemsByCondition(condition string, pars []inter
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&items).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*TradeFuturesCompany, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -109,7 +109,8 @@ func (m *TradeFuturesCompany) GetPageItemsByCondition(condition string, pars []i
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize, pageSize)
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&items).Error
 	return
 }
 

+ 7 - 7
models/trade_analysis/warehouse.go

@@ -2,13 +2,13 @@ package trade_analysis
 
 // WarehouseExtraConfig 建仓图表配置
 type WarehouseExtraConfig struct {
-	MultipleGraphConfigId int      `description:"多图配置ID"`
-	WarehouseChartType    int      `description:"图表类型: 1-多单图; 2-空单图; 3-净多单图"`
-	Exchange              string   `description:"交易所标识"`
-	ClassifyName          string   `description:"品种名称"`
-	Contracts             []string `description:"合约代码"`
-	Companies             []string `description:"期货公司, 不超过5个"`
-	PredictRatio          float64  `description:"预估参数, 0-1之间"`
+	MultipleGraphConfigId int      `gorm:"primaryKey;autoIncrement;column:multiple_graph_config_id" description:"多图配置ID"`
+	WarehouseChartType    int      `gorm:"column:warehouse_chart_type" description:"图表类型: 1-多单图; 2-空单图; 3-净多单图"`
+	Exchange              string   `gorm:"column:exchange" description:"交易所标识"`
+	ClassifyName          string   `gorm:"column:classify_name" description:"品种名称"`
+	Contracts             []string `gorm:"-" description:"合约代码"`        // 通常不直接映射slice到数据库列
+	Companies             []string `gorm:"-" description:"期货公司, 不超过5个"` // 同上
+	PredictRatio          float64  `gorm:"column:predict_ratio" description:"预估参数, 0-1之间"`
 }
 
 // WarehouseChartPars 建仓单表配置