瀏覽代碼

兼容达梦数据库

kobe6258 2 月之前
父節點
當前提交
3180db482e
共有 4 個文件被更改,包括 119 次插入86 次删除
  1. 41 26
      models/base_from_adjust.go
  2. 56 41
      models/base_from_baiinfo.go
  3. 17 16
      models/base_from_bloomberg.go
  4. 5 3
      models/edb_info.go

+ 41 - 26
models/base_from_adjust.go

@@ -2,9 +2,9 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -32,8 +32,9 @@ type AddAdjustEdbData struct {
 // SaveAdjustEdb 保存数据调整指标
 func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg string) {
 	errMsg = `添加指标失败`
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	if err != nil {
 		return
 	}
@@ -75,13 +76,13 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 			EdbType:         2,
 			Sort:            GetAddEdbMaxSortByClassifyId(req.ClassifyId, utils.EDB_INFO_TYPE),
 		}
-		newEdbInfoId, tmpErr := to.Insert(edbInfo)
-		if tmpErr != nil {
-			err = tmpErr
-			return
-		}
-		edbInfo.EdbInfoId = int(newEdbInfoId)
-
+		//newEdbInfoId, tmpErr := to.Insert(edbInfo)
+		//if tmpErr != nil {
+		//	err = tmpErr
+		//	return
+		//}
+		//edbInfo.EdbInfoId = int(newEdbInfoId)
+		tmpErr := to.Create(&edbInfo).Error
 		// 获取来源指标
 		fromEdbInfo, tmpErr := GetEdbInfoById(req.FromEdbInfoId)
 		if tmpErr != nil {
@@ -105,7 +106,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 			calculateMappingItem.FromTag = ""
 			calculateMappingItem.Source = edbInfo.Source
 			calculateMappingItem.SourceName = edbInfo.SourceName
-			_, err = to.Insert(calculateMappingItem)
+			//_, err = to.Insert(calculateMappingItem)
+			err = to.Create(&calculateMappingItem).Error
 			if err != nil {
 				return
 			}
@@ -122,7 +124,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 				ModifyTime:    time.Now(),
 				CreateTime:    time.Now(),
 			}
-			_, err = to.Insert(edbAdjustConf)
+			//_, err = to.Insert(edbAdjustConf)
+			err = to.Create(&edbAdjustConf).Error
 			if err != nil {
 				return
 			}
@@ -140,7 +143,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 		edbInfo.Unit = utils.TrimStr(req.Unit)
 		edbInfo.ClassifyId = req.ClassifyId
 		edbInfo.ModifyTime = time.Now()
-		_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime")
+		//_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime")
+		err = to.Model(&edbInfo).Select([]string{"EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "ModifyTime"}).Updates(&edbInfo).Error
 		if err != nil {
 			return
 		}
@@ -152,7 +156,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_ADJUST, edbInfo.SubSource)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		//_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
+		err = to.Exec(deleteSql, req.EdbInfoId).Error
 		if err != nil {
 			return
 		}
@@ -180,7 +185,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 			// 获取之前的配置
 			var edbAdjustConf *EdbAdjustConf
 			sql := ` SELECT * FROM edb_adjust_conf WHERE edb_info_id=? `
-			err = o.Raw(sql, edbInfo.EdbInfoId).QueryRow(&edbAdjustConf)
+			//err = o.Raw(sql, edbInfo.EdbInfoId).QueryRow(&edbAdjustConf)
+			err = global.DEFAULT_DB.Where(sql, edbInfo.EdbInfoId).First(&edbAdjustConf).Error
 			if err != nil {
 				errMsg = "获取指标配置失败"
 				return
@@ -189,7 +195,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 			// 修改配置的最晚日期
 			edbAdjustConf.SourceEndDate = fromEdbEndDate
 			edbAdjustConf.ModifyTime = time.Now()
-			_, err = to.Update(edbAdjustConf, "SourceEndDate", "ModifyTime")
+			//_, err = to.Update(edbAdjustConf, "SourceEndDate", "ModifyTime")
+			err = to.Model(&edbAdjustConf).Select([]string{"SourceEndDate", "ModifyTime"}).Updates(&edbAdjustConf).Error
 			if err != nil {
 				errMsg = "更新指标配置失败"
 				return
@@ -235,7 +242,8 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		//_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return
 		}
@@ -245,8 +253,9 @@ func SaveAdjustEdb(req SaveAdjustEdbReq) (edbInfo *EdbInfo, err error, errMsg st
 
 // RefreshAllAdjustEdb 刷新所有 数据调整指标
 func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	//o := orm.NewOrm()
+	//to, err := o.Begin()
+	to := global.DEFAULT_DB.Begin()
 	if err != nil {
 		return
 	}
@@ -265,7 +274,8 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 	// 获取之前的配置
 	var edbAdjustConf *EdbAdjustConf
 	sql := ` SELECT * FROM edb_adjust_conf WHERE edb_info_id=? `
-	err = o.Raw(sql, edbInfo.EdbInfoId).QueryRow(&edbAdjustConf)
+	//err = o.Raw(sql, edbInfo.EdbInfoId).QueryRow(&edbAdjustConf)
+	err = global.DEFAULT_DB.Raw(sql, edbInfo.EdbInfoId).First(&edbAdjustConf).Error
 	if err != nil {
 		err = errors.New("获取指标配置失败")
 		return
@@ -322,7 +332,8 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 			if existVal != item.Value {
 				sql = ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				sql = fmt.Sprintf(sql, dataTableName)
-				_, err = to.Raw(sql, saveVal, edbInfo.EdbInfoId, currDay).Exec()
+				//_, err = to.Raw(sql, saveVal, edbInfo.EdbInfoId, currDay).Exec()
+				err = to.Exec(sql, saveVal, edbInfo.EdbInfoId, currDay).Error
 				if err != nil {
 					return err
 				}
@@ -332,7 +343,8 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 	}
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = to.Raw(addSql).Exec()
+		//_, err = to.Raw(addSql).Exec()
+		err = to.Exec(addSql).Error
 		if err != nil {
 			return
 		}
@@ -345,7 +357,8 @@ func RefreshAllAdjustEdb(edbInfo *EdbInfo, fromEdbInfo *EdbInfo) (err error) {
 			}
 			edbAdjustConf.SourceEndDate = fromEdbEndDate
 			edbAdjustConf.ModifyTime = time.Now()
-			_, err = to.Update(edbAdjustConf, "SourceEndDate", "ModifyTime")
+			//_, err = to.Update(edbAdjustConf, "SourceEndDate", "ModifyTime")
+			err = to.Model(&edbAdjustConf).Select([]string{"SourceEndDate", "ModifyTime"}).Updates(&edbAdjustConf).Error
 		}
 	}
 
@@ -374,9 +387,10 @@ type SaveAdjustEdbDataReq struct {
 // FixData 修复数据
 func FixData() {
 	var list []*EdbInfo
-	o := orm.NewOrm()
+	//o := orm.NewOrm()
 	sql := ` SELECT * FROM edb_info WHERE source=? `
-	_, err := o.Raw(sql, 40).QueryRows(&list)
+	//_, err := o.Raw(sql, 40).QueryRows(&list)
+	err := global.DEFAULT_DB.Raw(sql, 40).Find(&list).Error
 	for _, edbInfo := range list {
 		// 获取来源指标
 		calculateMapping, tmpErr := GetEdbInfoCalculateMappingDetail(edbInfo.EdbInfoId)
@@ -401,7 +415,8 @@ func FixData() {
 			ModifyTime:    time.Now(),
 			CreateTime:    time.Now(),
 		}
-		_, err = o.Insert(edbAdjustConf)
+		//_, err = o.Insert(edbAdjustConf)
+		err = global.DEFAULT_DB.Create(&edbAdjustConf).Error
 		if err != nil {
 			fmt.Println(edbInfo.EdbInfoId, "添加失败;err:", tmpErr)
 			continue

+ 56 - 41
models/base_from_baiinfo.go

@@ -1,17 +1,17 @@
 package models
 
 import (
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
 	"strconv"
 	"strings"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromBaiinfoData struct {
-	BaiinfoDataId          int `orm:"column(baiinfo_data_id);pk"`
+	BaiinfoDataId int `gorm:"column:baiinfo_data_id;primaryKey"`
+	//BaiinfoDataId          int `orm:"column(baiinfo_data_id);pk"`
 	BaseFromBaiinfoIndexId int
 	IndexCode              string
 	DataTime               string
@@ -22,18 +22,19 @@ type BaseFromBaiinfoData struct {
 }
 
 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 = global.DEFAULT_DB.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 +66,8 @@ func AddEdbDataFromBaiinfo(edbCode string) (err error) {
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
 		utils.FileLog.Info("addSql:" + addSql)
-		_, err = o.Raw(addSql).Exec()
+		err = global.DEFAULT_DB.Exec(addSql).Error
+		//_, err = o.Raw(addSql).Exec()
 		if err != nil {
 			return err
 		}
@@ -77,7 +79,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 +177,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 = global.DEFAULT_DB.Exec(addSql).Error
 		if err != nil {
 			fmt.Println("RefreshEdbDataFromBaiinfo add Err", err.Error())
 			return
@@ -195,78 +198,90 @@ type HandleBaiinfoExcelDataReq struct {
 }
 
 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"`
+	//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
 }
 
 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 = global.DEFAULT_DB.Create(&d).Error
+	if err != nil {
+		return
+	}
+	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 = global.DEFAULT_DB.CreateInBatches(&item, 1).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 = global.DEFAULT_DB.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 = global.DEFAULT_DB.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 = global.DEFAULT_DB.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 = global.DEFAULT_DB.Raw(sql, indexCode).First(&item).Error
 	var latest_value float64
 	sql = ` SELECT value AS latest_value FROM base_from_baiinfo_data WHERE index_code=? ORDER BY data_time DESC LIMIT 1 `
-	err = o.Raw(sql, indexCode).QueryRow(&latest_value)
+	//err = o.Raw(sql, indexCode).QueryRow(&latest_value)
+	err = global.DEFAULT_DB.Raw(sql, indexCode).First(&latest_value).Error
 	item.LatestValue = latest_value
 
 	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=?,latest_value = ?,modify_time=NOW() WHERE index_code=? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Exec()
+	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Exec()
+	err = global.DEFAULT_DB.Exec(sql, item.MinDate, item.MaxDate, item.LatestValue, 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 = global.DEFAULT_DB.Model(&r).Select(updateCols).Updates(&r).Error
 	return
 }

+ 17 - 16
models/base_from_bloomberg.go

@@ -11,22 +11,23 @@ import (
 
 // 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:"修改时间"`
+	BaseFromBloombergIndexId int `gorm:"column:base_from_bloomberg_index_id;primaryKey"`
+	//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:"修改时间"`
 }
 
 func (m *BaseFromBloombergIndex) TableName() string {

+ 5 - 3
models/edb_info.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_index_lib/models/mgo"
 	"eta/eta_index_lib/utils"
 	"fmt"
+	"gorm.io/gorm"
 	"strconv"
 	"time"
 
@@ -292,7 +293,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)
 	}
@@ -311,7 +312,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
 	}
@@ -344,7 +345,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
 }