Roc 1 tháng trước cách đây
mục cha
commit
a19e05e55d

+ 36 - 23
models/edb_data_ly.go

@@ -2,67 +2,80 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
 )
 
 type EdbDataLy struct {
-	edbDataId     int     `orm:"column(edb_data_id);pk"` // 数据ID
-	CreateTime    string  `orm:"column(create_time)"`    // 创建时间
-	ModifyTime    string  `orm:"column(modify_time)"`    // 修改时间
-	EdbInfoId     int     `orm:"column(edb_info_id)"`    // 指标id
-	EdbCode       string  `orm:"column(edb_code)"`       // 指标编码
-	DataTime      string  `orm:"column(data_time)"`      // 数据日期
-	Value         float64 `orm:"column(value)"`          // 数据值
-	DataTimestamp uint64  `orm:"column(data_timestamp)"` // 数据日期时间戳
+	EdbDataId     int     `gorm:"column:edb_data_id;type:int(10) UNSIGNED;primaryKey;not null;"`
+	CreateTime    string  `gorm:"column:create_time;type:datetime;comment:创建时间;not null;default:CURRENT_TIMESTAMP;"`  // 创建时间
+	ModifyTime    string  `gorm:"column:modify_time;type:datetime;comment:修改时间;not null;default:CURRENT_TIMESTAMP;"`  // 修改时间
+	EdbInfoId     int     `gorm:"column:edb_info_id;type:int(10) UNSIGNED;comment:指标id;not null;"`                    // 指标id
+	EdbCode       string  `gorm:"column:edb_code;type:varchar(128);comment:指标编码;not null;"`                           // 指标编码
+	DataTime      string  `gorm:"column:data_time;type:date;comment:数据日期;default:NULL;"`                              // 数据日期
+	Value         float64 `gorm:"column:value;type:double;comment:数据值;default:NULL;"`                                 // 数据值
+	DataTimestamp uint64  `gorm:"column:data_timestamp;type:bigint(20) UNSIGNED;comment:数据日期时间戳;not null;default:0;"` // 数据日期时间戳
 }
 
-func init() {
-	orm.RegisterModel(new(EdbDataLy))
+// ConvertTimeStr
+// @Description: 转成需要输出的格式
+// @receiver m
+func (m *EdbDataLy) ConvertTimeStr() {
+	m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.DataTime)
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.DataTime)
+
+	return
 }
 
 func GetLyEdbDataByIndexCodeAndDataTime(indexCode string, dataTime string) (items []EdbDataLy, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM edb_data_ly WHERE index_code=? AND data_time like ?`
-	_, err = o.Raw(sql, indexCode, dataTime+"%").QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, indexCode, dataTime+"%").Find(&items).Error
 	if utils.IsErrNoRow(err) {
 		return nil, nil
 	}
+	for _, v := range items {
+		v.ConvertTimeStr()
+	}
+
 	return
 }
 
 func GetLyEdbDataByIndexCodeAndExactDataTime(indexCode string, dataTime string) (items []EdbDataLy, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM edb_data_ly WHERE edb_code=? AND data_time=?`
-	_, err = o.Raw(sql, indexCode, dataTime).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, indexCode, dataTime).Find(&items).Error
 	if utils.IsErrNoRow(err) {
 		return nil, nil
 	}
+	for _, v := range items {
+		v.ConvertTimeStr()
+	}
+
 	return
 }
 
 // UpdateLyEdbDataById 更新指标库数据 须根据指标编码和日期更新 仅适合月度数据
 func UpdateLyEdbDataById(id int, value float64) (err error) {
-	o := orm.NewOrm()
 	sql := `UPDATE edb_data_ly SET value=? WHERE edb_data_id=?`
-	_, err = o.Raw(sql, value, id).Exec()
+	err = global.DEFAULT_DB.Exec(sql, value, id).Error
+
 	return
 }
 
 // 新增指标库数据
 func AddLyEdbDataList(items []EdbDataLy) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 // AddEdbDataFromLy 新增指标数据
 func AddEdbDataFromLy(edbCode string) (err error) {
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 
 	var condition string
 	var pars []interface{}
@@ -103,7 +116,7 @@ func AddEdbDataFromLy(edbCode string) (err error) {
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")
 			utils.FileLog.Info("addSql:" + addSql)
-			_, err = o.Raw(addSql).Exec()
+			err = o.Exec(addSql).Error
 			if err != nil {
 				return err
 			}
@@ -116,7 +129,7 @@ func RefreshEdbDataFromLy(edbInfoId int, edbCode, startDate string) (err error)
 	source := utils.DATA_SOURCE_LY
 	subSource := utils.DATA_SUB_SOURCE_EDB
 
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 	if err != nil {
 		return
 	}
@@ -222,7 +235,7 @@ func RefreshEdbDataFromLy(edbInfoId int, edbCode, startDate string) (err error)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		err = o.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 26 - 22
models/edb_data_residual_analysis.go

@@ -2,9 +2,9 @@ package models
 
 import (
 	"encoding/json"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"math"
 	"sort"
 	"strconv"
@@ -12,34 +12,38 @@ import (
 )
 
 type edbDataResidualAnalysis struct {
-	EdbDataId     int       `orm:"column(edb_data_id);pk;auto" description:"自增id"`
-	EdbInfoId     int       `orm:"column(edb_info_id)" description:"指标id"`
-	EdbCode       string    `orm:"column(edb_code)" description:"指标编码"`
-	DataTime      string    `orm:"column(data_time)" description:"数据日期"`
-	Value         float64   `orm:"column(value)" description:"数据值"`
-	CreateTime    time.Time `orm:"column(create_time)" description:"创建时间"`
-	ModifyTime    time.Time `orm:"column(modify_time)" description:"修改时间"`
-	DataTimeStamp int64     `orm:"column(data_timestamp)"`
+	EdbDataId     int       `gorm:"column:edb_data_id;type:int(11);primaryKey;not null;"`
+	EdbInfoId     int       `gorm:"column:edb_info_id;type:int(11);comment:指标id;default:NULL;"`       // 指标id
+	EdbCode       string    `gorm:"column:edb_code;type:varchar(190);comment:指标编码;default:NULL;"`     // 指标编码
+	DataTime      string    `gorm:"column:data_time;type:date;comment:数据日期;default:NULL;"`            // 数据日期
+	Value         float64   `gorm:"column:value;type:double;comment:数据值;default:NULL;"`               // 数据值
+	CreateTime    time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;" `     // 创建时间
+	ModifyTime    time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;"`      // 修改时间
+	DataTimestamp int64     `gorm:"column:data_timestamp;type:bigint(20);comment:数据日期时间戳;default:0;"` // 数据日期时间戳
 }
 
-func init() {
-	orm.RegisterModel(new(edbDataResidualAnalysis))
+// ConvertTimeStr
+// @Description: 转成需要输出的格式
+// @receiver m
+func (m *edbDataResidualAnalysis) ConvertTimeStr() {
+	m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
+
+	return
 }
 
 // AddResidualAnalysisData 新增指标数据
-func AddResidualAnalysisData(dataList []edbDataResidualAnalysis) (num int64, err error) {
-	o := orm.NewOrm()
-	num, err = o.InsertMulti(len(dataList), dataList)
+func AddResidualAnalysisData(dataList []edbDataResidualAnalysis) (err error) {
+	err = global.DEFAULT_DB.CreateInBatches(dataList, utils.MultiAddNum).Error
 	if err != nil {
-		return 0, err
+		return err
 	}
 
-	return num, nil
+	return nil
 }
 
 // RefreshAllCalculateResidualAnalysis 刷新残差分析
 func RefreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
-	to := orm.NewOrm()
+	to := global.DEFAULT_DB
 	/*to, err := o.Begin()
 	if err != nil {
 		return
@@ -68,7 +72,7 @@ func RefreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaIn
 	for _, i := range edbInfoIdList {
 		params = append(params, i)
 	}
-	_, err = to.Raw(sql, params...).Exec()
+	err = to.Exec(sql, params...).Error
 	if err != nil {
 		return
 	}
@@ -177,11 +181,11 @@ func refreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaIn
 					Value:         value,
 					CreateTime:    time.Now(),
 					ModifyTime:    time.Now(),
-					DataTimeStamp: edbData.DataTimestamp,
+					DataTimestamp: edbData.DataTimestamp,
 				})
 			}
 
-			_, err = AddResidualAnalysisData(edbDataResidualAnalysisList)
+			err = AddResidualAnalysisData(edbDataResidualAnalysisList)
 			if err != nil {
 				return err
 			}
@@ -200,11 +204,11 @@ func refreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaIn
 					Value:         value,
 					CreateTime:    time.Now(),
 					ModifyTime:    time.Now(),
-					DataTimeStamp: edbData.DataTimestamp,
+					DataTimestamp: edbData.DataTimestamp,
 				})
 			}
 
-			_, err = AddResidualAnalysisData(edbDataResidualAnalysisList)
+			err = AddResidualAnalysisData(edbDataResidualAnalysisList)
 			if err != nil {
 				return err
 			}

+ 33 - 23
models/edb_data_rzd.go

@@ -2,66 +2,76 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
 )
 
 type EdbDataRzd struct {
-	edbDataId     int     `orm:"column(edb_data_id);pk"`
-	CreateTime    string  `orm:"column(create_time)"`
-	ModifyTime    string  `orm:"column(modify_time)"`
-	EdbInfoId     int     `orm:"column(edb_info_id)"`
-	EdbCode       string  `orm:"column(edb_code)"`
-	DataTime      string  `orm:"column(data_time)"`
-	Value         float64 `orm:"column(value)"`
-	DataTimestamp uint64  `orm:"column(data_timestamp)"`
+	EdbDataId     int     `gorm:"column:edb_data_id;type:int(10) UNSIGNED;primaryKey;not null;"`
+	CreateTime    string  `gorm:"column:create_time;type:datetime;comment:创建时间;not null;default:CURRENT_TIMESTAMP;"`  // 创建时间
+	ModifyTime    string  `gorm:"column:modify_time;type:datetime;comment:修改时间;not null;default:CURRENT_TIMESTAMP;"`  // 修改时间
+	EdbInfoId     int     `gorm:"column:edb_info_id;type:int(10) UNSIGNED;comment:指标id;not null;"`                    // 指标id
+	EdbCode       string  `gorm:"column:edb_code;type:varchar(128);comment:指标编码;not null;"`                           // 指标编码
+	DataTime      string  `gorm:"column:data_time;type:date;comment:数据日期;default:NULL;"`                              // 数据日期
+	Value         float64 `gorm:"column:value;type:double;comment:数据值;default:NULL;"`                                 // 数据值
+	DataTimestamp uint64  `gorm:"column:data_timestamp;type:bigint(20) UNSIGNED;comment:数据日期时间戳;not null;default:0;"` // 数据日期时间戳
 }
 
-func init() {
-	orm.RegisterModel(new(EdbDataRzd))
+// ConvertTimeStr
+// @Description: 转成需要输出的格式
+// @receiver m
+func (m *EdbDataRzd) ConvertTimeStr() {
+	m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.DataTime)
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.DataTime)
+
+	return
 }
 
 // GetRzdEdbDataByIndexCodeAndDataTime 根据指标编码和时间获取指标库数据
 func GetRzdEdbDataByIndexCodeAndDataTime(indexCode string, dataTime string) (items []EdbDataRzd, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM edb_data_rzd WHERE edb_code=? AND data_time=?`
-	_, err = o.Raw(sql, indexCode, dataTime).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, indexCode, dataTime).Find(&items).Error
 	if utils.IsErrNoRow(err) {
 		return nil, nil
 	}
+	for _, v := range items {
+		v.ConvertTimeStr()
+	}
+
 	return
 }
 
 // UpdateRzdEdbDataById 更新指标库数据 须根据指标编码和日期更新 仅适合月度数据
 func UpdateRzdEdbDataById(id int, value float64) (err error) {
-	o := orm.NewOrm()
 	sql := `UPDATE edb_data_rzd SET value=? WHERE edb_data_id=?`
-	_, err = o.Raw(sql, value, id).Exec()
+	err = global.DEFAULT_DB.Exec(sql, value, id).Error
+
 	return
 }
 
 // UpdateRzdEdbDataByIndexCodeAndDataTime 根据指标编码和时间更新数据
 func UpdateRzdEdbDataByIndexCodeAndDataTime(indexCode int, dataTime string, value float64) (err error) {
-	o := orm.NewOrm()
 	sql := `UPDATE edb_data_rzd SET value=? WHERE edb_info_id=? AND data_time=?`
-	_, err = o.Raw(sql, value, indexCode, dataTime).Exec()
+	err = global.DEFAULT_DB.Exec(sql, value, indexCode, dataTime).Error
+
 	return
 }
 
 // AddRzdEdbDataList 新增指标库数据
 func AddRzdEdbDataList(items []EdbDataRzd) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 // AddEdbDataFromRzd 新增指标数据
 func AddEdbDataFromRzd(edbCode string) (err error) {
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 
 	var condition string
 	var pars []interface{}
@@ -102,7 +112,7 @@ func AddEdbDataFromRzd(edbCode string) (err error) {
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")
 			utils.FileLog.Info("addSql:" + addSql)
-			_, err = o.Raw(addSql).Exec()
+			err = o.Exec(addSql).Error
 			if err != nil {
 				return err
 			}
@@ -115,7 +125,7 @@ func RefreshEdbDataFromRzd(edbInfoId int, edbCode, startDate string) (err error)
 	source := utils.DATA_SOURCE_RZD
 	subSource := utils.DATA_SUB_SOURCE_EDB
 
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 	if err != nil {
 		return
 	}
@@ -221,7 +231,7 @@ func RefreshEdbDataFromRzd(edbInfoId int, edbCode, startDate string) (err error)
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		err = o.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 40 - 41
models/edb_data_ths_hf.go

@@ -1,23 +1,23 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // EdbDataThsHf 同花顺高频指标数据
 type EdbDataThsHf struct {
-	EdbDataId     int       `orm:"column(edb_data_id);pk"`
-	EdbInfoId     int       `description:"指标ID"`
-	EdbCode       string    `description:"指标编码"`
-	DataTime      time.Time `description:"数据日期"`
-	Value         float64   `description:"数据值"`
-	CreateTime    time.Time `description:"创建时间"`
-	ModifyTime    time.Time `description:"修改时间"`
-	DataTimestamp int64     `description:"数据日期时间戳"`
+	EdbDataId     int       `gorm:"column:edb_data_id;type:int(10) UNSIGNED;primaryKey;not null;"`
+	EdbInfoId     int       `gorm:"column:edb_info_id;type:int(10) UNSIGNED;comment:指标ID;not null;default:0;"` // 指标ID
+	EdbCode       string    `gorm:"column:edb_code;type:varchar(255);comment:指标编码;not null;"`                  // 指标编码
+	DataTime      time.Time `gorm:"column:data_time;type:date;comment:数据日期;default:NULL;"`                     // 数据日期
+	Value         float64   `gorm:"column:value;type:double;comment:数据值;default:NULL;"`                        // 数据值
+	CreateTime    time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;"`               // 创建时间
+	ModifyTime    time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;"`               // 修改时间
+	DataTimestamp int64     `gorm:"column:data_timestamp;type:bigint(20) UNSIGNED;comment:数据日期时间戳;default:0;"` // 数据日期时间戳
 }
 
 func (m *EdbDataThsHf) TableName() string {
@@ -49,12 +49,11 @@ func (m *EdbDataThsHf) Cols() EdbDataThsHfCols {
 }
 
 func (m *EdbDataThsHf) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
+	err = global.DEFAULT_DB.Create(m).Error
 	if err != nil {
 		return
 	}
-	m.EdbDataId = int(id)
+
 	return
 }
 
@@ -62,21 +61,21 @@ func (m *EdbDataThsHf) CreateMulti(items []*EdbDataThsHf) (err error) {
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(500, items)
+	err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 func (m *EdbDataThsHf) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	err = global.DEFAULT_DB.Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *EdbDataThsHf) Remove() (err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.EdbDataId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.EdbDataId).Error
+
 	return
 }
 
@@ -84,9 +83,9 @@ func (m *EdbDataThsHf) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
+
 	return
 }
 
@@ -94,39 +93,38 @@ func (m *EdbDataThsHf) RemoveByCondition(condition string, pars []interface{}) (
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DEFAULT_DB.Exec(sql, pars).Error
+
 	return
 }
 
 func (m *EdbDataThsHf) GetItemById(id int) (item *EdbDataThsHf, 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 *EdbDataThsHf) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *EdbDataThsHf, 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 *EdbDataThsHf) 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 *EdbDataThsHf) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*EdbDataThsHf, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -136,12 +134,12 @@ func (m *EdbDataThsHf) GetItemsByCondition(condition string, pars []interface{},
 		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
 }
 
 func (m *EdbDataThsHf) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EdbDataThsHf, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -151,7 +149,8 @@ func (m *EdbDataThsHf) GetPageItemsByCondition(condition string, pars []interfac
 		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)
+	err = global.DEFAULT_DB.Raw(sql, pars, startSize, pageSize).Find(&items).Error
+
 	return
 }
 
@@ -161,18 +160,18 @@ func (m *EdbDataThsHf) MultiUpdateValue(items []*EdbDataThsHf) (err error) {
 		return
 	}
 
-	o := orm.NewOrm()
-	sql := fmt.Sprintf("UPDATE %s SET %s = ?, %s = NOW() WHERE %s = ?", m.TableName(), m.Cols().Value, m.Cols().ModifyTime, m.Cols().PrimaryId)
-	p, e := o.Raw(sql).Prepare()
-	if e != nil {
-		err = fmt.Errorf("update sql prepare err: %v", e)
-		return
-	}
+	o := global.DEFAULT_DB.Begin()
 	defer func() {
-		_ = p.Close()
+		if err != nil {
+			o.Rollback()
+		} else {
+			o.Commit()
+		}
 	}()
+
+	sql := fmt.Sprintf("UPDATE %s SET %s = ?, %s = NOW() WHERE %s = ?", m.TableName(), m.Cols().Value, m.Cols().ModifyTime, m.Cols().PrimaryId)
 	for _, v := range items {
-		_, err = p.Exec(v.Value, v.EdbDataId)
+		err = o.Exec(sql, v.Value, v.EdbDataId).Error
 		if err != nil {
 			return
 		}

+ 42 - 45
models/edb_data_trade_analysis.go

@@ -1,23 +1,24 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+
 	"strings"
 	"time"
 )
 
 // EdbDataTradeAnalysis 持仓分析指标数据
 type EdbDataTradeAnalysis struct {
-	EdbDataId     int       `orm:"column(edb_data_id);pk"`
-	EdbInfoId     int       `description:"指标ID"`
-	EdbCode       string    `description:"指标编码"`
-	DataTime      time.Time `description:"数据日期"`
-	Value         float64   `description:"数据值"`
-	CreateTime    time.Time `description:"创建时间"`
-	ModifyTime    time.Time `description:"修改时间"`
-	DataTimestamp int64     `description:"数据日期时间戳"`
+	EdbDataId     int       `gorm:"primaryKey;autoIncrement;column:edb_data_id"`
+	EdbInfoId     int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode       string    `gorm:"column:edb_code" description:"指标编码"`
+	DataTime      time.Time `gorm:"column:data_time" description:"数据日期"`
+	Value         float64   `gorm:"column:value" description:"数据值"`
+	CreateTime    time.Time `gorm:"column:status" description:"创建时间"`
+	ModifyTime    time.Time `gorm:"column:create_time" description:"修改时间"`
+	DataTimestamp int64     `gorm:"column:modify_time" description:"数据日期时间戳"`
 }
 
 func (m *EdbDataTradeAnalysis) TableName() string {
@@ -49,12 +50,8 @@ func (m *EdbDataTradeAnalysis) Cols() EdbDataTradeAnalysisCols {
 }
 
 func (m *EdbDataTradeAnalysis) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.EdbDataId = int(id)
+
+	err = global.DEFAULT_DB.Create(m).Error
 	return
 }
 
@@ -62,21 +59,21 @@ func (m *EdbDataTradeAnalysis) CreateMulti(items []*EdbDataTradeAnalysis) (err e
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(500, items)
+
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
 	return
 }
 
 func (m *EdbDataTradeAnalysis) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
 func (m *EdbDataTradeAnalysis) Remove() (err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.EdbDataId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.EdbDataId).Error
 	return
 }
 
@@ -84,9 +81,9 @@ func (m *EdbDataTradeAnalysis) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
 	return
 }
 
@@ -94,39 +91,39 @@ func (m *EdbDataTradeAnalysis) RemoveByCondition(condition string, pars []interf
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DEFAULT_DB.Exec(sql, pars...).Error
 	return
 }
 
 func (m *EdbDataTradeAnalysis) GetItemById(id int) (item *EdbDataTradeAnalysis, 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 *EdbDataTradeAnalysis) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *EdbDataTradeAnalysis, 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 *EdbDataTradeAnalysis) 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 *EdbDataTradeAnalysis) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*EdbDataTradeAnalysis, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -136,12 +133,12 @@ func (m *EdbDataTradeAnalysis) GetItemsByCondition(condition string, pars []inte
 		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
 }
 
 func (m *EdbDataTradeAnalysis) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EdbDataTradeAnalysis, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -151,7 +148,8 @@ func (m *EdbDataTradeAnalysis) GetPageItemsByCondition(condition string, pars []
 		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...).Find(&items).Error
 	return
 }
 
@@ -160,19 +158,18 @@ func (m *EdbDataTradeAnalysis) MultiUpdateValue(items []*EdbDataTradeAnalysis) (
 	if len(items) == 0 {
 		return
 	}
-
-	o := orm.NewOrm()
-	sql := fmt.Sprintf("UPDATE %s SET %s = ?, %s = NOW() WHERE %s = ?", m.TableName(), m.Cols().Value, m.Cols().ModifyTime, m.Cols().PrimaryId)
-	p, e := o.Raw(sql).Prepare()
-	if e != nil {
-		err = fmt.Errorf("update sql prepare err: %v", e)
-		return
-	}
+	o := global.DEFAULT_DB.Begin()
 	defer func() {
-		_ = p.Close()
+		if err != nil {
+			o.Rollback()
+		} else {
+			o.Commit()
+		}
 	}()
+
+	sql := fmt.Sprintf("UPDATE %s SET %s = ?, %s = NOW() WHERE %s = ?", m.TableName(), m.Cols().Value, m.Cols().ModifyTime, m.Cols().PrimaryId)
 	for _, v := range items {
-		_, err = p.Exec(v.Value, v.EdbDataId)
+		err = o.Exec(sql, v.Value, v.EdbDataId).Error
 		if err != nil {
 			return
 		}

+ 71 - 84
models/edb_info_calculate_mapping.go

@@ -1,49 +1,49 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // EdbInfoCalculateMapping 计算指标于基础指标,关系表
 type EdbInfoCalculateMapping struct {
-	EdbInfoCalculateMappingId int       `orm:"column(edb_info_calculate_mapping_id);pk"`
-	EdbInfoId                 int       `description:"计算指标id"`
-	Source                    int       `description:"计算指标来源"`
-	SourceName                string    `description:"计算指标来源名称"`
-	EdbCode                   string    `description:"计算指标编码"`
-	FromEdbInfoId             int       `description:"基础指标id"`
-	FromEdbCode               string    `description:"基础指标编码"`
-	FromEdbName               string    `description:"基础指标名称"`
-	FromSource                int       `description:"基础指标来源"`
-	FromSourceName            string    `description:"基础指标来源名称"`
-	MoveValue                 int       `description:"移动的值,小于0是提前,0是不变,大于0是滞后"`
-	Sort                      int       `description:"计算指标名称排序"`
-	CreateTime                time.Time `description:"创建时间"`
-	ModifyTime                time.Time `description:"修改时间"`
-	FromTag                   string    `description:"来源指标标签"`
-	FromSubSource             int       `description:"渠道子数据库来源"`
+	EdbInfoCalculateMappingId int       `gorm:"primaryKey;autoIncrement;column:edb_info_calculate_mapping_id"`
+	EdbInfoId                 int       `gorm:"column:edb_info_id" description:"计算指标id"`
+	Source                    int       `gorm:"column:source" description:"计算指标来源"`
+	SourceName                string    `gorm:"column:source_name" description:"计算指标来源名称"`
+	EdbCode                   string    `gorm:"column:edb_code" description:"计算指标编码"`
+	FromEdbInfoId             int       `gorm:"column:from_edb_info_id" description:"基础指标id"`
+	FromEdbCode               string    `gorm:"column:from_edb_code" description:"基础指标编码"`
+	FromEdbName               string    `gorm:"column:from_edb_name" description:"基础指标名称"`
+	FromSource                int       `gorm:"column:from_source" description:"基础指标来源"`
+	FromSourceName            string    `gorm:"column:from_source_name" description:"基础指标来源名称"`
+	MoveValue                 int       `gorm:"column:move_value" description:"移动的值,小于0是提前,0是不变,大于0是滞后"`
+	Sort                      int       `gorm:"column:sort" description:"计算指标名称排序"`
+	CreateTime                time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                time.Time `gorm:"column:modify_time" description:"修改时间"`
+	FromTag                   string    `gorm:"column:from_tag" description:"来源指标标签"`
+	FromSubSource             int       `gorm:"column:from_sub_source" description:"渠道子数据库来源"`
 }
 
 // EdbInfoCalculateMappingInfo
 // @Description: 计算指标与基础指标关系表
 type EdbInfoCalculateMappingInfo struct {
-	EdbInfoCalculateMappingId int       `orm:"column(edb_info_calculate_mapping_id);pk"`
-	EdbInfoId                 int       `description:"计算指标id"`
-	Source                    int       `description:"计算指标来源"`
-	SourceName                string    `description:"计算指标来源名称"`
-	EdbCode                   string    `description:"计算指标编码"`
-	FromEdbInfoId             int       `description:"基础指标id"`
-	FromEdbCode               string    `description:"基础指标编码"`
-	FromEdbName               string    `description:"基础指标名称"`
-	FromSource                int       `description:"基础指标来源"`
-	FromSourceName            string    `description:"基础指标来源名称"`
-	MoveValue                 int       `description:"领先值"`
-	FromTag                   string    `description:"来源指标标签"`
-	Sort                      int       `description:"计算指标名称排序"`
-	CreateTime                time.Time `description:"创建时间"`
-	ModifyTime                time.Time `description:"修改时间"`
+	EdbInfoCalculateMappingId int       `gorm:"primaryKey;autoIncrement;column:edb_info_calculate_mapping_id"`
+	EdbInfoId                 int       `gorm:"column:edb_info_id" description:"计算指标id"`
+	Source                    int       `gorm:"column:source" description:"计算指标来源"`
+	SourceName                string    `gorm:"column:source_name" description:"计算指标来源名称"`
+	EdbCode                   string    `gorm:"column:edb_code" description:"计算指标编码"`
+	FromEdbInfoId             int       `gorm:"column:from_edb_info_id" description:"基础指标id"`
+	FromEdbCode               string    `gorm:"column:from_edb_code" description:"基础指标编码"`
+	FromEdbName               string    `gorm:"column:from_edb_name" description:"基础指标名称"`
+	FromSource                int       `gorm:"column:from_source" description:"基础指标来源"`
+	FromSourceName            string    `gorm:"column:from_source_name" description:"基础指标来源名称"`
+	MoveValue                 int       `gorm:"column:move_value" description:"移动的值,小于0是提前,0是不变,大于0是滞后"`
+	Sort                      int       `gorm:"column:sort" description:"计算指标名称排序"`
+	CreateTime                time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                time.Time `gorm:"column:modify_time" description:"修改时间"`
+	FromTag                   string    `gorm:"column:from_tag" description:"来源指标标签"`
 	FromEdbType               int       `description:"来源指标类型:1:基础指标,2:计算指标"`
 	FromEdbInfoType           int       `description:"来源指标类型: 0-基础指标; 1-预测指标"`
 	FromClassifyId            int       `description:"来源指标分类ID"`
@@ -53,34 +53,32 @@ type EdbInfoCalculateMappingInfo struct {
 
 // AddEdbInfoCalculateMappingMulti 批量添加指标关系表
 func AddEdbInfoCalculateMappingMulti(items []*EdbInfoCalculateMapping) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
 	return
 }
 
 // AddEdbInfoCalculateMappingMulti 批量添加指标关系表
 func (e *EdbInfoCalculateMapping) Add() (err error) {
-	o := orm.NewOrm()
-	_, err = o.Insert(e)
+	err = global.DEFAULT_DB.Create(e).Error
 	return
 }
 
 // EdbInfoCalculateMappingView
 type EdbInfoCalculateMappingView struct {
-	EdbInfoCalculateMappingId int       `orm:"column(edb_info_calculate_mapping_id);pk"`
-	EdbInfoId                 int       `description:"计算指标id"`
-	Source                    int       `description:"计算指标来源"`
-	SourceName                string    `description:"计算指标来源名称"`
-	EdbCode                   string    `description:"计算指标编码"`
-	FromEdbInfoId             int       `description:"基础指标id"`
-	FromEdbCode               string    `description:"基础指标编码"`
-	FromEdbName               string    `description:"基础指标名称"`
-	FromSource                int       `description:"基础指标来源"`
-	FromSourceName            string    `description:"基础指标来源名称"`
-	FromTag                   string    `description:"来源指标标签"`
-	Sort                      int       `description:"计算指标名称排序"`
-	CreateTime                time.Time `description:"创建时间"`
-	ModifyTime                time.Time `description:"修改时间"`
+	EdbInfoCalculateMappingId int       `gorm:"primaryKey;autoIncrement;column:edb_info_calculate_mapping_id"`
+	EdbInfoId                 int       `gorm:"column:edb_info_id" description:"计算指标id"`
+	Source                    int       `gorm:"column:source" description:"计算指标来源"`
+	SourceName                string    `gorm:"column:source_name" description:"计算指标来源名称"`
+	EdbCode                   string    `gorm:"column:edb_code" description:"计算指标编码"`
+	FromEdbInfoId             int       `gorm:"column:from_edb_info_id" description:"基础指标id"`
+	FromEdbCode               string    `gorm:"column:from_edb_code" description:"基础指标编码"`
+	FromEdbName               string    `gorm:"column:from_edb_name" description:"基础指标名称"`
+	FromSource                int       `gorm:"column:from_source" description:"基础指标来源"`
+	FromSourceName            string    `gorm:"column:from_source_name" description:"基础指标来源名称"`
+	Sort                      int       `gorm:"column:sort" description:"计算指标名称排序"`
+	CreateTime                time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                time.Time `gorm:"column:modify_time" description:"修改时间"`
+	FromTag                   string    `gorm:"column:from_tag" description:"来源指标标签"`
 	StartDate                 string    `description:"开始日期"`
 	EndDate                   string    `description:"结束日期"`
 	CalculateFormula          string    `description:"N值"`
@@ -90,38 +88,27 @@ type EdbInfoCalculateMappingView struct {
 
 // GetEdbInfoCalculateMappingDetail 获取单条关联指标
 func GetEdbInfoCalculateMappingDetail(edbInfoId int) (item *EdbInfoCalculateMappingView, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT a.*,b.start_date,b.end_date,b.calculate_formula,b.move_type,b.move_frequency FROM edb_info_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
-	return
-}
-
-// GetEdbInfoCalculateMappingDetailByFromTag 获取单条关联指标
-func GetEdbInfoCalculateMappingDetailByFromTag(edbInfoId int, fromTag string) (item *EdbInfoCalculateMappingView, err error) {
-	o := orm.NewOrm()
-	sql := ` SELECT a.*,b.start_date,b.end_date,b.calculate_formula,b.move_type,b.move_frequency FROM edb_info_calculate_mapping AS a
-			INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
-			WHERE a.edb_info_id=? and a.from_tag=? `
-	err = o.Raw(sql, edbInfoId, fromTag).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&item).Error
 	return
 }
 
 // EdbInfoCalculateDetail
 type EdbInfoCalculateDetail struct {
-	EdbInfoCalculateId int       `orm:"column(edb_info_calculate_id);pk"`
-	EdbInfoId          int       `description:"指标id"`
-	EdbCode            string    `description:"指标编码"`
-	FromEdbInfoId      int       `description:"计算指标id"`
-	FromEdbCode        string    `description:"计算指标编码"`
-	FromEdbName        string    `description:"计算指标名称"`
-	FromSource         int       `description:"计算指标来源"`
-	FromSourceName     string    `description:"计算指标来源名称"`
-	FromTag            string    `description:"来源指标标签"`
-	Sort               int       `description:"计算指标名称排序"`
-	CreateTime         time.Time `description:"创建时间"`
-	ModifyTime         time.Time `description:"修改时间"`
+	EdbInfoCalculateId int       `gorm:"primaryKey;autoIncrement;column:edb_info_calculate_mapping_id"`
+	EdbInfoId          int       `gorm:"column:edb_info_id" description:"计算指标id"`
+	EdbCode            string    `gorm:"column:edb_code" description:"计算指标编码"`
+	FromEdbInfoId      int       `gorm:"column:from_edb_info_id" description:"基础指标id"`
+	FromEdbCode        string    `gorm:"column:from_edb_code" description:"基础指标编码"`
+	FromEdbName        string    `gorm:"column:from_edb_name" description:"基础指标名称"`
+	FromSource         int       `gorm:"column:from_source" description:"基础指标来源"`
+	FromSourceName     string    `gorm:"column:from_source_name" description:"基础指标来源名称"`
+	Sort               int       `gorm:"column:sort" description:"计算指标名称排序"`
+	CreateTime         time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime         time.Time `gorm:"column:modify_time" description:"修改时间"`
+	FromTag            string    `gorm:"column:from_tag" description:"来源指标标签"`
 	StartDate          string    `description:"开始日期"`
 	EndDate            string    `description:"结束日期"`
 	EdbType            int       `description:"指标类型:1:基础指标,2:计算指标"`
@@ -129,47 +116,47 @@ type EdbInfoCalculateDetail struct {
 
 // GetEdbInfoCalculateDetailList 获取关联指标列表
 func GetEdbInfoCalculateDetailList(edbInfoId int) (list []*EdbInfoCalculateDetail, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT a.*,b.start_date,b.end_date,b.edb_type FROM edb_info_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Scan(&list).Error
+
 	return
 }
 
 // GetEdbInfoByEdbCode 根据指标code获取指标信息
 func GetEdbInfoCalculateByEdbCode(edbCode, fromEdbCode string) (item *EdbInfoCalculateMapping, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM edb_info_calculate_mapping WHERE edb_code=? AND from_edb_code=? `
-	err = o.Raw(sql, edbCode, fromEdbCode).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbCode, fromEdbCode).First(&item).Error
+
 	return
 }
 
 // GetEdbInfoCalculateMappingListByEdbInfoIds 根据生成的指标id获取来源的指标id列表
 func GetEdbInfoCalculateMappingListByEdbInfoIds(edbInfoIds []int) (items []*EdbInfoCalculateMappingInfo, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT a.*,b.edb_type as from_edb_type,b.edb_info_type as from_edb_info_type, b.unique_code AS from_unique_code, b.classify_id AS from_classify_id,b.no_update FROM edb_info_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id in (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
-	_, err = o.Raw(sql, edbInfoIds).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoIds).Scan(&items).Error
+
 	return
 }
 
 // GetEdbInfoCalculateMappingListByEdbInfoId 根据生成的指标id获取来源的指标id列表
 func GetEdbInfoCalculateMappingListByEdbInfoId(edbInfoId int) (items []*EdbInfoCalculateMappingInfo, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT a.*,b.edb_type as from_edb_type,b.edb_info_type as from_edb_info_type, b.unique_code AS from_unique_code, b.classify_id AS from_classify_id,b.no_update FROM edb_info_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? `
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Scan(&items).Error
+
 	return
 }
 
 // GetCalculateMappingListByEdbInfoId 根据指标id获取计算指标映射列表
 func GetCalculateMappingListByEdbInfoId(edbInfoId int) (items []*EdbInfoCalculateMapping, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM edb_info_calculate_mapping WHERE edb_info_id=? order by edb_info_calculate_mapping_id asc`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Find(&items).Error
+
 	return
 }

+ 15 - 16
models/edb_info_record.go

@@ -1,28 +1,27 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type EdbInfoRecord struct {
-	EdbInfoRecordId     int       `orm:"column(edb_info_record_id);pk"`
-	EdbInfoId           int       `orm:"column(edb_info_id)"`
-	OldEdbName          string    `description:"旧的指标名称"`
-	OldFrequency        string    `description:"旧的频率"`
-	OldUnit             string    `description:"旧的单位"`
-	NewEdbName          string    `description:"新的指标名称"`
-	NewFrequency        string    `description:"新的频率"`
-	NewUnit             string    `description:"新的单位"`
-	OperateUserId       int       `description:"执行人id"`
-	OperateUserRealName string    `description:"执行人名称"`
-	CreateTime          time.Time `description:"记录的生成时间"`
-	Timestamp           int64     `description:"时间戳"`
+	EdbInfoRecordId     int       `gorm:"primaryKey;autoIncrement;column:edb_info_record_id" description:"唯一记录ID"`
+	EdbInfoId           int       `gorm:"column:edb_info_id" description:"指标ID"`
+	OldEdbName          string    `gorm:"column:old_edb_name" description:"旧的指标名称"`
+	OldFrequency        string    `gorm:"column:old_frequency" description:"旧的频率"`
+	OldUnit             string    `gorm:"column:old_unit" description:"旧的单位"`
+	NewEdbName          string    `gorm:"column:new_edb_name" description:"新的指标名称"`
+	NewFrequency        string    `gorm:"column:new_frequency" description:"新的频率"`
+	NewUnit             string    `gorm:"column:new_unit" description:"新的单位"`
+	OperateUserId       int       `gorm:"column:operate_user_id" description:"执行人id"`
+	OperateUserRealName string    `gorm:"column:operate_user_real_name" description:"执行人名称"`
+	CreateTime          time.Time `gorm:"column:create_time" description:"记录的生成时间"`
+	Timestamp           int64     `gorm:"column:timestamp" description:"时间戳"`
 }
 
 func AddEditEdbInfoRcord(edbRecord *EdbInfoRecord) (e error) {
-	o := orm.NewOrm()
-	_, e = o.Insert(edbRecord)
+	e = global.DEFAULT_DB.Create(edbRecord).Error
+
 	return
 }

+ 27 - 34
models/edb_info_relation.go

@@ -1,28 +1,28 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 type EdbInfoRelation struct {
-	EdbInfoRelationId  int       `orm:"column(edb_info_relation_id);pk"`
-	EdbInfoId          int       `description:"指标id"`
-	Source             int       `description:"来源:1:同花顺,2:wind,3:彭博,4:指标运算,5:累计值转月,6:同比值,7:同差值,8:N数值移动平均计算,9:手工指标,10:隆众"`
-	EdbName            string    `description:"指标名称"`
-	EdbCode            string    `description:"指标编码"`
-	ReferObjectId      int       `description:"引用对象ID(图表ID,ETA逻辑ID等)"`
-	ReferObjectType    int       `description:"引用对象ID类型(1.图表,2.ETA逻辑)"`
-	ReferObjectSubType int       `description:"引用对象子类"`
-	CreateTime         time.Time `description:"创建时间"`
-	ModifyTime         time.Time `description:"修改时间"`
-	RelationTime       time.Time `description:"引用时间"`
-	RelationType       int       `description:"引用类型,0:直接饮用,1间接引用"`
-	RootEdbInfoId      int       `description:"间接引用时,关联的直接引用的指标ID"`
-	ChildEdbInfoId     int       `description:"间接引用时,计算指标直接关联的指标ID"`
-	RelationCode       string    `description:"引用标识"`
-	ParentRelationId   int       `description:"间接引用关联的直接引用的ID"`
+	EdbInfoRelationId  int       `gorm:"primaryKey;autoIncrement;column:edb_info_relation_id"`
+	EdbInfoId          int       `gorm:"column:edb_info_id" description:"指标id"`
+	Source             int       `gorm:"column:source" description:"来源:1:同花顺,2:wind,3:彭博,4:指标运算,5:累计值转月,6:同比值,7:同差值,8:N数值移动平均计算,9:手工指标,10:隆众"`
+	EdbName            string    `gorm:"column:edb_name" description:"指标名称"`
+	EdbCode            string    `gorm:"column:edb_code" description:"指标编码"`
+	ReferObjectId      int       `gorm:"column:refer_object_id" description:"引用对象ID(图表ID,ETA逻辑ID等)"`
+	ReferObjectType    int       `gorm:"column:refer_object_type" description:"引用对象ID类型(1.图表,2.ETA逻辑)"`
+	ReferObjectSubType int       `gorm:"column:refer_object_sub_type" description:"引用对象子类"`
+	CreateTime         time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime         time.Time `gorm:"column:modify_time" description:"修改时间"`
+	RelationTime       time.Time `gorm:"column:relation_time" description:"引用时间"`
+	RelationType       int       `gorm:"column:relation_type" description:"引用类型,0:直接引用,1间接引用"`
+	RootEdbInfoId      int       `gorm:"column:root_edb_info_id" description:"间接引用时,关联的直接引用的指标ID"`
+	ChildEdbInfoId     int       `gorm:"column:child_edb_info_id" description:"间接引用时,计算指标直接关联的指标ID"`
+	RelationCode       string    `gorm:"column:relation_code" description:"引用标识"`
+	ParentRelationId   int       `gorm:"column:parent_relation_id" description:"间接引用关联的直接引用的ID"`
 }
 
 func (e *EdbInfoRelation) TableName() string {
@@ -31,42 +31,35 @@ func (e *EdbInfoRelation) TableName() string {
 
 // GetEdbInfoRelationByChildEdbInfoId 查询引用的指标ID
 func GetEdbInfoRelationByChildEdbInfoId(edbInfoId int) (item *EdbInfoRelation, err error) {
-	o := orm.NewOrm()
 	msql := ` SELECT * FROM edb_info_relation WHERE child_edb_info_id = ? or edb_info_id=?`
-	err = o.Raw(msql, edbInfoId, edbInfoId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(msql, edbInfoId, edbInfoId).First(&item).Error
 	return
 }
 
 // GetEdbInfoRelationListByChildEdbInfoId 根据间接引用中的的计算指标ID查询引用列表
 func GetEdbInfoRelationListByChildEdbInfoId(edbInfoId int) (items []*EdbInfoRelation, err error) {
-	o := orm.NewOrm()
 	msql := ` SELECT * FROM edb_info_relation WHERE relation_type=1 AND child_edb_info_id=?`
-	_, err = o.Raw(msql, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(msql, edbInfoId).Scan(&items).Error
 	return
 }
 
 // GetEdbInfoRelationListByParentRelationId 根据间接引用中的的父级ID查询
 func GetEdbInfoRelationEdbIdsByParentRelationId(relationId, edbInfoId int) (items []int, err error) {
-	o := orm.NewOrm()
 	msql := ` SELECT edb_info_id FROM edb_info_relation WHERE parent_relation_id=? AND child_edb_info_id=?`
-	_, err = o.Raw(msql, relationId, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(msql, relationId, edbInfoId).Scan(&items).Error
 	return
 }
 
 // GetEdbInfoRelationByRelationIds 查询引用的指标ID
 func GetEdbInfoRelationByRelationIds(ids []int) (items []*EdbInfoRelation, err error) {
-	o := orm.NewOrm()
 	msql := ` SELECT * FROM edb_info_relation WHERE edb_info_relation_id in (` + utils.GetOrmInReplace(len(ids)) + `) `
-	_, err = o.Raw(msql, ids).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(msql, ids).Scan(&items).Error
 	return
 }
 
 // UpdateSecondRelationEdbInfoId 更新指标替换后的间接引用记录
 func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfoRelation, refreshEdbInfoIds []int, indexCodeList []string) (err error) {
-	o, err := orm.NewOrm().Begin()
-	if err != nil {
-		return
-	}
+	o := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -76,7 +69,7 @@ func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfo
 	}()
 	// 删除相关的间接引用
 	sql := ` DELETE FROM edb_info_relation WHERE relation_type=1 and parent_relation_id in (` + utils.GetOrmInReplace(len(edbRelationIds)) + `)`
-	_, err = o.Raw(sql, edbRelationIds).Exec()
+	err = o.Exec(sql, edbRelationIds).Error
 	if err != nil {
 		return
 	}
@@ -89,7 +82,7 @@ func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfo
 				relationCodesMap[relation.RelationCode] = struct{}{}
 			}
 		}
-		_, err = o.InsertMulti(len(relationList), relationList)
+		err = o.CreateInBatches(relationList, 500).Error
 		if err != nil {
 			return
 		}
@@ -98,7 +91,7 @@ func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfo
 	if len(refreshEdbInfoIds) > 0 {
 		// todo 更新指标的刷新状态
 		sql = ` UPDATE edb_info SET no_update = 0, set_update_time=? WHERE  edb_info_id IN (` + utils.GetOrmInReplace(len(refreshEdbInfoIds)) + `) AND no_update = 1`
-		_, err = o.Raw(sql, time.Now(), refreshEdbInfoIds).Exec()
+		err = o.Exec(sql, time.Now(), refreshEdbInfoIds).Error
 		if err != nil {
 			return
 		}
@@ -108,7 +101,7 @@ func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfo
 	if len(indexCodeList) > 0 {
 		// 更改数据源的更新状态
 		sql = ` UPDATE base_from_mysteel_chemical_index SET is_stop = 0 WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodeList)) + `) and is_stop=1`
-		_, err = o.Raw(sql, indexCodeList).Exec()
+		err = o.Exec(sql, indexCodeList).Error
 		if err != nil {
 			return
 		}
@@ -126,7 +119,7 @@ SET e1.parent_relation_id = e2.edb_info_relation_id
 WHERE  
     e1.relation_type = 1   
     AND e2.relation_type = 0 AND e1.parent_relation_id !=e2.edb_info_relation_id AND e1.relation_code in (` + utils.GetOrmInReplace(len(relationCodes)) + `)`
-			_, err = o.Raw(sql, relationCodes).Exec()
+			err = o.Exec(sql, relationCodes).Error
 			if err != nil {
 				return
 			}

+ 10 - 13
models/edb_python_code.go

@@ -1,38 +1,35 @@
 package models
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
 	"time"
 )
 
 // EdbPythonCode python指标运算代码
 type EdbPythonCode struct {
-	EdbPythonCodeId int    `orm:"column(edb_python_code_id);pk"`
-	EdbInfoId       int    `description:"指标id"`
-	EdbCode         string `description:"指标编码"`
-	PythonCode      string `description:"python代码"`
-	ModifyTime      time.Time
-	CreateTime      time.Time
+	EdbPythonCodeId int       `gorm:"primaryKey;autoIncrement;column:edb_python_code_id"`
+	EdbInfoId       int       `gorm:"column:edb_info_id" description:"指标id"`
+	EdbCode         string    `gorm:"column:edb_code" description:"指标编码"`
+	PythonCode      string    `gorm:"column:python_code" description:"python代码"`
+	ModifyTime      time.Time `gorm:"column:modify_time"`
+	CreateTime      time.Time `gorm:"column:create_time"`
 }
 
 // Update 更新EdbPythonCode信息
 func (edbPythonCode *EdbPythonCode) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(edbPythonCode, cols...)
+	err = global.DEFAULT_DB.Model(edbPythonCode).Select(cols).Updates(edbPythonCode).Error
 	return
 }
 
 // AddEdbPythonCode python指标运算代码
 func AddEdbPythonCode(item *EdbPythonCode) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(item)
+	err = global.DEFAULT_DB.Create(item).Error
 	return
 }
 
 // GetEdbPythonCodeById 根据指标id获取python代码
 func GetEdbPythonCodeById(edbInfoId int) (item *EdbPythonCode, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM edb_python_code WHERE edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&item).Error
 	return
 }

+ 11 - 10
models/edb_source.go

@@ -14,20 +14,21 @@ var (
 
 // EdbSource 指标来源表
 type EdbSource struct {
-	EdbSourceId      int    `orm:"column(edb_source_id);pk"`
-	SourceName       string `description:"指标来源名称"`
-	TableName        string `description:"数据表名"`
-	EdbAddMethod     string `description:"指标新增接口"`
-	EdbRefreshMethod string `description:"指标刷新接口"`
-	IsBase           int    `description:"是否为基础指标: 0-否; 1-是"`
-	FromBridge       int    `description:"是否来源于桥接服务: 0-否; 1-是"`
-	BridgeFlag       string `description:"桥接服务对象标识"`
-	SourceExtend     string `description:"扩展字段做查询用"`
-	EdbCodeRequired  int    `description:"指标编码是否必填: 0-否; 1-是"`
+	EdbSourceId      int    `gorm:"primaryKey;autoIncrement;column:edb_source_id" description:"指标来源ID"`
+	SourceName       string `gorm:"column:source_name;not null;default:'';type:varchar(128)" description:"指标来源名称"`
+	TableName       string `gorm:"column:table_name;not null;default:'';type:varchar(128)" description:"数据表名"`
+	EdbAddMethod     string `gorm:"column:edb_add_method;not null;default:'';type:varchar(255)" description:"指标新增接口"`
+	EdbRefreshMethod string `gorm:"column:edb_refresh_method;not null;default:'';type:varchar(255)" description:"指标刷新接口"`
+	IsBase           int    `gorm:"column:is_base;not null;default:0" description:"是否为基础指标: 0-否; 1-是"`
+	FromBridge       int    `gorm:"column:from_bridge;not null;default:0" description:"是否来源于桥接服务: 0-否; 1-是"`
+	BridgeFlag       string `gorm:"column:bridge_flag;not null;default:'';type:varchar(128)" description:"桥接服务对象标识"`
+	SourceExtend     string `gorm:"column:source_extend;not null;default:'';type:varchar(255)" description:"扩展字段做查询用"`
+	EdbCodeRequired  int    `gorm:"column:edb_code_required;not null;default:0" description:"指标编码是否必填: 0-否; 1-是"`
 }
 
 // GetEdbSourceItemsByCondition 获取指标来源列表
 func GetEdbSourceItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*EdbSource, err error) {
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`

+ 22 - 21
models/edb_terminal.go

@@ -1,38 +1,39 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // EdbTerminal 指标终端
 type EdbTerminal struct {
-	TerminalId   int       `orm:"column(terminal_id);pk"`
-	Source       int       `orm:"column(source)" description:"指标来源类型"`
-	Name         string    `description:"终端别名"`
-	TerminalCode string    `description:"终端编码,用于配置在机器上"`
-	ServerUrl    string    `description:"终端地址"`
-	Num          int       `description:"终端最大指标数"`
-	Status       int       `description:"状态,1启用,2禁用"`
-	Value        string    `description:"终端相关的凭证"`
-	ModifyTime   time.Time `description:"修改时间"`
-	CreateTime   time.Time `description:"创建时间"`
+	TerminalId   int       `gorm:"column:terminal_id;type:int(9) UNSIGNED;primaryKey;not null;"`
+	Source       int       `gorm:"column:source;type:int(9) UNSIGNED;comment:指标来源类型;default:0;"`                    // 指标来源类型
+	Name         string    `gorm:"column:name;type:varchar(255);comment:终端别名;"`                                       // 终端别名
+	TerminalCode string    `gorm:"column:terminal_code;type:varchar(255);comment:终端编码,用于配置在机器上;"`             // 终端编码,用于配置在机器上
+	ServerUrl    string    `gorm:"column:server_url;type:varchar(255);comment:终端地址;"`                                 // 终端地址
+	Num          int       `gorm:"column:num;type:int(9) UNSIGNED;comment:终端最大指标数;default:0;"`                     // 终端最大指标数
+	ModifyTime   time.Time `gorm:"column:modify_time;type:timestamp;comment:最近一次修改时间;default:CURRENT_TIMESTAMP;"` // 最近一次修改时间
+	CreateTime   time.Time `gorm:"column:create_time;type:datetime;comment:创建时间;default:NULL;"`                       // 创建时间
+	Status       int       `gorm:"column:status;type:tinyint(4);comment:状态,1启用,2禁用;not null;default:1;"`            // 状态,1启用,2禁用
+	Value        string    `gorm:"column:value;type:text;comment:终端相关的凭证;"`                                        // 终端相关的凭证
+	DirPath      string    `gorm:"column:dir_path;type:varchar(255);comment:终端存放的文件夹路径;default:NULL;"`          // 终端存放的文件夹路径
 }
 
 // GetEdbTerminalListBySource 根据指标来源类型获取所有的终端列表
 func GetEdbTerminalListBySource(source int) (items []*EdbTerminal, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT *  FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC `
-	_, err = o.Raw(sql, source).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, source).Find(&items).Error
+
 	return
 }
 
 // GetEdbTerminalFirstBySource 根据指标来源类型获取配置的首个终端信息
 func GetEdbTerminalFirstBySource(source int) (item *EdbTerminal, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT *  FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC Limit 1 `
-	err = o.Raw(sql, source).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, source).First(&item).Error
+
 	return
 }
 
@@ -43,17 +44,17 @@ type TerminalCodeCountGroup struct {
 
 // GetEdbTerminalByCode 根据终端编码获取终端信息
 func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT *  FROM edb_terminal WHERE terminal_code = ? `
-	err = o.Raw(sql, terminalCode).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, terminalCode).First(&item).Error
+
 	return
 }
 
 // GetEdbCountGroupByTerminal 获取终端code分组总数
 func GetEdbCountGroupByTerminal(source int) (list []TerminalCodeCountGroup, err error) {
-	o := orm.NewOrm()
 	sql := `select terminal_code,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
-	_, err = o.Raw(sql, source).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, source).Find(&list).Error
+
 	return
 }
 
@@ -64,8 +65,8 @@ type BaseIndexTerminalCode struct {
 
 // GetBaseIndexTerminalCode 获取数据源的终端code
 func GetBaseIndexTerminalCode(edbCode, tableName string) (item BaseIndexTerminalCode, err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`select terminal_code, index_name from %s where index_code = ? `, tableName)
-	err = o.Raw(sql, edbCode).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbCode).First(&item).Error
+
 	return
 }

+ 5 - 13
models/edb_ths_hf.go

@@ -2,10 +2,10 @@ package models
 
 import (
 	"encoding/json"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/models/mgo"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
 	"go.mongodb.org/mongo-driver/bson"
 	"reflect"
@@ -76,12 +76,7 @@ type ThsHfRefreshBaseParams struct {
 // Add
 // @Description: 添加指标
 func (obj EdbThsHf) Add(params ThsHfAddBaseParams, baseIndex *BaseFromThsHfIndex) (edbInfo *EdbInfo, err error) {
-	o := orm.NewOrm()
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
-		return
-	}
+	tx := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -114,12 +109,11 @@ func (obj EdbThsHf) Add(params ThsHfAddBaseParams, baseIndex *BaseFromThsHfIndex
 	edbInfo.UniqueCode = params.UniqueCode
 	edbInfo.CreateTime = time.Now()
 	edbInfo.ModifyTime = time.Now()
-	edbInfoId, e := tx.Insert(edbInfo)
+	e := tx.Create(edbInfo).Error
 	if e != nil {
 		err = fmt.Errorf("insert edb err: %v", e)
 		return
 	}
-	edbInfo.EdbInfoId = int(edbInfoId)
 
 	// 新增指标关联
 	edbMapping := new(BaseFromEdbMapping)
@@ -132,12 +126,11 @@ func (obj EdbThsHf) Add(params ThsHfAddBaseParams, baseIndex *BaseFromThsHfIndex
 	edbMapping.ConvertRule = params.ConvertRule
 	edbMapping.CreateTime = time.Now().Local()
 	edbMapping.ModifyTime = time.Now().Local()
-	edbMappingId, e := tx.Insert(edbMapping)
+	e = tx.Create(edbMapping).Error
 	if e != nil {
 		err = fmt.Errorf("insert base edb mapping err: %v", e)
 		return
 	}
-	edbMapping.Id = int(edbMappingId)
 
 	// 刷新数据
 	err = obj.Refresh(edbInfo, edbMapping, "")
@@ -855,9 +848,8 @@ func (obj EdbThsHf) HandleConfigInsertEdbDataByMongo(realDataMaxDate time.Time,
 			mogDataObj.RemoveManyByColl(coll, bson.M{"_id": item.ID})
 		}
 	} else {
-		o := orm.NewOrm()
 		edbDataInsertConfig.RealDate = realDataMaxDate
-		_, err = o.Update(edbDataInsertConfig, "RealDate")
+		err = global.DEFAULT_DB.Model(edbDataInsertConfig).Select([]string{"RealDate"}).Updates(edbDataInsertConfig).Error
 	}
 	return
 }

+ 48 - 57
models/factor_edb_series.go

@@ -2,9 +2,9 @@ package models
 
 import (
 	"encoding/json"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -17,13 +17,13 @@ const (
 
 // FactorEdbSeries 因子指标系列表
 type FactorEdbSeries struct {
-	FactorEdbSeriesId int       `orm:"column(factor_edb_series_id);pk"`
-	SeriesName        string    `description:"系列名称"`
-	EdbInfoType       int       `description:"关联指标类型:0-普通指标;1-预测指标"`
-	CalculateStep     string    `description:"计算步骤-JSON"`
-	CalculateState    int       `description:"计算状态: 0-无计算; 1-计算中; 2-计算完成"`
-	CreateTime        time.Time `description:"创建时间"`
-	ModifyTime        time.Time `description:"修改时间"`
+	FactorEdbSeriesId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_id"`
+	SeriesName        string    `gorm:"column:series_name" description:"系列名称"`
+	EdbInfoType       int       `gorm:"column:edb_info_type" description:"关联指标类型:0-普通指标;1-预测指标"`
+	CalculateStep     string    `gorm:"column:calculate_step" description:"计算步骤-JSON"`
+	CalculateState    int       `gorm:"column:calculate_state" description:"计算状态: 0-无计算; 1-计算中; 2-计算完成"`
+	CreateTime        time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime        time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *FactorEdbSeries) TableName() string {
@@ -53,12 +53,8 @@ func (m *FactorEdbSeries) Cols() FactorEdbSeriesCols {
 }
 
 func (m *FactorEdbSeries) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.FactorEdbSeriesId = int(id)
+	err = global.DEFAULT_DB.Create(m).Error
+
 	return
 }
 
@@ -66,21 +62,21 @@ func (m *FactorEdbSeries) CreateMulti(items []*FactorEdbSeries) (err error) {
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
+
 	return
 }
 
 func (m *FactorEdbSeries) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *FactorEdbSeries) Remove() (err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.FactorEdbSeriesId).Error
+
 	return
 }
 
@@ -88,39 +84,38 @@ func (m *FactorEdbSeries) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
+
 	return
 }
 
 func (m *FactorEdbSeries) GetItemById(id int) (item *FactorEdbSeries, 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 *FactorEdbSeries) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeries, 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 *FactorEdbSeries) 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 *FactorEdbSeries) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeries, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -130,12 +125,12 @@ func (m *FactorEdbSeries) GetItemsByCondition(condition string, pars []interface
 		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
 }
 
 func (m *FactorEdbSeries) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeries, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -145,7 +140,9 @@ func (m *FactorEdbSeries) GetPageItemsByCondition(condition string, pars []inter
 		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...).Find(&items).Error
+
 	return
 }
 
@@ -169,6 +166,7 @@ func (m *FactorEdbSeries) Format2Item() (item *FactorEdbSeriesItem) {
 	}
 	item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, m.CreateTime)
 	item.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, m.ModifyTime)
+
 	return
 }
 
@@ -190,33 +188,29 @@ func (m *FactorEdbSeries) CreateSeriesAndMapping(item *FactorEdbSeries, mappings
 		err = fmt.Errorf("series is nil")
 		return
 	}
-	o := orm.NewOrm()
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
-		return
-	}
+
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = tx.Rollback()
-			return
+			to.Rollback()
+		} else {
+			to.Commit()
 		}
-		_ = tx.Commit()
 	}()
 
-	id, e := tx.Insert(item)
+	e := to.Create(item).Error
 	if e != nil {
 		err = fmt.Errorf("insert series err: %v", e)
 		return
 	}
-	seriesId = int(id)
-	item.FactorEdbSeriesId = seriesId
+	seriesId = item.FactorEdbSeriesId
+	//item.FactorEdbSeriesId = seriesId
 
 	if len(mappings) > 0 {
 		for _, v := range mappings {
 			v.FactorEdbSeriesId = seriesId
 		}
-		_, e = tx.InsertMulti(200, mappings)
+		e = to.CreateInBatches(mappings, 200).Error
 		if e != nil {
 			err = fmt.Errorf("insert multi mapping err: %v", e)
 			return
@@ -231,21 +225,17 @@ func (m *FactorEdbSeries) EditSeriesAndMapping(item *FactorEdbSeries, mappings [
 		err = fmt.Errorf("series is nil")
 		return
 	}
-	o := orm.NewOrm()
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
-		return
-	}
+
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			_ = tx.Rollback()
-			return
+			to.Rollback()
+		} else {
+			to.Commit()
 		}
-		_ = tx.Commit()
 	}()
 
-	_, e = tx.Update(item, updateCols...)
+	e := to.Model(item).Select(updateCols).Updates(item).Error
 	if e != nil {
 		err = fmt.Errorf("update series err: %v", e)
 		return
@@ -257,7 +247,7 @@ func (m *FactorEdbSeries) EditSeriesAndMapping(item *FactorEdbSeries, mappings [
 	pars := make([]interface{}, 0)
 	pars = append(pars, item.FactorEdbSeriesId)
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, mappingOb.TableName(), cond)
-	_, e = tx.Raw(sql, pars).Exec()
+	e = to.Exec(sql, pars...).Error
 	if e != nil {
 		err = fmt.Errorf("remove mapping err: %v", e)
 		return
@@ -267,12 +257,13 @@ func (m *FactorEdbSeries) EditSeriesAndMapping(item *FactorEdbSeries, mappings [
 		for _, v := range mappings {
 			v.FactorEdbSeriesId = item.FactorEdbSeriesId
 		}
-		_, e = tx.InsertMulti(200, mappings)
+		e = to.CreateInBatches(mappings, 200).Error
 		if e != nil {
 			err = fmt.Errorf("insert multi mapping err: %v", e)
 			return
 		}
 	}
+
 	return
 }
 

+ 36 - 33
models/factor_edb_series_calculate_data.go

@@ -1,24 +1,24 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // FactorEdbSeriesCalculateData 因子指标系列-指标计算数据表
 type FactorEdbSeriesCalculateData struct {
-	FactorEdbSeriesCalculateDataId int       `orm:"column(factor_edb_series_calculate_data_id);pk"`
-	FactorEdbSeriesId              int       `description:"因子指标系列ID"`
-	EdbInfoId                      int       `description:"指标ID"`
-	EdbCode                        string    `description:"指标编码"`
-	DataTime                       time.Time `description:"数据日期"`
-	Value                          float64   `description:"数据值"`
-	CreateTime                     time.Time `description:"创建时间"`
-	ModifyTime                     time.Time `description:"修改时间"`
-	DataTimestamp                  int64     `description:"数据日期时间戳"`
+	FactorEdbSeriesCalculateDataId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_calculate_data_id" description:"因子指标系列计算数据ID"`
+	FactorEdbSeriesId              int       `gorm:"column:factor_edb_series_id" description:"因子指标系列ID"`
+	EdbInfoId                      int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode                        string    `gorm:"column:edb_code" description:"指标编码"`
+	DataTime                       time.Time `gorm:"column:data_time" description:"数据日期"`
+	Value                          float64   `gorm:"column:value" description:"数据值"`
+	CreateTime                     time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                     time.Time `gorm:"column:modify_time" description:"修改时间"`
+	DataTimestamp                  int64     `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 func (m *FactorEdbSeriesCalculateData) TableName() string {
@@ -52,12 +52,11 @@ func (m *FactorEdbSeriesCalculateData) Cols() FactorEdbSeriesCalculateDataCols {
 }
 
 func (m *FactorEdbSeriesCalculateData) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
+
+	err = global.DEFAULT_DB.Create(m).Error
 	if err != nil {
 		return
 	}
-	m.FactorEdbSeriesCalculateDataId = int(id)
 	return
 }
 
@@ -65,21 +64,21 @@ func (m *FactorEdbSeriesCalculateData) CreateMulti(items []*FactorEdbSeriesCalcu
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(500, items)
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateData) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateData) Remove() (err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesCalculateDataId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.FactorEdbSeriesCalculateDataId).Error
+
 	return
 }
 
@@ -87,9 +86,9 @@ func (m *FactorEdbSeriesCalculateData) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
+
 	return
 }
 
@@ -97,39 +96,39 @@ func (m *FactorEdbSeriesCalculateData) RemoveByCondition(condition string, pars
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DEFAULT_DB.Exec(sql, pars...).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateData) GetItemById(id int) (item *FactorEdbSeriesCalculateData, 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 *FactorEdbSeriesCalculateData) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeriesCalculateData, 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 *FactorEdbSeriesCalculateData) 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 *FactorEdbSeriesCalculateData) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeriesCalculateData, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -139,12 +138,12 @@ func (m *FactorEdbSeriesCalculateData) GetItemsByCondition(condition string, par
 		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
 }
 
 func (m *FactorEdbSeriesCalculateData) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeriesCalculateData, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -154,7 +153,9 @@ func (m *FactorEdbSeriesCalculateData) GetPageItemsByCondition(condition string,
 		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...).Find(&items).Error
+
 	return
 }
 
@@ -174,6 +175,7 @@ func (m *FactorEdbSeriesCalculateData) Format2Item() (item *FactorEdbSeriesCalcu
 	item.FactorEdbSeriesId = m.FactorEdbSeriesId
 	item.EdbInfoId = m.EdbInfoId
 	item.EdbCode = m.EdbCode
+
 	return
 }
 
@@ -186,5 +188,6 @@ func TransEdbSeriesCalculateData2EdbDataList(items []*FactorEdbSeriesCalculateDa
 			Value:    v.Value,
 		})
 	}
+
 	return
 }

+ 39 - 50
models/factor_edb_series_calculate_data_qjjs.go

@@ -1,24 +1,24 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // FactorEdbSeriesCalculateDataQjjs 因子指标系列-区间计算数据表
 type FactorEdbSeriesCalculateDataQjjs struct {
-	FactorEdbSeriesCalculateDataId int       `orm:"column(factor_edb_series_calculate_data_id);pk"`
-	FactorEdbSeriesId              int       `description:"因子指标系列ID"`
-	EdbInfoId                      int       `description:"指标ID"`
-	EdbCode                        string    `description:"指标编码"`
-	DataTime                       time.Time `description:"数据日期"`
-	Value                          float64   `description:"数据值"`
-	CreateTime                     time.Time `description:"创建时间"`
-	ModifyTime                     time.Time `description:"修改时间"`
-	DataTimestamp                  int64     `description:"数据日期时间戳"`
+	FactorEdbSeriesCalculateDataId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_calculate_data_id" description:"因子指标系列区间计算数据ID"`
+	FactorEdbSeriesId              int       `gorm:"column:factor_edb_series_id" description:"因子指标系列ID"`
+	EdbInfoId                      int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode                        string    `gorm:"column:edb_code" description:"指标编码"`
+	DataTime                       time.Time `gorm:"column:data_time" description:"数据日期"`
+	Value                          float64   `gorm:"column:value" description:"数据值"`
+	CreateTime                     time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                     time.Time `gorm:"column:modify_time" description:"修改时间"`
+	DataTimestamp                  int64     `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) TableName() string {
@@ -52,12 +52,8 @@ func (m *FactorEdbSeriesCalculateDataQjjs) Cols() FactorEdbSeriesCalculateDataQj
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.FactorEdbSeriesCalculateDataId = int(id)
+	err = global.DEFAULT_DB.Create(m).Error
+
 	return
 }
 
@@ -65,21 +61,21 @@ func (m *FactorEdbSeriesCalculateDataQjjs) CreateMulti(items []*FactorEdbSeriesC
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(500, items)
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) Remove() (err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesCalculateDataId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.FactorEdbSeriesCalculateDataId).Error
+
 	return
 }
 
@@ -87,9 +83,10 @@ func (m *FactorEdbSeriesCalculateDataQjjs) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
+
 	return
 }
 
@@ -97,39 +94,39 @@ func (m *FactorEdbSeriesCalculateDataQjjs) RemoveByCondition(condition string, p
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DEFAULT_DB.Exec(sql, pars...).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) GetItemById(id int) (item *FactorEdbSeriesCalculateDataQjjs, 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 *FactorEdbSeriesCalculateDataQjjs) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeriesCalculateDataQjjs, 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 *FactorEdbSeriesCalculateDataQjjs) 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 *FactorEdbSeriesCalculateDataQjjs) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeriesCalculateDataQjjs, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -139,12 +136,12 @@ func (m *FactorEdbSeriesCalculateDataQjjs) GetItemsByCondition(condition string,
 		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
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeriesCalculateDataQjjs, err error) {
-	o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -154,7 +151,9 @@ func (m *FactorEdbSeriesCalculateDataQjjs) GetPageItemsByCondition(condition str
 		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...).Find(&items).Error
+
 	return
 }
 
@@ -174,24 +173,13 @@ func (m *FactorEdbSeriesCalculateDataQjjs) Format2Item() (item *FactorEdbSeriesC
 	item.FactorEdbSeriesId = m.FactorEdbSeriesId
 	item.EdbInfoId = m.EdbInfoId
 	item.EdbCode = m.EdbCode
-	return
-}
 
-// TransEdbSeriesCalculateDataQjjs2EdbDataList 转换数据格式
-func TransEdbSeriesCalculateDataQjjs2EdbDataList(items []*FactorEdbSeriesCalculateDataQjjs) (list []*EdbDataList) {
-	list = make([]*EdbDataList, 0)
-	for _, v := range items {
-		list = append(list, &EdbDataList{
-			DataTime: v.DataTime.Format(utils.FormatDate),
-			Value:    v.Value,
-		})
-	}
 	return
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) GetEdbDataList(seriesId int, edbInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
 	var pars []interface{}
-	sql := `SELECT factor_edb_series_calculate_data_id as edb_data_id  ,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id=? and factor_edb_series_id=? `
+	sql := `SELECT factor_edb_series_calculate_data_id as edb_data_id  ,edb_info_id,data_time,"value",data_timestamp FROM %s WHERE edb_info_id=? and factor_edb_series_id=? `
 	pars = append(pars, edbInfoId, seriesId)
 	if startDate != "" {
 		sql += ` AND data_time>=? `
@@ -204,7 +192,8 @@ func (m *FactorEdbSeriesCalculateDataQjjs) GetEdbDataList(seriesId int, edbInfoI
 
 	sql += ` ORDER BY data_time ASC `
 	sql = fmt.Sprintf(sql, m.TableName())
-	o := orm.NewOrm()
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&list).Error
+
 	return
 }

+ 29 - 31
models/factor_edb_series_calculate_func.go

@@ -1,21 +1,21 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // FactorEdbSeriesCalculateFunc 多因子系列-计算方式表
 type FactorEdbSeriesCalculateFunc struct {
-	FactorEdbSeriesCalculateFuncId int       `orm:"column(factor_edb_series_calculate_func_id);pk"`
-	CalculateName                  string    `description:"计算方式名称"`
-	Source                         int       `description:"计算方式来源"`
-	EdbInfoType                    int       `description:"指标计算类型:0-普通指标;1-预测指标"`
-	CreateTime                     time.Time `description:"创建时间"`
-	ModifyTime                     time.Time `description:"修改时间"`
+	FactorEdbSeriesCalculateFuncId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_calculate_func_id" description:"多因子系列计算方式ID"`
+	CalculateName                  string    `gorm:"column:calculate_name" description:"计算方式名称"`
+	Source                         int       `gorm:"column:source" description:"计算方式来源"`
+	EdbInfoType                    int       `gorm:"column:edb_info_type" description:"指标计算类型:0-普通指标;1-预测指标"`
+	CreateTime                     time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                     time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *FactorEdbSeriesCalculateFunc) TableName() string {
@@ -43,12 +43,8 @@ func (m *FactorEdbSeriesCalculateFunc) Cols() FactorEdbSeriesCalculateFuncCols {
 }
 
 func (m *FactorEdbSeriesCalculateFunc) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.FactorEdbSeriesCalculateFuncId = int(id)
+	err = global.DEFAULT_DB.Create(m).Error
+
 	return
 }
 
@@ -56,21 +52,22 @@ func (m *FactorEdbSeriesCalculateFunc) CreateMulti(items []*FactorEdbSeriesCalcu
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateFunc) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *FactorEdbSeriesCalculateFunc) Remove() (err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesCalculateFuncId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.FactorEdbSeriesCalculateFuncId).Error
+
 	return
 }
 
@@ -78,39 +75,39 @@ func (m *FactorEdbSeriesCalculateFunc) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
 	return
 }
 
 func (m *FactorEdbSeriesCalculateFunc) GetItemById(id int) (item *FactorEdbSeriesCalculateFunc, 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 *FactorEdbSeriesCalculateFunc) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeriesCalculateFunc, 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 *FactorEdbSeriesCalculateFunc) 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 *FactorEdbSeriesCalculateFunc) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeriesCalculateFunc, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -120,12 +117,12 @@ func (m *FactorEdbSeriesCalculateFunc) GetItemsByCondition(condition string, par
 		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
 }
 
 func (m *FactorEdbSeriesCalculateFunc) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeriesCalculateFunc, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -135,7 +132,8 @@ func (m *FactorEdbSeriesCalculateFunc) GetPageItemsByCondition(condition string,
 		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...).Find(&items).Error
 	return
 }
 

+ 34 - 38
models/factor_edb_series_chart_mapping.go

@@ -1,9 +1,9 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -15,17 +15,17 @@ const (
 
 // FactorEdbSeriesChartMapping 因子指标系列-图表关联
 type FactorEdbSeriesChartMapping struct {
-	FactorEdbSeriesChartMappingId int       `orm:"column(factor_edb_series_chart_mapping_id);pk"`
-	ChartInfoId                   int       `description:"图表ID"`
-	Source                        int       `description:"图表来源, 同chart_info表source"`
-	CalculateType                 int       `description:"计算方式: 1-相关性"`
-	CalculatePars                 string    `description:"计算参数-JSON(如计算窗口等)"`
-	CalculateData                 string    `description:"计算数据-JSON(如相关性矩阵等)"`
-	FactorEdbSeriesId             int       `description:"因子指标系列ID"`
-	EdbInfoId                     int       `description:"指标ID"`
-	EdbUsed                       int       `description:"指标是否使用: 0-否; 1-是"`
-	CreateTime                    time.Time `description:"创建时间"`
-	ModifyTime                    time.Time `description:"修改时间"`
+	FactorEdbSeriesChartMappingId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_chart_mapping_id" description:"因子指标系列图表映射ID"`
+	ChartInfoId                   int       `gorm:"column:chart_info_id" description:"图表ID"`
+	Source                        int       `gorm:"column:source" description:"图表来源, 同chart_info表source"`
+	CalculateType                 int       `gorm:"column:calculate_type" description:"计算方式: 1-相关性"`
+	CalculatePars                 string    `gorm:"column:calculate_pars" description:"计算参数-JSON(如计算窗口等)"`
+	CalculateData                 string    `gorm:"column:calculate_data" description:"计算数据-JSON(如相关性矩阵等)"`
+	FactorEdbSeriesId             int       `gorm:"column:factor_edb_series_id" description:"因子指标系列ID"`
+	EdbInfoId                     int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbUsed                       int       `gorm:"column:edb_used" description:"指标是否使用: 0-否; 1-是"`
+	CreateTime                    time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                    time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *FactorEdbSeriesChartMapping) TableName() string {
@@ -63,12 +63,7 @@ func (m *FactorEdbSeriesChartMapping) Cols() MultipleFactorSeriesChartMappingCol
 }
 
 func (m *FactorEdbSeriesChartMapping) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.FactorEdbSeriesChartMappingId = int(id)
+	err = global.DEFAULT_DmSQL.Create(m).Error
 	return
 }
 
@@ -76,21 +71,21 @@ func (m *FactorEdbSeriesChartMapping) CreateMulti(items []*FactorEdbSeriesChartM
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+
+	err = global.DEFAULT_DmSQL.CreateInBatches(items, 500).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+
+	err = global.DEFAULT_DmSQL.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) Remove() (err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesChartMappingId).Exec()
+	err = global.DEFAULT_DmSQL.Exec(sql, m.FactorEdbSeriesChartMappingId).Error
 	return
 }
 
@@ -98,39 +93,39 @@ func (m *FactorEdbSeriesChartMapping) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DmSQL.Exec(sql, ids).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) GetItemById(id int) (item *FactorEdbSeriesChartMapping, 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_DmSQL.Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeriesChartMapping, 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_DmSQL.Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) 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_DmSQL.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeriesChartMapping, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -140,12 +135,12 @@ func (m *FactorEdbSeriesChartMapping) GetItemsByCondition(condition string, pars
 		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_DmSQL.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *FactorEdbSeriesChartMapping) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeriesChartMapping, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -155,15 +150,16 @@ func (m *FactorEdbSeriesChartMapping) GetPageItemsByCondition(condition string,
 		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_DmSQL.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetDistinctSeriesIdByChartId 获取图表关联的系列ID
 func (m *FactorEdbSeriesChartMapping) GetDistinctSeriesIdByChartId(chartId int) (seriesIds []int, err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`SELECT DISTINCT %s FROM %s WHERE %s = ?`, m.Cols().FactorEdbSeriesId, m.TableName(), m.Cols().ChartInfoId)
-	_, err = o.Raw(sql, chartId).QueryRows(&seriesIds)
+	err = global.DEFAULT_DmSQL.Raw(sql, chartId).Scan(&seriesIds).Error
 	return
 }
 

+ 30 - 35
models/factor_edb_series_mapping.go

@@ -1,21 +1,21 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // FactorEdbSeriesMapping 因子指标系列-指标关联表
 type FactorEdbSeriesMapping struct {
-	FactorEdbSeriesMappingId int       `orm:"column(factor_edb_series_mapping_id);pk"`
-	FactorEdbSeriesId        int       `description:"因子指标系列ID"`
-	EdbInfoId                int       `description:"指标ID"`
-	EdbCode                  string    `description:"指标编码"`
-	CreateTime               time.Time `description:"创建时间"`
-	ModifyTime               time.Time `description:"修改时间"`
+	FactorEdbSeriesMappingId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_mapping_id" description:"因子指标系列映射ID"`
+	FactorEdbSeriesId        int       `gorm:"column:factor_edb_series_id" description:"因子指标系列ID"`
+	EdbInfoId                int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode                  string    `gorm:"column:edb_code" description:"指标编码"`
+	CreateTime               time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime               time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *FactorEdbSeriesMapping) TableName() string {
@@ -43,12 +43,8 @@ func (m *FactorEdbSeriesMapping) Cols() FactorEdbSeriesMappingCols {
 }
 
 func (m *FactorEdbSeriesMapping) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.FactorEdbSeriesMappingId = int(id)
+
+	err = global.DEFAULT_DB.Create(m).Error
 	return
 }
 
@@ -56,21 +52,20 @@ func (m *FactorEdbSeriesMapping) CreateMulti(items []*FactorEdbSeriesMapping) (e
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DEFAULT_DB.CreateInBatches(items, 500).Error
 	return
 }
 
 func (m *FactorEdbSeriesMapping) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+
+	err = global.DEFAULT_DB.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
 func (m *FactorEdbSeriesMapping) Remove() (err error) {
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.FactorEdbSeriesMappingId).Exec()
+	err = global.DEFAULT_DB.Exec(sql, m.FactorEdbSeriesMappingId).Error
 	return
 }
 
@@ -78,9 +73,9 @@ func (m *FactorEdbSeriesMapping) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DEFAULT_DB.Exec(sql, ids).Error
 	return
 }
 
@@ -88,39 +83,39 @@ func (m *FactorEdbSeriesMapping) RemoveByCondition(condition string, pars []inte
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
+
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DEFAULT_DB.Exec(sql, pars...).Error
 	return
 }
 
 func (m *FactorEdbSeriesMapping) GetItemById(id int) (item *FactorEdbSeriesMapping, 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 *FactorEdbSeriesMapping) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *FactorEdbSeriesMapping, 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 *FactorEdbSeriesMapping) 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 *FactorEdbSeriesMapping) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*FactorEdbSeriesMapping, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -130,12 +125,12 @@ func (m *FactorEdbSeriesMapping) GetItemsByCondition(condition string, pars []in
 		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
 }
 
 func (m *FactorEdbSeriesMapping) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*FactorEdbSeriesMapping, err error) {
-	o := orm.NewOrm()
+
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -145,7 +140,8 @@ func (m *FactorEdbSeriesMapping) GetPageItemsByCondition(condition string, pars
 		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...).Find(&items).Error
 	return
 }
 
@@ -167,8 +163,7 @@ func (m *FactorEdbSeriesMapping) Format2Item() (item *FactorEdbSeriesMappingItem
 }
 
 func (m *FactorEdbSeriesMapping) GetItemBySeriesId(seriesId int) (items []*FactorEdbSeriesMapping, err error) {
-	o := orm.NewOrm()
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? `, m.TableName(), m.Cols().FactorEdbSeriesId)
-	_, err = o.Raw(sql, seriesId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, seriesId).Scan(&items).Error
 	return
 }

+ 17 - 24
models/predict_edb.go

@@ -3,11 +3,12 @@ package models
 import (
 	"encoding/json"
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/dengsgo/math-engine/engine"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strings"
 	"time"
 )
@@ -29,16 +30,12 @@ type CalculateRule struct {
 
 // RefreshCalculateByRuleBy9 刷新计算
 func RefreshCalculateByRuleBy9(rule CalculateRule) (resultDataList []*EdbInfoSearchData, err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
 			to.Rollback()
 		} else {
-			err = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -48,7 +45,7 @@ func RefreshCalculateByRuleBy9(rule CalculateRule) (resultDataList []*EdbInfoSea
 }
 
 // CalculateByRuleBy9 动态环差规则计算入库
-func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*EdbInfoSearchData, err error) {
+func CalculateByRuleBy9(to *gorm.DB, rule CalculateRule) (resultDataList []*EdbInfoSearchData, err error) {
 	realSaveDataMap := make(map[string]map[int]float64)
 	saveDataMap := make(map[string]map[int]float64)
 
@@ -129,7 +126,7 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
 	//获取指标所有数据
 	dataList := make([]*PredictEdbRuleData, 0)
 	sql := `SELECT * FROM predict_edb_rule_data WHERE config_id = ?`
-	_, err = to.Raw(sql, rule.ConfigId).QueryRows(&dataList)
+	err = to.Raw(sql, rule.ConfigId).Find(&dataList).Error
 	if err != nil {
 		return
 	}
@@ -258,7 +255,7 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
 			if existStr != saveValue {
 				existPredictEdbRuleData.Value = saveValue
 				existPredictEdbRuleData.ModifyTime = time.Now()
-				_, err = to.Update(existPredictEdbRuleData, "Value", "ModifyTime")
+				err = to.Model(existPredictEdbRuleData).Select([]string{"Value", "ModifyTime"}).Updates(existPredictEdbRuleData).Error
 				if err != nil {
 					return nil, err
 				}
@@ -276,7 +273,7 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
 	// 添加计算出来的值入库
 	lenAddDataList := len(addDataList)
 	if lenAddDataList > 0 {
-		_, err = to.InsertMulti(lenAddDataList, addDataList)
+		err = to.CreateInBatches(addDataList, 500).Error
 		if err != nil {
 			return
 		}
@@ -292,7 +289,7 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
 		//如果拼接指标变更了,那么需要删除所有的指标数据
 		sql := ` DELETE FROM predict_edb_rule_data WHERE config_id = ? and data_time in (` + utils.GetOrmInReplace(lenRemoveDateList) + `) `
 
-		_, err = to.Raw(sql, rule.ConfigId, removeDateList).Exec()
+		err = to.Exec(sql, rule.ConfigId, removeDateList).Error
 		if err != nil {
 			err = fmt.Errorf("删除计算失败的预测规则计算指标数据失败,Err:" + err.Error())
 			return
@@ -304,16 +301,12 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
 
 // RefreshCalculateByRuleByLineNh 刷新动态结果计算(线性拟合)
 func RefreshCalculateByRuleByLineNh(predictEdbInfo EdbInfo, predictEdbConfAndDataList []*PredictEdbConfAndData, rule PredictEdbConf) (err error, errMsg string) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
 			to.Rollback()
 		} else {
-			err = to.Commit()
+			to.Commit()
 		}
 	}()
 	err, errMsg = CalculateByRuleByRuleLineNh(to, predictEdbInfo, predictEdbConfAndDataList, rule)
@@ -321,7 +314,7 @@ func RefreshCalculateByRuleByLineNh(predictEdbInfo EdbInfo, predictEdbConfAndDat
 }
 
 // CalculateByRuleByRuleLineNh 一元线性拟合规则计算入库
-func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predictEdbConfAndDataList []*PredictEdbConfAndData, rule PredictEdbConf) (err error, errMsg string) {
+func CalculateByRuleByRuleLineNh(to *gorm.DB, predictEdbInfo EdbInfo, predictEdbConfAndDataList []*PredictEdbConfAndData, rule PredictEdbConf) (err error, errMsg string) {
 	var secondDataList []*EdbInfoSearchData
 	predictEdbInfoId := predictEdbInfo.EdbInfoId // 预测指标id
 
@@ -339,7 +332,7 @@ func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predict
 		// 来源指标
 		var sourceEdbInfoItem *EdbInfo
 		sql := ` SELECT * FROM edb_info WHERE edb_info_id=? `
-		err = to.Raw(sql, rule.SourceEdbInfoId).QueryRow(&sourceEdbInfoItem)
+		err = to.Raw(sql, rule.SourceEdbInfoId).First(&sourceEdbInfoItem).Error
 		if err != nil {
 			return
 		}
@@ -377,7 +370,7 @@ func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predict
 		//获取该配置的所有数据
 		dataList := make([]*PredictEdbRuleData, 0)
 		sql := `SELECT * FROM predict_edb_rule_data WHERE config_id = ?`
-		_, err = to.Raw(sql, rule.ConfigId).QueryRows(&dataList)
+		err = to.Raw(sql, rule.ConfigId).Find(&dataList).Error
 		if err != nil {
 			return
 		}
@@ -432,7 +425,7 @@ func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predict
 				if existStr != saveValue {
 					existPredictEdbRuleData.Value = saveValue
 					existPredictEdbRuleData.ModifyTime = time.Now()
-					_, err = to.Update(existPredictEdbRuleData, "Value", "ModifyTime")
+					err = to.Model(existPredictEdbRuleData).Select([]string{"Value", "ModifyTime"}).Updates(existPredictEdbRuleData).Error
 					if err != nil {
 						return
 					}
@@ -443,7 +436,7 @@ func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predict
 		// 添加计算出来的值入库
 		lenAddDataList := len(addDataList)
 		if lenAddDataList > 0 {
-			_, err = to.InsertMulti(lenAddDataList, addDataList)
+			err = to.CreateInBatches(addDataList, 500).Error
 			if err != nil {
 				return
 			}
@@ -455,7 +448,7 @@ func CalculateByRuleByRuleLineNh(to orm.TxOrmer, predictEdbInfo EdbInfo, predict
 			//如果拼接指标变更了,那么需要删除所有的指标数据
 			sql := ` DELETE FROM predict_edb_rule_data WHERE config_id = ? and data_time in (` + utils.GetOrmInReplace(lenRemoveDateList) + `) `
 
-			_, err = to.Raw(sql, rule.ConfigId, removeDateList).Exec()
+			err = to.Exec(sql, rule.ConfigId, removeDateList).Error
 			if err != nil {
 				err = fmt.Errorf("删除计算失败的预测规则计算指标数据失败,Err:" + err.Error())
 				return

+ 24 - 21
models/predict_edb_conf.go

@@ -1,8 +1,8 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -74,33 +74,33 @@ type PredictEdbConfAndData struct {
 
 // GetPredictEdbConfById 根据预测指标id获取预测指标配置信息
 func GetPredictEdbConfById(edbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).First(&item).Error
+
 	return
 }
 
 // GetPredictEdbConfCount 根据来源指标id获取被引用的次数
 func GetPredictEdbConfCount(sourceEdbInfoId int) (count int, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT COUNT(1) AS count FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&count)
+	err = global.DEFAULT_DB.Raw(sql, sourceEdbInfoId).Scan(&count).Error
+
 	return
 }
 
 // GetPredictEdbConfListById 根据预测指标id获取预测指标配置信息列表
 func GetPredictEdbConfListById(edbInfoId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? ORDER BY config_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Find(&items).Error
+
 	return
 }
 
 // GetPredictEdbConfAndDataListById 根据预测指标id获取预测指标配置信息列表
 func GetPredictEdbConfAndDataListById(edbInfoId int) (items []*PredictEdbConfAndData, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? ORDER BY config_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoId).Find(&items).Error
+
 	return
 }
 
@@ -110,22 +110,24 @@ func GetPredictEdbConfListByConfigIdList(configIdList []int) (items []*PredictEd
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM predict_edb_conf WHERE config_id in (` + utils.GetOrmInReplace(num) + `) ORDER BY config_id ASC`
-	_, err = o.Raw(sql, configIdList).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, configIdList).Find(&items).Error
+
 	return
 }
 
 // ModifyPredictEdbInfoMaxAndMinInfoBySourceEdbInfoId 根据来源指标修改预测指标的最新数据信息
 func ModifyPredictEdbInfoMaxAndMinInfoBySourceEdbInfoId(sourceEdbInfoId int, item *EdbInfoMaxAndMinInfo) (err error) {
 	//return
-	o := orm.NewOrm()
+	o := global.DEFAULT_DB
 	var list []*PredictEdbConf
 	sql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id=? `
-	total, err := o.Raw(sql, sourceEdbInfoId).QueryRows(&list)
+	result := o.Raw(sql, sourceEdbInfoId).Find(&list)
+	err = result.Error
 	if err != nil {
 		return
 	}
+	total := result.RowsAffected
 
 	if total > 0 {
 		idList := make([]int, 0)
@@ -136,23 +138,24 @@ func ModifyPredictEdbInfoMaxAndMinInfoBySourceEdbInfoId(sourceEdbInfoId int, ite
 		//sql := ` UPDATE edb_info SET start_date=?,min_value=?,max_value=?,is_update=2,latest_date=?,latest_value=?,modify_time=NOW() WHERE edb_info_id in (` + utils.GetOrmInReplace(int(total)) + `) `
 		//_, err = o.Raw(sql, item.MinDate, item.MinValue, item.MaxValue, item.MaxDate, item.LatestValue, idList).Exec()
 		sql := ` UPDATE edb_info SET start_date=?,is_update=2,latest_date=?,latest_value=?,end_value=?,modify_time=NOW() WHERE edb_info_id in (` + utils.GetOrmInReplace(int(total)) + `) `
-		_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, item.LatestValue, idList).Exec()
+		err = o.Exec(sql, item.MinDate, item.MaxDate, item.LatestValue, item.LatestValue, idList).Error
+
 	}
 	return
 }
 
 // GetPredictEdbConfBySourceEdbInfoId 根据来源指标id获取配置
 func GetPredictEdbConfBySourceEdbInfoId(sourceEdbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrm()
 	sql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, sourceEdbInfoId).First(&item).Error
+
 	return
 }
 
 // AddPredictEdbConf 添加预测指标规则
-func AddPredictEdbConf(item *PredictEdbConf) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(item)
+func AddPredictEdbConf(item *PredictEdbConf) (err error) {
+	err = global.DEFAULT_DB.Create(item).Error
+
 	return
 }
 
@@ -162,12 +165,12 @@ func GetPredictEdbInfoAllCalculate(edbInfoIdList []int) (list []*EdbInfo, err er
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrm()
 	sql := ` SELECT b.* FROM predict_edb_conf AS a
 			 INNER JOIN edb_info AS b ON a.source_edb_info_id=b.edb_info_id
              WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
 			 GROUP BY a.source_edb_info_id
 			 ORDER BY a.source_edb_info_id ASC `
-	_, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
+	err = global.DEFAULT_DB.Raw(sql, edbInfoIdList).Find(&list).Error
+
 	return
 }