zwxi 7 月之前
父节点
当前提交
9a6cdcb821

+ 86 - 46
models/base_from_baiinfo.go

@@ -6,34 +6,48 @@ import (
 	"strconv"
 	"strings"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
+//type BaseFromBaiinfoData struct {
+//	BaiinfoDataId          int `orm:"column(baiinfo_data_id);pk"`
+//	BaseFromBaiinfoIndexId int
+//	IndexCode              string
+//	DataTime               string
+//	Value                  string
+//	CreateTime             time.Time
+//	ModifyTime             time.Time
+//	DataTimestamp          int64
+//}
+
 type BaseFromBaiinfoData struct {
-	BaiinfoDataId          int `orm:"column(baiinfo_data_id);pk"`
-	BaseFromBaiinfoIndexId int
-	IndexCode              string
-	DataTime               string
-	Value                  string
-	CreateTime             time.Time
-	ModifyTime             time.Time
-	DataTimestamp          int64
+	BaiinfoDataId          int       `gorm:"column:baiinfo_data_id;primaryKey"`
+	BaseFromBaiinfoIndexId int       `gorm:"column:base_from_baiinfo_index_id"`
+	IndexCode              string    `gorm:"column:index_code"`
+	DataTime               string    `gorm:"column:data_time"`
+	Value                  string    `gorm:"column:value"`
+	CreateTime             time.Time `gorm:"column:create_time"`
+	ModifyTime             time.Time `gorm:"column:modify_time"`
+	DataTimestamp          int64     `gorm:"column:data_timestamp"`
+}
+
+func (v BaseFromBaiinfoData) TableName() string {
+	return "base_from_baiinfo_data"
 }
 
 func GetBaseFromBaiinfoDataByCondition(condition string, pars []interface{}) (list []*BaseFromBaiinfoData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_baiinfo_data WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	//_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&list).Error
 	return
 }
 
 // AddEdbDataFromBaiinfo 新增百川盈弗指标数据
 func AddEdbDataFromBaiinfo(edbCode string) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 
 	var condition string
 	var pars []interface{}
@@ -65,7 +79,8 @@ func AddEdbDataFromBaiinfo(edbCode string) (err error) {
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
 		utils.FileLog.Info("addSql:" + addSql)
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			return err
 		}
@@ -77,7 +92,7 @@ func AddEdbDataFromBaiinfo(edbCode string) (err error) {
 func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err error) {
 	source := utils.DATA_SOURCE_BAIINFO
 	subSource := utils.DATA_SUB_SOURCE_EDB
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if err != nil {
 		return
 	}
@@ -175,7 +190,8 @@ func RefreshEdbDataFromBaiinfo(edbInfoId int, edbCode, startDate string) (err er
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			fmt.Println("RefreshEdbDataFromBaiinfo add Err", err.Error())
 			return
@@ -194,73 +210,97 @@ type HandleBaiinfoExcelDataReq struct {
 	TerminalCode   string `description:"编码"`
 }
 
+//type BaseFromBaiinfoIndex struct {
+//	BaseFromBaiinfoIndexId int64 `orm:"column(base_from_baiinfo_index_id);pk"`
+//	IndexCode              string
+//	IndexName              string
+//	Frequency              string
+//	Unit                   string
+//	StartDate              string
+//	EndDate                string
+//	Sort                   int
+//	BaseFileName           string
+//	RenameFileName         string
+//	TerminalCode           string
+//	CreateTime             time.Time
+//	ModifyTime             time.Time
+//}
+
 type BaseFromBaiinfoIndex struct {
-	BaseFromBaiinfoIndexId int64 `orm:"column(base_from_baiinfo_index_id);pk"`
-	IndexCode              string
-	IndexName              string
-	Frequency              string
-	Unit                   string
-	StartDate              string
-	EndDate                string
-	Sort                   int
-	BaseFileName           string
-	RenameFileName         string
-	TerminalCode           string
-	CreateTime             time.Time
-	ModifyTime             time.Time
+	BaseFromBaiinfoIndexId int64     `gorm:"column:base_from_baiinfo_index_id;primaryKey"`
+	IndexCode              string    `gorm:"column:index_code"`
+	IndexName              string    `gorm:"column:index_name"`
+	Frequency              string    `gorm:"column:frequency"`
+	Unit                   string    `gorm:"column:unit"`
+	StartDate              string    `gorm:"column:start_date"`
+	EndDate                string    `gorm:"column:end_date"`
+	Sort                   int       `gorm:"column:sort"`
+	BaseFileName           string    `gorm:"column:base_file_name"`
+	RenameFileName         string    `gorm:"column:rename_file_name"`
+	TerminalCode           string    `gorm:"column:terminal_code"`
+	CreateTime             time.Time `gorm:"column:create_time"`
+	ModifyTime             time.Time `gorm:"column:modify_time"`
 }
 
 func (d *BaseFromBaiinfoIndex) AddBaseFromBaiinfoIndex() (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(d)
+	//o := orm.NewOrm()
+	//lastId, err = o.Insert(d)
+	err = DEFAULT_DmSQL.Create(d).Error
+	lastId = d.BaseFromBaiinfoIndexId
 	return
 }
 
 func AddBaseFromBaiinfoData(item []*BaseFromBaiinfoData) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(1, item)
+	//o := orm.NewOrm()
+	//_, err = o.InsertMulti(1, item)
+	err = DEFAULT_DmSQL.CreateInBatches(item, 500).Error
 	return
 }
 
 func (d *BaseFromBaiinfoIndex) GetSmmIndexItem(indexCode string) (item *BaseFromBaiinfoIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM base_from_baiinfo_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetBaseFromBaiinfoDataByCode(indexCode string) (list []*BaseFromBaiinfoData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM base_from_baiinfo_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	//_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func ModifyBaiinfoIndexSort(baseFromBaiinfoIndexId int64) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` UPDATE base_from_baiinfo_index SET sort=? WHERE base_from_baiinfo_index_id=? `
-	_, err = o.Raw(sql, baseFromBaiinfoIndexId, baseFromBaiinfoIndexId).Exec()
+	//_, err = o.Raw(sql, baseFromBaiinfoIndexId, baseFromBaiinfoIndexId).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, baseFromBaiinfoIndexId, baseFromBaiinfoIndexId).Error
 	return
 }
 
 func GetBaiinfoIndexInfoMaxAndMinInfo(indexCode string) (item *EdbInfoMaxAndMinInfo, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_baiinfo_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func ModifyBaiinfoIndexMaxAndMinInfo(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` UPDATE base_from_baiinfo_index SET start_date=?,end_date=?,modify_time=NOW() WHERE index_code=? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, item.MinDate, item.MaxDate, indexCode).Error
 	return
 }
 
 // Update 修改
 func (r *BaseFromBaiinfoIndex) Update(updateCols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(r, updateCols...)
-
+	//o := orm.NewOrm()
+	//_, err = o.Update(r, updateCols...)
+	err = DEFAULT_DmSQL.Model(r).Updates(r).Error
 	return
 }

+ 125 - 60
models/base_from_bloomberg.go

@@ -3,30 +3,48 @@ package models
 import (
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
 )
 
 // BaseFromBloombergIndex Bloomberg原始指标
+//type BaseFromBloombergIndex struct {
+//	BaseFromBloombergIndexId int       `orm:"column(base_from_bloomberg_index_id);pk"`
+//	IndexCode                string    `description:"指标编码"`
+//	IndexName                string    `description:"指标名称"`
+//	Unit                     string    `description:"单位"`
+//	Source                   int       `description:"来源"`
+//	Frequency                string    `description:"频度"`
+//	StartDate                time.Time `description:"开始时间"`
+//	EndDate                  time.Time `description:"结束时间"`
+//	Describe                 string    `description:"描述"`
+//	Sort                     int       `description:"排序"`
+//	IsStop                   int       `description:"是否停更:0-否;1-停更"`
+//	EdbExist                 int       `description:"指标库是否已添加:0-否;1-是"`
+//	TerminalCode             string    `description:"所属终端编码"`
+//	FilePath                 string    `description:"文件存储路径"`
+//	CreateTime               time.Time `description:"创建时间"`
+//	ModifyTime               time.Time `description:"修改时间"`
+//}
+
 type BaseFromBloombergIndex struct {
-	BaseFromBloombergIndexId int       `orm:"column(base_from_bloomberg_index_id);pk"`
-	IndexCode                string    `description:"指标编码"`
-	IndexName                string    `description:"指标名称"`
-	Unit                     string    `description:"单位"`
-	Source                   int       `description:"来源"`
-	Frequency                string    `description:"频度"`
-	StartDate                time.Time `description:"开始时间"`
-	EndDate                  time.Time `description:"结束时间"`
-	Describe                 string    `description:"描述"`
-	Sort                     int       `description:"排序"`
-	IsStop                   int       `description:"是否停更:0-否;1-停更"`
-	EdbExist                 int       `description:"指标库是否已添加:0-否;1-是"`
-	TerminalCode             string    `description:"所属终端编码"`
-	FilePath                 string    `description:"文件存储路径"`
-	CreateTime               time.Time `description:"创建时间"`
-	ModifyTime               time.Time `description:"修改时间"`
+	BaseFromBloombergIndexId int       `gorm:"column:base_from_bloomberg_index_id;primaryKey" description:"指标ID"`
+	IndexCode                string    `gorm:"column:index_code" description:"指标编码"`
+	IndexName                string    `gorm:"column:index_name" description:"指标名称"`
+	Unit                     string    `gorm:"column:unit" description:"单位"`
+	Source                   int       `gorm:"column:source" description:"来源"`
+	Frequency                string    `gorm:"column:frequency" description:"频度"`
+	StartDate                time.Time `gorm:"column:start_date" description:"开始时间"`
+	EndDate                  time.Time `gorm:"column:end_date" description:"结束时间"`
+	Describe                 string    `gorm:"column:describe" description:"描述"`
+	Sort                     int       `gorm:"column:sort" description:"排序"`
+	IsStop                   int       `gorm:"column:is_stop" description:"是否停更:0-否;1-停更"`
+	EdbExist                 int       `gorm:"column:edb_exist" description:"指标库是否已添加:0-否;1-是"`
+	TerminalCode             string    `gorm:"column:terminal_code" description:"所属终端编码"`
+	FilePath                 string    `gorm:"column:file_path" description:"文件存储路径"`
+	CreateTime               time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime               time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
 func (m *BaseFromBloombergIndex) TableName() string {
@@ -34,38 +52,53 @@ func (m *BaseFromBloombergIndex) TableName() string {
 }
 
 func (m *BaseFromBloombergIndex) Create() (err error) {
-	o := orm.NewOrm()
-	id, err := o.Insert(m)
+	//o := orm.NewOrm()
+	//id, err := o.Insert(m)
+	err = DEFAULT_DmSQL.Create(m).Error
 	if err != nil {
 		return
 	}
-	m.BaseFromBloombergIndexId = int(id)
+	//m.BaseFromBloombergIndexId = int(id)
 	return
 }
 
 func (m *BaseFromBloombergIndex) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(m, cols...)
+	err = DEFAULT_DmSQL.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
 func GetBaseFromBloombergIndexByCode(indexCode string) (item *BaseFromBloombergIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_bloomberg_index WHERE index_code = ? LIMIT 1`
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
+// BaseFromBloombergData Bloomberg原始数据
+//type BaseFromBloombergData struct {
+//	BaseFromBloombergDataId  int       `orm:"column(base_from_bloomberg_data_id);pk"`
+//	BaseFromBloombergIndexId int       `description:"指标ID"`
+//	IndexCode                string    `description:"指标编码"`
+//	DataTime                 time.Time `description:"数据日期"`
+//	Value                    float64   `description:"数据值"`
+//	CreateTime               time.Time `description:"创建时间"`
+//	ModifyTime               time.Time `description:"修改时间"`
+//	DataTimestamp            int       `description:"数据日期时间戳"`
+//}
+
 // BaseFromBloombergData Bloomberg原始数据
 type BaseFromBloombergData struct {
-	BaseFromBloombergDataId  int       `orm:"column(base_from_bloomberg_data_id);pk"`
-	BaseFromBloombergIndexId int       `description:"指标ID"`
-	IndexCode                string    `description:"指标编码"`
-	DataTime                 time.Time `description:"数据日期"`
-	Value                    float64   `description:"数据值"`
-	CreateTime               time.Time `description:"创建时间"`
-	ModifyTime               time.Time `description:"修改时间"`
-	DataTimestamp            int       `description:"数据日期时间戳"`
+	BaseFromBloombergDataId  int       `gorm:"column:base_from_bloomberg_data_id;primaryKey" description:"数据ID"`
+	BaseFromBloombergIndexId int       `gorm:"column:base_from_bloomberg_index_id" description:"指标ID"`
+	IndexCode                string    `gorm:"column:index_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            int       `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 func (m *BaseFromBloombergData) TableName() string {
@@ -74,48 +107,70 @@ func (m *BaseFromBloombergData) TableName() string {
 
 func GetBaseFromBloombergDataByCondition(condition string, pars []interface{}) (items []*BaseFromBloombergData, err error) {
 	sub := `SELECT * FROM base_from_bloomberg_data WHERE 1=1  `
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if condition != "" {
 		sub += condition
 	}
 	sql := `SELECT * FROM (` + sub + ` HAVING 1 ORDER BY modify_time DESC) tmp GROUP BY data_time ORDER BY data_time DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func MultiInsertOrUpdateBaseFromBloombergData(inserts, updates []*BaseFromBloombergData) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if len(inserts) > 0 {
-		_, e := o.InsertMulti(1000, inserts)
+		//_, e := o.InsertMulti(1000, inserts)
+		e := DEFAULT_DmSQL.CreateInBatches(inserts, 1000).Error
 		if e != nil {
 			err = fmt.Errorf("insert multi err: %s", e.Error())
 			return
 		}
 	}
+	tx := DEFAULT_DmSQL.Begin()
 	if len(updates) > 0 {
-		p, e := o.Raw("UPDATE base_from_bloomberg_data SET value = ?, modify_time = NOW() WHERE index_code = ? AND data_time = ?").Prepare()
-		if e != nil {
-			err = fmt.Errorf("prepare err: %s", e.Error())
-			return
-		}
-		defer func() {
-			_ = p.Close()
-		}()
+		//p, e := o.Raw("UPDATE base_from_bloomberg_data SET value = ?, modify_time = NOW() WHERE index_code = ? AND data_time = ?").Prepare()
+		//if e != nil {
+		//	err = fmt.Errorf("prepare err: %s", e.Error())
+		//	return
+		//}
+		//defer func() {
+		//	_ = p.Close()
+		//}()
+		//for _, v := range updates {
+		//	_, e = p.Exec(v.Value, v.IndexCode, v.DataTime.Format(utils.FormatDate))
+		//	if e != nil {
+		//		err = fmt.Errorf("update err: %s", e.Error())
+		//		return
+		//	}
+		//}
+
 		for _, v := range updates {
-			_, e = p.Exec(v.Value, v.IndexCode, v.DataTime.Format(utils.FormatDate))
-			if e != nil {
-				err = fmt.Errorf("update err: %s", e.Error())
+			// 假设 v.Value, v.IndexCode, v.DataTime 分别是更新的值,指标编码和格式化后的数据日期
+			result := tx.Exec("UPDATE base_from_bloomberg_data SET value = ?, modify_time = NOW() WHERE index_code = ? AND data_time = ?", v.Value, v.IndexCode, v.DataTime.Format(utils.FormatDate))
+
+			// 检查是否有错误发生
+			if result.Error != nil {
+				tx.Rollback() // 回滚事务
+				err = fmt.Errorf("update err: %s", result.Error.Error())
 				return
 			}
 		}
+
+		// 提交事务
+		if err = tx.Commit().Error; err != nil {
+			err = fmt.Errorf("commit err: %s", err.Error())
+			return
+		}
 	}
 	return
 }
 
 func GetBaseFromBloombergIndexMinMax(indexCode string) (item *EdbInfoMaxAndMinInfo, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_bloomberg_data WHERE index_code = ? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
 	if err != nil {
 		return
 	}
@@ -123,7 +178,8 @@ func GetBaseFromBloombergIndexMinMax(indexCode string) (item *EdbInfoMaxAndMinIn
 	// 获取最新值
 	var lastVal float64
 	sql = ` SELECT value AS latest_value FROM base_from_bloomberg_data WHERE index_code = ? ORDER BY data_time DESC LIMIT 1 `
-	err = o.Raw(sql, indexCode).QueryRow(&lastVal)
+	//err = o.Raw(sql, indexCode).QueryRow(&lastVal)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&lastVal).Error
 	if err != nil {
 		return
 	}
@@ -132,31 +188,38 @@ func GetBaseFromBloombergIndexMinMax(indexCode string) (item *EdbInfoMaxAndMinIn
 }
 
 func ModifyBaseFromBloombergIndexMinMax(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` UPDATE base_from_bloomberg_index SET start_date = ?, end_date = ?, modify_time = NOW() WHERE index_code = ? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, item.MinDate, item.MaxDate, indexCode).Error
 	return
 }
 
+//type BloombergData struct {
+//	InputValue float64 `orm:"column(value)" description:"值"`
+//	DataTime   string  `orm:"column(data_time)" description:"日期"`
+//}
+
 type BloombergData struct {
-	InputValue float64 `orm:"column(value)" description:"值"`
-	DataTime   string  `orm:"column(data_time)" description:"日期"`
+	InputValue float64 `gorm:"column:value" description:"值"`
+	DataTime   string  `gorm:"column:data_time" description:"日期"`
 }
 
 func GetBloombergDataByCondition(condition string, pars []interface{}) (item []*BloombergData, err error) {
 	sql1 := ` SELECT * FROM base_from_bloomberg_data WHERE 1=1  `
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if condition != "" {
 		sql1 += condition
 	}
 	sql := `select * from (` + sql1 + ` having 1 order by modify_time DESC ) tmp GROUP BY data_time ORDER BY data_time DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	//_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&item).Error
 	return
 }
 
 // AddEdbDataFromBloomberg 新增Bloomberg指标数据
 func AddEdbDataFromBloomberg(edbCode string) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 
 	var condition string
 	var pars []interface{}
@@ -198,7 +261,8 @@ func AddEdbDataFromBloomberg(edbCode string) (err error) {
 		if isAdd {
 			addSql = strings.TrimRight(addSql, ",")
 			utils.FileLog.Info("addSql:" + addSql)
-			_, err = o.Raw(addSql).Exec()
+			//_, err = o.Raw(addSql).Exec()
+			err = DEFAULT_DmSQL.Exec(addSql).Error
 			if err != nil {
 				return err
 			}
@@ -212,7 +276,7 @@ func RefreshEdbDataFromBloomberg(edbInfoId int, edbCode, startDate string) (err
 	source := utils.DATA_SOURCE_BLOOMBERG
 	subSource := utils.DATA_SUB_SOURCE_EDB
 
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if err != nil {
 		return
 	}
@@ -318,7 +382,8 @@ func RefreshEdbDataFromBloomberg(edbInfoId int, edbCode, startDate string) (err
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 73 - 40
models/base_from_business.go

@@ -6,29 +6,51 @@ import (
 	"fmt"
 	"go.mongodb.org/mongo-driver/bson"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
+// BaseFromBusinessIndex
+// @Description: 外部指标(商家系统)表
+//type BaseFromBusinessIndex struct {
+//	BaseFromBusinessIndexId int64     `orm:"column(base_from_business_index_id);pk"`
+//	IndexCode               string    `description:"指标编码"`
+//	IndexName               string    `description:"指标名称"`
+//	Unit                    string    `description:"单位"`
+//	Frequency               string    `description:"频度"`
+//	Source                  int       `description:"数据来源"`
+//	SourceName              string    `description:"数据来源名称"`
+//	StartDate               time.Time `description:"开始日期"`
+//	EndDate                 time.Time `description:"结束日期"`
+//	Remark                  string    `description:"备注字段"`
+//	BaseModifyTime          time.Time `description:"基础信息(名称,单位,频度)变更时间"`
+//	DataUpdateTime          time.Time `description:"最近一次数据发生变化的时间"`
+//	CreateTime              time.Time `description:"创建时间"`
+//	ModifyTime              time.Time `description:"修改时间"`
+//}
+
 // BaseFromBusinessIndex
 // @Description: 外部指标(商家系统)表
 type BaseFromBusinessIndex struct {
-	BaseFromBusinessIndexId int64     `orm:"column(base_from_business_index_id);pk"`
-	IndexCode               string    `description:"指标编码"`
-	IndexName               string    `description:"指标名称"`
-	Unit                    string    `description:"单位"`
-	Frequency               string    `description:"频度"`
-	Source                  int       `description:"数据来源"`
-	SourceName              string    `description:"数据来源名称"`
-	StartDate               time.Time `description:"开始日期"`
-	EndDate                 time.Time `description:"结束日期"`
-	Remark                  string    `description:"备注字段"`
-	BaseModifyTime          time.Time `description:"基础信息(名称,单位,频度)变更时间"`
-	DataUpdateTime          time.Time `description:"最近一次数据发生变化的时间"`
-	CreateTime              time.Time `description:"创建时间"`
-	ModifyTime              time.Time `description:"修改时间"`
+	BaseFromBusinessIndexId int64     `gorm:"column:base_from_business_index_id;primaryKey" description:"指标ID"`
+	IndexCode               string    `gorm:"column:index_code" description:"指标编码"`
+	IndexName               string    `gorm:"column:index_name" description:"指标名称"`
+	Unit                    string    `gorm:"column:unit" description:"单位"`
+	Frequency               string    `gorm:"column:frequency" description:"频度"`
+	Source                  int       `gorm:"column:source" description:"数据来源"`
+	SourceName              string    `gorm:"column:source_name" description:"数据来源名称"`
+	StartDate               time.Time `gorm:"column:start_date" description:"开始日期"`
+	EndDate                 time.Time `gorm:"column:end_date" description:"结束日期"`
+	Remark                  string    `gorm:"column:remark" description:"备注字段"`
+	BaseModifyTime          time.Time `gorm:"column:base_modify_time" description:"基础信息(名称,单位,频度)变更时间"`
+	DataUpdateTime          time.Time `gorm:"column:data_update_time" description:"最近一次数据发生变化的时间"`
+	CreateTime              time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime              time.Time `gorm:"column:modify_time" description:"修改时间"`
 }
 
+func (m *BaseFromBusinessIndex) TableName() string {
+	return "base_from_business_index"
+}
+
+
 // BaseFromBusinessIndexResp
 // @Description: 外部指标(商家系统)表
 type BaseFromBusinessIndexResp struct {
@@ -89,9 +111,10 @@ type DelBusinessIndexDataReq struct {
 // @return item *BaseFromBusinessIndex
 // @return err error
 func (m *BaseFromBusinessIndex) GetIndexItem(indexCode string) (item *BaseFromBusinessIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_business_index WHERE index_code = ? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
@@ -108,9 +131,10 @@ func (m *BaseFromBusinessIndex) GetIndexItemList(indexCodeList []string) (items
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_business_index WHERE index_code in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, indexCodeList).QueryRows(&items)
+	//_, err = o.Raw(sql, indexCodeList).QueryRows(&items)
+	err = DEFAULT_DmSQL.Raw(sql, indexCodeList).Find(&items).Error
 
 	return
 }
@@ -127,9 +151,10 @@ func (m *BaseFromBusinessIndex) DelIndexItemList(indexCodeList []string) (err er
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `DELETE FROM base_from_business_index WHERE index_code in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, indexCodeList).Exec()
+	//_, err = o.Raw(sql, indexCodeList).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, indexCodeList).Error
 
 	return
 }
@@ -142,33 +167,37 @@ func (m *BaseFromBusinessIndex) DelIndexItemList(indexCodeList []string) (err er
 // @return maxId int
 // @return err error
 func (m *BaseFromBusinessIndex) GetMaxId() (maxId int, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT max(base_from_business_index_id) id FROM base_from_business_index limit 1`
-	err = o.Raw(sql).QueryRow(&maxId)
+	//err = o.Raw(sql).QueryRow(&maxId)
+	err = DEFAULT_DmSQL.Raw(sql).First(&maxId).Error
 	return
 }
 
 // Add 新增
 func (m *BaseFromBusinessIndex) Add() (err error) {
-	o := orm.NewOrm()
-	lastId, err := o.Insert(m)
+	//o := orm.NewOrm()
+	//lastId, err := o.Insert(m)
+	err = DEFAULT_DmSQL.Create(m).Error
 	if err != nil {
 		return
 	}
-	m.BaseFromBusinessIndexId = lastId
+	//m.BaseFromBusinessIndexId = lastId
 
 	return
 }
 
 func (m *BaseFromBusinessIndex) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(m, cols...)
+	err = DEFAULT_DmSQL.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromBusinessIndex) Del() (err error) {
-	o := orm.NewOrm()
-	_, err = o.Delete(m)
+	//o := orm.NewOrm()
+	//_, err = o.Delete(m)
+	err = DEFAULT_DmSQL.Delete(m).Error
 	return
 }
 
@@ -179,8 +208,9 @@ func (m *BaseFromBusinessIndex) UpdateIndex(item *BaseFromBusinessIndex, updateC
 	if len(updateCols) == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	_, err = o.Update(item, updateCols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(item, updateCols...)
+	err = DEFAULT_DmSQL.Model(item).Select(updateCols).Updates(item).Error
 	return
 }
 
@@ -193,20 +223,22 @@ func (m *BaseFromBusinessIndex) UpdateIndex(item *BaseFromBusinessIndex, updateC
 // @return item *EdbBusinessSource
 // @return err error
 func (m *EdbBusinessSource) GetEdbBusinessSourceItem(sourceName string) (item *EdbBusinessSource, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM edb_business_source WHERE source_name = ? `
-	err = o.Raw(sql, sourceName).QueryRow(&item)
+	//err = o.Raw(sql, sourceName).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, sourceName).First(&item).Error
 	return
 }
 
 // Add 新增
 func (m *EdbBusinessSource) Add() (err error) {
-	o := orm.NewOrm()
-	lastId, err := o.Insert(m)
+	//o := orm.NewOrm()
+	//lastId, err := o.Insert(m)
+	err = DEFAULT_DmSQL.Create(m).Error
 	if err != nil {
 		return
 	}
-	m.EdbBusinessSourceId = lastId
+	//m.EdbBusinessSourceId = lastId
 
 	return
 }
@@ -319,12 +351,13 @@ func (m BaseFromBusinessIndex) getEdbInfoMaxAndMinInfoByMysql(edbCode string) (i
 // @param isIndexUpdateOrAdd bool
 // @return err error
 func (m *BaseFromBusinessIndex) ModifyIndexMaxAndMinInfo(indexCode string, item *EdbInfoMaxAndMinInfo, isIndexUpdateOrAdd bool) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` UPDATE base_from_business_index SET start_date=?,end_date=?,modify_time=NOW() `
 	if isIndexUpdateOrAdd {
 		sql += `,data_update_time=NOW() `
 	}
 	sql += ` WHERE index_code=?`
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, item.MinDate, item.MaxDate, indexCode).Error
 	return
 }

+ 37 - 25
models/base_from_business_data.go

@@ -4,7 +4,6 @@ import (
 	"errors"
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -68,7 +67,7 @@ type WhereParams struct {
 // @return result []*BaseFromBusinessData
 // @return err error
 func (m *BaseFromBusinessData) GetAllDataList(condition []string, pars []interface{}, order string) (result []*BaseFromBusinessData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 
 	sql := `SELECT * FROM base_from_business_data `
 	if len(condition) > 0 {
@@ -79,7 +78,8 @@ func (m *BaseFromBusinessData) GetAllDataList(condition []string, pars []interfa
 		sql += ` ORDER BY ` + order
 	}
 
-	_, err = o.Raw(sql, pars).QueryRows(&result)
+	//_, err = o.Raw(sql, pars).QueryRows(&result)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&result).Error
 
 	return
 }
@@ -96,7 +96,7 @@ func (m *BaseFromBusinessData) GetAllDataList(condition []string, pars []interfa
 // @return result []*BaseFromBusinessData
 // @return err error
 func (m *BaseFromBusinessData) GetLimitDataList(condition []string, pars []interface{}, order string, size int64) (result []*BaseFromBusinessData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_business_data `
 	if len(condition) > 0 {
 		sql += ` WHERE ` + strings.Join(condition, " AND ")
@@ -108,7 +108,8 @@ func (m *BaseFromBusinessData) GetLimitDataList(condition []string, pars []inter
 
 	sql += fmt.Sprintf(` LIMIT %d`, size)
 
-	_, err = o.Raw(sql, pars).QueryRows(&result)
+	//_, err = o.Raw(sql, pars).QueryRows(&result)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&result).Error
 
 	return
 }
@@ -126,7 +127,7 @@ func (m *BaseFromBusinessData) GetLimitDataList(condition []string, pars []inter
 // @return result []*BaseFromBusinessData
 // @return err error
 func (m *BaseFromBusinessData) GetPageDataList(condition []string, pars []interface{}, order string, startSize, size int64) (result []*BaseFromBusinessData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_business_data `
 	if len(condition) > 0 {
 		sql += ` WHERE ` + strings.Join(condition, " AND ")
@@ -138,7 +139,8 @@ func (m *BaseFromBusinessData) GetPageDataList(condition []string, pars []interf
 
 	sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, size)
 
-	_, err = o.Raw(sql, pars).QueryRows(&result)
+	//_, err = o.Raw(sql, pars).QueryRows(&result)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&result).Error
 
 	return
 }
@@ -153,12 +155,13 @@ func (m *BaseFromBusinessData) GetPageDataList(condition []string, pars []interf
 // @return count int64
 // @return err error
 func (m *BaseFromBusinessData) GetCountDataList(condition []string, pars []interface{}) (count int64, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT COUNT(1) FROM base_from_business_data `
+	//o := orm.NewOrm()
+	sql := `SELECT COUNT(1) as count FROM base_from_business_data `
 	if len(condition) > 0 {
 		sql += ` WHERE ` + strings.Join(condition, " AND ")
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	//err = o.Raw(sql, pars).QueryRow(&count)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&count).Error
 
 	return
 }
@@ -171,8 +174,9 @@ func (m *BaseFromBusinessData) GetCountDataList(condition []string, pars []inter
 // @param addData interface{}
 // @return err error
 func (m *BaseFromBusinessData) InsertDataByColl(addData interface{}) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Insert(addData)
+	//o := orm.NewOrm()
+	//_, err = o.Insert(addData)
+	err = DEFAULT_DmSQL.Create(addData).Error
 
 	return
 }
@@ -186,8 +190,9 @@ func (m *BaseFromBusinessData) InsertDataByColl(addData interface{}) (err error)
 // @param dataList []*BaseFromBusinessData
 // @return err error
 func (m *BaseFromBusinessData) BatchInsertData(bulk int, dataList []*BaseFromBusinessData) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(bulk, dataList)
+	//o := orm.NewOrm()
+	//_, err = o.InsertMulti(bulk, dataList)
+	err = DEFAULT_DmSQL.CreateInBatches(dataList, bulk).Error
 
 	return
 }
@@ -201,8 +206,9 @@ func (m *BaseFromBusinessData) BatchInsertData(bulk int, dataList []*BaseFromBus
 // @param updateParams interface{}
 // @return err error
 func (m *BaseFromBusinessData) UpdateData(updateCols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, updateCols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(m, updateCols...)
+	err = DEFAULT_DmSQL.Model(m).Select(updateCols).Updates(m).Error
 	if err != nil {
 		fmt.Println("UpdateDataByColl:Err:" + err.Error())
 		return
@@ -220,8 +226,9 @@ func (m *BaseFromBusinessData) UpdateData(updateCols []string) (err error) {
 // @param updateDataList []*BaseFromBusinessData
 // @return err error
 func (m *BaseFromBusinessData) HandleData(addDataList, updateDataList []*BaseFromBusinessData) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := DEFAULT_DmSQL.Begin()
 	if err != nil {
 		return
 	}
@@ -236,7 +243,8 @@ func (m *BaseFromBusinessData) HandleData(addDataList, updateDataList []*BaseFro
 
 	// 插入数据
 	if len(addDataList) > 0 {
-		_, err = to.InsertMulti(500, addDataList)
+		//_, err = to.InsertMulti(500, addDataList)
+		err = to.CreateInBatches(addDataList, 500).Error
 		if err != nil {
 			return
 		}
@@ -246,7 +254,8 @@ func (m *BaseFromBusinessData) HandleData(addDataList, updateDataList []*BaseFro
 
 	if len(updateDataList) > 0 {
 		for _, v := range updateDataList {
-			_, err = to.Update(v, "Value", "ModifyTime")
+			//_, err = to.Update(v, "Value", "ModifyTime")
+			err = to.Model(v).Select("Value", "ModifyTime").Updates(v).Error
 			if err != nil {
 				fmt.Println("BaseFromBusinessData HandleData Update:Err:" + err.Error())
 				return
@@ -266,17 +275,19 @@ func (m *BaseFromBusinessData) HandleData(addDataList, updateDataList []*BaseFro
 // @return result EdbInfoMaxAndMinInfo
 // @return err error
 func (m *BaseFromBusinessData) GetEdbInfoMaxAndMinInfo(indexCode string) (result EdbInfoMaxAndMinInfo, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ``
 	sql = ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_business_data WHERE index_code = ? `
-	err = o.Raw(sql, indexCode).QueryRow(&result)
+	//err = o.Raw(sql, indexCode).QueryRow(&result)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&result).Error
 	if err != nil {
 		return
 	}
 
 	var latestValue float64
 	sql = ` SELECT value AS latest_value FROM base_from_business_data WHERE index_code = ? ORDER BY data_time DESC LIMIT 1 `
-	err = o.Raw(sql, indexCode).QueryRow(&latestValue)
+	//err = o.Raw(sql, indexCode).QueryRow(&latestValue)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&latestValue).Error
 	result.LatestValue = latestValue
 
 	return
@@ -295,12 +306,13 @@ func (m *BaseFromBusinessData) DelDataByCond(condition []string, pars []interfac
 		err = errors.New("条件不能为空")
 		return
 	}
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `DELETE FROM base_from_business_data `
 
 	sql += ` WHERE ` + strings.Join(condition, " AND ")
 
-	_, err = o.Raw(sql, pars).Exec()
+	//_, err = o.Raw(sql, pars).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, pars).Error
 
 	return
 }

+ 42 - 25
models/base_from_calculate.go

@@ -5,13 +5,13 @@ import (
 	"errors"
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
 
 	"github.com/dengsgo/math-engine/engine"
 
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
 )
 
@@ -48,8 +48,9 @@ type CalculateItems struct {
 // AddCalculateInfo 新增计算(运算)指标
 func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbInfoCalculateMapping, edbInfoList []*EdbInfo, edbCode, uniqueCode string, edbInfoIdBytes []string) (edbInfo *EdbInfo, err error) {
 
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := DEFAULT_DmSQL.Begin()
 	if err != nil {
 		return
 	}
@@ -98,11 +99,12 @@ func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbIn
 		MaxEmptyType:     req.MaxEmptyType,
 		Extra:            req.Extra,
 	}
-	lastId, err := to.Insert(edbInfo)
+	//lastId, err := to.Insert(edbInfo)
+	err = to.Create(edbInfo).Error
 	if err != nil {
 		return
 	}
-	edbInfo.EdbInfoId = int(lastId)
+	//edbInfo.EdbInfoId = int(lastId)
 	edbInfoTag := make(map[string]int)
 	//关联关系表
 	{
@@ -113,7 +115,8 @@ func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbIn
 			v.EdbInfoId = edbInfo.EdbInfoId
 		}
 		if len(calculateMappingList) > 0 {
-			_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+			//_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+			err = to.CreateInBatches(calculateMappingList, len(calculateMappingList)).Error
 			if err != nil {
 				return
 			}
@@ -127,8 +130,9 @@ func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbIn
 
 // EditCalculateInfo 编辑计算(运算)指标
 func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSlice []string, edbInfoIdBytes []string, needCalculate bool) (err error, errMsg string) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := DEFAULT_DmSQL.Begin()
 	if err != nil {
 		return
 	}
@@ -154,7 +158,8 @@ func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSli
 	edbInfo.EmptyType = req.EmptyType
 	edbInfo.MaxEmptyType = req.MaxEmptyType
 	edbInfo.Extra = req.Extra
-	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "EdbNameEn", "UnitEn", "ClassifyId", "CalculateFormula", "ModifyTime", "EmptyType", "MaxEmptyType", "Extra")
+	//_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "EdbNameEn", "UnitEn", "ClassifyId", "CalculateFormula", "ModifyTime", "EmptyType", "MaxEmptyType", "Extra")
+	err = to.Model(edbInfo).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
@@ -162,13 +167,15 @@ func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSli
 	if needCalculate {
 		// 清除计算数据
 		sql := `DELETE FROM edb_data_calculate WHERE edb_info_id=?`
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		//_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 		if err != nil {
 			return
 		}
 		// 清除关联关系表
 		sql = `DELETE FROM edb_info_calculate_mapping WHERE edb_info_id=?`
-		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		//_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		err = to.Exec(sql, edbInfo.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -225,7 +232,8 @@ func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSli
 		//关联关系表
 		{
 			if len(calculateMappingList) > 0 {
-				_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+				//_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+				err = to.CreateInBatches(calculateMappingList, len(calculateMappingList)).Error
 				if err != nil {
 					return
 				}
@@ -241,20 +249,22 @@ func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaSli
 
 // GetCalculateEdbInfo 获取计算指标的关联指标id
 func GetCalculateEdbInfo(edbInfoId int) (from_edb_info_id string, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT GROUP_CONCAT(from_edb_info_id ORDER BY sort ASC SEPARATOR ',') AS from_edb_info_id 
 			FROM edb_info_calculate_mapping
 			WHERE edb_info_id=?
 			GROUP BY edb_info_id
 			 `
-	err = o.Raw(sql, edbInfoId).QueryRow(&from_edb_info_id)
+	//err = o.Raw(sql, edbInfoId).QueryRow(&from_edb_info_id)
+	err = DEFAULT_DmSQL.Raw(sql, edbInfoId).Find(&from_edb_info_id).Error
 	return
 }
 
 // DeleteCalculateEdbInfo 删除指标信息
 func DeleteCalculateEdbInfo(edbInfoId int) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := DEFAULT_DmSQL.Begin()
 	if err != nil {
 		return
 	}
@@ -266,19 +276,22 @@ func DeleteCalculateEdbInfo(edbInfoId int) (err error) {
 		}
 	}()
 	sql := `DELETE FROM edb_data_calculate WHERE edb_info_id=?`
-	_, err = to.Raw(sql, edbInfoId).Exec()
+	//_, err = to.Raw(sql, edbInfoId).Exec()
+	err = to.Exec(sql, edbInfoId).Error
 	if err != nil {
 		return
 	}
 	sql = `DELETE FROM edb_info_calculate_mapping WHERE edb_info_id=?`
-	_, err = to.Raw(sql, edbInfoId).Exec()
+	//_, err = to.Raw(sql, edbInfoId).Exec()
+	err = to.Exec(sql, edbInfoId).Error
 	return
 }
 
 // RefreshAllCalculate 刷新全部数据
 func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoTag map[string]int, edbInfoId, source, subSource int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int, extra string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := DEFAULT_DmSQL.Begin()
 	if err != nil {
 		return
 	}
@@ -298,7 +311,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoTag map[string]int, edb
 }
 
 // refreshAllCalculate 刷新全部数据
-func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map[string]int, edbInfoId, source, subSource int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int, extra string) (err error) {
+func refreshAllCalculate(to *gorm.DB, edbInfoIdArr []*EdbInfo, edbInfoTag map[string]int, edbInfoId, source, subSource int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string, emptyType, maxEmptyType int, extra string) (err error) {
 	realSaveDataMap := make(map[string]map[int]float64)
 	saveDataMap := make(map[string]map[int]float64)
 
@@ -400,7 +413,8 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map
 	dataTableName := GetEdbDataTableName(source, subSource)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
+	//_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
+	err = to.Raw(sql, edbInfoId).Find(&dataList).Error
 	if err != nil {
 		return err
 	}
@@ -515,7 +529,8 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map
 			if existStr != saveValue {
 				sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, saveValue, edbInfoId, sk).Exec()
+				//_, err = to.Raw(sql, saveValue, edbInfoId, sk).Exec()
+				err = to.Exec(sql, saveValue, edbInfoId, sk).Error
 				if err != nil {
 					return err
 				}
@@ -525,7 +540,8 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		//_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			fmt.Println("RefreshAllCalculate add Err", err.Error())
 			return
@@ -543,7 +559,8 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map
 		tableName := GetEdbDataTableName(source, subSource)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
-		_, err = to.Raw(sql, edbInfoId).Exec()
+		//_, err = to.Raw(sql, edbInfoId).Exec()
+		err = to.Exec(sql, edbInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除计算失败的计算指标数据失败,Err:" + err.Error())
 			return

+ 123 - 70
models/base_from_ccf.go

@@ -3,7 +3,6 @@ package models
 import (
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -12,15 +11,26 @@ import (
 // BaseFromCCF CCF化纤信息
 type BaseFromCCF struct{}
 
+//type BaseFromCCFData struct {
+//	BaseFromCcfDataId  int `orm:"column(base_from_ccf_data_id);pk"`
+//	BaseFromCcfIndexId int
+//	IndexCode          string
+//	DataTime           string
+//	Value              string
+//	CreateTime         time.Time
+//	ModifyTime         time.Time
+//	DataTimestamp      int64
+//}
+
 type BaseFromCCFData struct {
-	BaseFromCcfDataId  int `orm:"column(base_from_ccf_data_id);pk"`
-	BaseFromCcfIndexId int
-	IndexCode          string
-	DataTime           string
-	Value              string
-	CreateTime         time.Time
-	ModifyTime         time.Time
-	DataTimestamp      int64
+	BaseFromCcfDataId  int       `gorm:"column:base_from_ccf_data_id;primaryKey"`
+	BaseFromCcfIndexId int       `gorm:"column:base_from_ccf_index_id"`
+	IndexCode          string    `gorm:"column:index_code"`
+	DataTime           string    `gorm:"column:data_time"`
+	Value              string    `gorm:"column:value"`
+	CreateTime         time.Time `gorm:"column:create_time"`
+	ModifyTime         time.Time `gorm:"column:modify_time"`
+	DataTimestamp      int64     `gorm:"column:data_timestamp"`
 }
 
 func (m *BaseFromCCFData) TableName() string {
@@ -28,18 +38,19 @@ func (m *BaseFromCCFData) TableName() string {
 }
 
 func GetBaseFromCCFDataByCondition(condition string, pars []interface{}) (list []*BaseFromCCFData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_ccf_data WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	//_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&list).Error
 	return
 }
 
 // Add 添加
 func (obj BaseFromCCF) Add(edbCode string) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 
 	var condition string
 	var pars []interface{}
@@ -71,7 +82,8 @@ func (obj BaseFromCCF) Add(edbCode string) (err error) {
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
 		utils.FileLog.Info("addSql:" + addSql)
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			return err
 		}
@@ -82,7 +94,7 @@ func (obj BaseFromCCF) Add(edbCode string) (err error) {
 // Refresh 刷新CCF化纤指标数据
 func (obj BaseFromCCF) Refresh(edbInfoId int, edbCode, startDate string) (err error) {
 	source := obj.GetSource()
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if err != nil {
 		return
 	}
@@ -180,7 +192,8 @@ func (obj BaseFromCCF) Refresh(edbInfoId int, edbCode, startDate string) (err er
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			fmt.Println("RefreshEdbDataFromBaiinfo add Err", err.Error())
 			return
@@ -199,19 +212,34 @@ func (obj BaseFromCCF) GetSourceName() string {
 	return utils.DATA_SOURCE_NAME_CCF
 }
 
+//type BaseFromCCFIndex struct {
+//	BaseFromCcfIndexId int64 `orm:"column(base_from_ccf_index_id);pk"`
+//	IndexCode          string
+//	IndexName          string
+//	Frequency          string
+//	Unit               string
+//	ClassifyId         int
+//	StartDate          string
+//	EndDate            string
+//	Sort               int
+//	TerminalCode       string
+//	CreateTime         time.Time
+//	ModifyTime         time.Time
+//}
+
 type BaseFromCCFIndex struct {
-	BaseFromCcfIndexId int64 `orm:"column(base_from_ccf_index_id);pk"`
-	IndexCode          string
-	IndexName          string
-	Frequency          string
-	Unit               string
-	ClassifyId         int
-	StartDate          string
-	EndDate            string
-	Sort               int
-	TerminalCode       string
-	CreateTime         time.Time
-	ModifyTime         time.Time
+	BaseFromCcfIndexId int64     `gorm:"column:base_from_ccf_index_id;primaryKey"`
+	IndexCode          string    `gorm:"column:index_code"`
+	IndexName          string    `gorm:"column:index_name"`
+	Frequency          string    `gorm:"column:frequency"`
+	Unit               string    `gorm:"column:unit"`
+	ClassifyId         int       `gorm:"column:classify_id"`
+	StartDate          string    `gorm:"column:start_date"`
+	EndDate            string    `gorm:"column:end_date"`
+	Sort               int       `gorm:"column:sort"`
+	TerminalCode       string    `gorm:"column:terminal_code"`
+	CreateTime         time.Time `gorm:"column:create_time"`
+	ModifyTime         time.Time `gorm:"column:modify_time"`
 }
 
 func (m *BaseFromCCFIndex) TableName() string {
@@ -219,34 +247,38 @@ func (m *BaseFromCCFIndex) TableName() string {
 }
 
 func (m *BaseFromCCFIndex) Add() (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(m)
+	//o := orm.NewOrm()
+	//lastId, err = o.Insert(m)
+	err = DEFAULT_DmSQL.Create(m).Error
 	return
 }
 
 func (m *BaseFromCCFIndex) Update(updateCols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, updateCols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(m, updateCols...)
+	err = DEFAULT_DmSQL.Model(m).Updates(m).Error
 
 	return
 }
 
 func (m *BaseFromCCFIndex) ModifyIndexMaxAndMinDate(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` UPDATE base_from_ccf_index SET start_date=?,end_date=?,modify_time=NOW() WHERE index_code=? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	err = DEFAULT_DmSQL.Exec(sql, item.MinDate, item.MaxDate, indexCode).Error
 	return
 }
 
 func (m *BaseFromCCFIndex) GetByIndexCode(indexCode string) (item *BaseFromCCFIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM base_from_ccf_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func (m *BaseFromCCFIndex) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromCCFIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -256,7 +288,8 @@ func (m *BaseFromCCFIndex) GetItemsByCondition(condition string, pars []interfac
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM base_from_ccf_index WHERE 1=1 %s %s`, fields, condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -275,15 +308,17 @@ type BaseFromCCFIndexList struct {
 }
 
 func (m *BaseFromCCFData) GetByIndexCode(indexCode string) (list []*BaseFromCCFData, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM base_from_ccf_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	//_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func (m *BaseFromCCFData) AddMulti(item []*BaseFromCCFData) (err error) {
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(100, item)
+	//o := orm.NewOrm()
+	//_, err = o.InsertMulti(100, item)
+	err = DEFAULT_DmSQL.CreateInBatches(item, 100).Error
 	return
 }
 
@@ -317,47 +352,63 @@ type HandleCCFStockTableReq struct {
 }
 
 func (m *BaseFromCCFData) GetMaxAndMinDateByIndexCode(indexCode string) (item *EdbInfoMaxAndMinInfo, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_ccf_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	//err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
+// BaseFromCCFClassify CCF化纤数据分类表
+//type BaseFromCCFClassify struct {
+//	ClassifyId      int       `orm:"column(classify_id);pk"`
+//	ClassifyName    string    `description:"分类名称"`
+//	ParentId        int       `description:"父级id"`
+//	SysUserId       int       `description:"创建人id"`
+//	SysUserRealName string    `description:"创建人姓名"`
+//	Level           int       `description:"层级"`
+//	Sort            int       `description:"排序字段,越小越靠前,默认值:10"`
+//	ModifyTime      time.Time `description:"修改时间"`
+//	CreateTime      time.Time `description:"创建时间"`
+//}
+
 // BaseFromCCFClassify CCF化纤数据分类表
 type BaseFromCCFClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk"`
-	ClassifyName    string    `description:"分类名称"`
-	ParentId        int       `description:"父级id"`
-	SysUserId       int       `description:"创建人id"`
-	SysUserRealName string    `description:"创建人姓名"`
-	Level           int       `description:"层级"`
-	Sort            int       `description:"排序字段,越小越靠前,默认值:10"`
-	ModifyTime      time.Time `description:"修改时间"`
-	CreateTime      time.Time `description:"创建时间"`
+	ClassifyId      int       `gorm:"column:classify_id;primaryKey" description:"分类ID"`
+	ClassifyName    string    `gorm:"column:classify_name" description:"分类名称"`
+	ParentId        int       `gorm:"column:parent_id" description:"父级id"`
+	SysUserId       int       `gorm:"column:sys_user_id" description:"创建人id"`
+	SysUserRealName string    `gorm:"column:sys_user_real_name" description:"创建人姓名"`
+	Level           int       `gorm:"column:level" description:"层级"`
+	Sort            int       `gorm:"column:sort" description:"排序字段,越小越靠前,默认值:10"`
+	ModifyTime      time.Time `gorm:"column:modify_time" description:"修改时间"`
+	CreateTime      time.Time `gorm:"column:create_time" description:"创建时间"`
 }
-
 func (m *BaseFromCCFClassify) Add() (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(m)
+	//o := orm.NewOrm()
+	//lastId, err = o.Insert(m)
+	err = DEFAULT_DmSQL.Create(m).Error
 	return
 }
 
 func (m *BaseFromCCFClassify) Update(updateCols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, updateCols...)
+	//o := orm.NewOrm()
+	//_, err = o.Update(m, updateCols...)
+	err = DEFAULT_DmSQL.Model(m).Select(updateCols).Updates(m).Error
 
 	return
 }
 
 func (m *BaseFromCCFClassify) GetByClassifyName(classifyName string) (item *BaseFromCCFClassify, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM base_from_ccf_classify WHERE classify_name=? `
-	err = o.Raw(sql, classifyName).QueryRow(&item)
+	//err = o.Raw(sql, classifyName).QueryRow(&item)
+	err = DEFAULT_DmSQL.Raw(sql, classifyName).First(&item).Error
 	return
 }
 
 func (m *BaseFromCCFClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromCCFClassify, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -367,7 +418,8 @@ func (m *BaseFromCCFClassify) GetItemsByCondition(condition string, pars []inter
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM base_from_ccf_classify WHERE 1=1 %s %s`, fields, condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	//_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -404,20 +456,21 @@ func MultiUpdateBaseFromCCFDataValue(items []*BaseFromCCFData) (err error) {
 		return
 	}
 
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `UPDATE base_from_ccf_data SET value = ?, modify_time = NOW() WHERE index_code = ? AND data_time = ? LIMIT 1`
-	p, err := o.Raw(sql).Prepare()
-	if err != nil {
-		return
-	}
-	defer func() {
-		_ = p.Close()
-	}()
+	//p, err := o.Raw(sql).Prepare()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	_ = p.Close()
+	//}()
 	for _, v := range items {
 		if v.IndexCode == "" || v.DataTime == "" {
 			continue
 		}
-		_, err = p.Exec(v.Value, v.IndexCode, v.DataTime)
+		//_, err = p.Exec(v.Value, v.IndexCode, v.DataTime)
+		err = DEFAULT_DmSQL.Exec(sql, v.Value, v.IndexCode, v.DataTime).Error
 		if err != nil {
 			return
 		}

+ 83 - 43
models/base_from_cffex.go

@@ -3,65 +3,103 @@ package models
 import (
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
 )
 
+//type BaseFromTradeCFFEXIndex struct {
+//	BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk"`
+//	Rank                      int
+//	DealShortName             string
+//	DealName                  string
+//	DealCode                  string
+//	DealValue                 string
+//	DealChange                int
+//	BuyShortName              string
+//	BuyName                   string
+//	BuyCode                   string
+//	BuyValue                  string
+//	BuyChange                 int
+//	SoldShortName             string
+//	SoldName                  string
+//	SoldCode                  string
+//	SoldValue                 string
+//	SoldChange                int
+//	Frequency                 string
+//	ClassifyName              string
+//	ClassifyType              string
+//	CreateTime                time.Time
+//	ModifyTime                time.Time
+//	DataTime                  string
+//}
+
 type BaseFromTradeCFFEXIndex struct {
-	BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk"`
-	Rank                      int
-	DealShortName             string
-	DealName                  string
-	DealCode                  string
-	DealValue                 string
-	DealChange                int
-	BuyShortName              string
-	BuyName                   string
-	BuyCode                   string
-	BuyValue                  string
-	BuyChange                 int
-	SoldShortName             string
-	SoldName                  string
-	SoldCode                  string
-	SoldValue                 string
-	SoldChange                int
-	Frequency                 string
-	ClassifyName              string
-	ClassifyType              string
-	CreateTime                time.Time
-	ModifyTime                time.Time
-	DataTime                  string
+	BaseFromTradeCffexIndexId int       `gorm:"column:base_from_trade_cffex_index_id;primaryKey"`
+	Rank                      int       `gorm:"column:rank"`
+	DealShortName             string    `gorm:"column:deal_short_name"`
+	DealName                  string    `gorm:"column:deal_name"`
+	DealCode                  string    `gorm:"column:deal_code"`
+	DealValue                 string    `gorm:"column:deal_value"`
+	DealChange                int       `gorm:"column:deal_change"`
+	BuyShortName              string    `gorm:"column:buy_short_name"`
+	BuyName                   string    `gorm:"column:buy_name"`
+	BuyCode                   string    `gorm:"column:buy_code"`
+	BuyValue                  string    `gorm:"column:buy_value"`
+	BuyChange                 int       `gorm:"column:buy_change"`
+	SoldShortName             string    `gorm:"column:sold_short_name"`
+	SoldName                  string    `gorm:"column:sold_name"`
+	SoldCode                  string    `gorm:"column:sold_code"`
+	SoldValue                 string    `gorm:"column:sold_value"`
+	SoldChange                int       `gorm:"column:sold_change"`
+	Frequency                 string    `gorm:"column:frequency"`
+	ClassifyName              string    `gorm:"column:classify_name"`
+	ClassifyType              string    `gorm:"column:classify_type"`
+	CreateTime                time.Time `gorm:"column:create_time"`
+	ModifyTime                time.Time `gorm:"column:modify_time"`
+	DataTime                  string    `gorm:"column:data_time"`
 }
 
 func GetBaseFromCffexDataAllByIndexCode(indexCode, suffix string) (list []*BaseFromTradeCFFEXIndex, err error) {
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_trade_cffex_index WHERE %s_code=? `
 	sql = fmt.Sprintf(sql, suffix)
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	//_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = DEFAULT_DmSQL.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
+//type BaseFromCffexDataSimple struct {
+//	Id        int `orm:"column(base_from_trade_cffex_index_id);pk"`
+//	DealCode  string
+//	BuyCode   string
+//	SoldCode  string
+//	DataTime  string
+//	DealValue string
+//	BuyValue  string
+//	SoldValue string
+//}
+
 type BaseFromCffexDataSimple struct {
-	Id        int `orm:"column(base_from_trade_cffex_index_id);pk"`
-	DealCode  string
-	BuyCode   string
-	SoldCode  string
-	DataTime  string
-	DealValue string
-	BuyValue  string
-	SoldValue string
+	Id        int    `gorm:"column:base_from_trade_cffex_index_id;primaryKey"`
+	DealCode  string `gorm:"column:deal_code"`
+	BuyCode   string `gorm:"column:buy_code"`
+	SoldCode  string `gorm:"column:sold_code"`
+	DataTime  string `gorm:"column:data_time"`
+	DealValue string `gorm:"column:deal_value"`
+	BuyValue  string `gorm:"column:buy_value"`
+	SoldValue string `gorm:"column:sold_value"`
 }
 
 func GetCffexDataByTradeCode(condition string, pars []interface{}) (item []*BaseFromCffexDataSimple, err error) {
 	sql := ` SELECT * FROM base_from_trade_cffex_index WHERE 1=1 `
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY data_time DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	//_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = DEFAULT_DmSQL.Raw(sql, pars).Find(&item).Error
 	return
 }
 
@@ -76,7 +114,7 @@ func AddEdbDataFromCffex(edbCode string) (err error) {
 		suffix = "sold"
 	}
 
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	cffexBaseDataAll, err := GetBaseFromCffexDataAllByIndexCode(edbCode, suffix)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		return
@@ -116,7 +154,8 @@ func AddEdbDataFromCffex(edbCode string) (err error) {
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
 		utils.FileLog.Info("addSql:" + addSql)
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			return err
 		}
@@ -137,10 +176,10 @@ func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err erro
 		suffix = "sold"
 	}
 
-	o := orm.NewOrm()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrm()
+	//if err != nil {
+	//	return
+	//}
 
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
@@ -258,7 +297,8 @@ func RefreshEdbDataFromCffex(edbInfoId int, edbCode, startDate string) (err erro
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		//_, err = o.Raw(addSql).Exec()
+		err = DEFAULT_DmSQL.Exec(addSql).Error
 		if err != nil {
 			return err
 		}

+ 5 - 3
models/edb_info.go

@@ -6,6 +6,7 @@ import (
 	"eta_gn/eta_index_lib/models/mgo"
 	"eta_gn/eta_index_lib/utils"
 	"fmt"
+	"gorm.io/gorm"
 	"strconv"
 	"time"
 
@@ -279,7 +280,7 @@ func GetEdbDataListAllByMysql(source, subSource int, findEdbDataListAllCond Find
 // @param order int
 // @return item []*EdbInfoSearchData
 // @return err error
-func GetEdbDataListAllByTo(to orm.TxOrmer, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
+func GetEdbDataListAllByTo(to *gorm.DB, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
 	if source == utils.DATA_SOURCE_BUSINESS && utils.UseMongo {
 		return GetEdbDataListAllByMongo(source, subSource, findEdbDataListAllCond, order)
 	}
@@ -298,7 +299,7 @@ func GetEdbDataListAllByTo(to orm.TxOrmer, source, subSource int, findEdbDataLis
 // @param order int
 // @return item []*EdbInfoSearchData
 // @return err error
-func GetEdbDataListAllByMysqlTo(to orm.TxOrmer, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
+func GetEdbDataListAllByMysqlTo(to *gorm.DB, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
 	if findEdbDataListAllCond.EdbInfoId <= 0 {
 		return
 	}
@@ -331,7 +332,8 @@ func GetEdbDataListAllByMysqlTo(to orm.TxOrmer, source, subSource int, findEdbDa
 	} else {
 		sql += ` ORDER BY data_time DESC `
 	}
-	_, err = to.Raw(sql, pars).QueryRows(&item)
+	//_, err = to.Raw(sql, pars).QueryRows(&item)
+	err = to.Raw(sql, pars).Find(&item).Error
 	return
 }
 

+ 2 - 1
services/base_from_baiinfo.go

@@ -72,7 +72,8 @@ func HandleBaiinfoIndex(baseFilePath, terminalCode, renameFilePath, indexName, i
 	} else if isAdd == 2 {
 		if item.TerminalCode == `` && terminalCode != `` {
 			item.TerminalCode = terminalCode
-			item.Update([]string{"TerminalCode"})
+			//item.Update([]string{"TerminalCode"})
+			item.Update([]string{"terminal_code"})
 		}
 
 		//获取已存在的所有数据

+ 5 - 5
services/base_from_business.go

@@ -107,26 +107,26 @@ func HandleBusinessIndex(indexReq *models.AddBusinessIndexReq) (resp models.Base
 		updateCols := make([]string, 0)
 		if item.IndexName != indexReq.IndexName {
 			item.IndexName = indexReq.IndexName
-			updateCols = append(updateCols, "IndexName")
+			updateCols = append(updateCols, "index_name")
 		}
 		if item.Unit != indexReq.Unit {
 			item.Unit = indexReq.Unit
-			updateCols = append(updateCols, "Unit")
+			updateCols = append(updateCols, "unit")
 		}
 		if item.Frequency != indexReq.Frequency {
 			item.Frequency = indexReq.Frequency
-			updateCols = append(updateCols, "Frequency")
+			updateCols = append(updateCols, "frequency")
 		}
 		if item.Source != int(sourceItem.EdbBusinessSourceId) {
 			item.Source = int(sourceItem.EdbBusinessSourceId)
 			item.SourceName = sourceItem.SourceName
-			updateCols = append(updateCols, "Source", "SourceName")
+			updateCols = append(updateCols, "source", "source_name")
 		}
 
 		if len(updateCols) > 0 {
 			item.BaseModifyTime = time.Now()
 			item.ModifyTime = time.Now()
-			updateCols = append(updateCols, "BaseModifyTime", "ModifyTime")
+			updateCols = append(updateCols, "base_modify_time", "modify_time")
 			err = item.Update(updateCols)
 			if err != nil {
 				fmt.Println("update index err:" + err.Error())

+ 2 - 1
services/base_from_pcsg.go

@@ -178,7 +178,8 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData,
 				index.Unit = v.Unit
 				index.Frequency = v.Frequency
 				index.ModifyTime = time.Now().Local()
-				if e = index.Update([]string{"IndexName", "Unit", "Frequency", "ModifyTime"}); e != nil {
+				//if e = index.Update([]string{"IndexName", "Unit", "Frequency", "ModifyTime"}); e != nil {
+				if e = index.Update([]string{"index_name", "unit", "frequency", "modify_time"}); e != nil {
 					err = fmt.Errorf("更新Bloomberg原始指标失败, err: %s", e.Error())
 					return
 				}