Browse Source

替换gorm

xyxie 3 months ago
parent
commit
ad99cf5e23
30 changed files with 1315 additions and 1285 deletions
  1. 62 59
      models/data_manage/base_from_hisugar.go
  2. 11 7
      models/data_manage/base_from_ly_classify.go
  3. 15 13
      models/data_manage/base_from_ly_data.go
  4. 24 23
      models/data_manage/base_from_ly_index.go
  5. 51 48
      models/data_manage/base_from_mtjh.go
  6. 19 22
      models/data_manage/base_from_national_statistics_classify.go
  7. 19 22
      models/data_manage/base_from_national_statistics_data.go
  8. 45 49
      models/data_manage/base_from_national_statistics_index.go
  9. 47 41
      models/data_manage/base_from_oilchem.go
  10. 10 8
      models/data_manage/base_from_rzd_classify.go
  11. 17 15
      models/data_manage/base_from_rzd_data.go
  12. 22 20
      models/data_manage/base_from_rzd_index.go
  13. 77 66
      models/data_manage/base_from_sci.go
  14. 44 40
      models/data_manage/base_from_sci_classify.go
  15. 53 50
      models/data_manage/base_from_sci_hq_classify.go
  16. 10 11
      models/data_manage/base_from_sci_hq_data.go
  17. 77 81
      models/data_manage/base_from_sci_hq_index.go
  18. 91 77
      models/data_manage/base_from_smm.go
  19. 46 42
      models/data_manage/base_from_smm_classify.go
  20. 38 40
      models/data_manage/base_from_ths_hf.go
  21. 38 44
      models/data_manage/base_from_ths_hf_classify.go
  22. 25 28
      models/data_manage/base_from_ths_hf_data.go
  23. 125 123
      models/data_manage/base_from_trade_index.go
  24. 39 39
      models/data_manage/base_from_usda_fas.go
  25. 38 39
      models/data_manage/base_from_usda_fas_classify.go
  26. 25 25
      models/data_manage/base_from_yongyi.go
  27. 38 39
      models/data_manage/base_from_yongyi_classify.go
  28. 77 83
      models/data_manage/chart_framework.go
  29. 108 106
      models/data_manage/chart_info_correlation.go
  30. 24 25
      models/data_manage/chart_info_range_analysis.go

+ 62 - 59
models/data_manage/base_from_hisugar.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -41,9 +41,9 @@ type BaseFromHisugarData struct {
 }
 
 func GetHisugarClassifyList() (list []*BaseFromHisugarClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_hisugar_classify ORDER BY sort ASC"
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -61,7 +61,7 @@ type BaseFromHisugarIndexList struct {
 	EdbExist               int    `description:"edb是否存在"`
 	DataList               []*BaseFromHisugarData
 	Paging                 *paging.PagingItem `description:"分页数据"`
-	EdbInfoId     int                `description:"指标库主键id"`
+	EdbInfoId              int                `description:"指标库主键id"`
 }
 
 type BaseFromHisugarIndexListResp struct {
@@ -70,72 +70,72 @@ type BaseFromHisugarIndexListResp struct {
 }
 
 func GetHisugarIndexById(indexId int) (item *BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1 base_from_hisugar_index_id = ? `
 	sql += `ORDER BY base_from_hisugar_index_id ASC `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 func GetHisugarIndexByCode(indexCode string) (item *BaseFromHisugarIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.*,CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist,e.edb_info_id
 	FROM base_from_hisugar_index as a 
 LEFT JOIN edb_info AS e ON a.index_code=e.edb_code AND e.source=93 
 	WHERE 1=1 and a.index_code = ? `
 	sql += `ORDER BY a.base_from_hisugar_index_id ASC `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetHisugarIndexList(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += `group BY index_code ASC order by create_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 func GetHisugarIndexListCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetHisugarDataListCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_hisugar_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += ` order by data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetHisugarItemList 模糊查询泛糖科技数据库指标列表
 func GetHisugarItemList(keyword string) (items []*BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_hisugar_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
@@ -149,14 +149,14 @@ type HisugarDataBatchListReq struct {
 
 // GetHisugarIndexByCondition 根据条件获取泛糖科技指标列表
 func GetHisugarIndexByCondition(condition string, pars []interface{}) (items []*BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_hisugar_index_id ASC`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -167,19 +167,24 @@ type HisugarDataBatchAddCheckReq struct {
 
 // GetHisugarIndexAndEdbInfoByCondition 根据条件获取泛糖科技index和指标库的信息
 func GetHisugarIndexAndEdbInfoByCondition(condition string, pars []interface{}) (items []*BaseFromHisugarIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	wherePars := make([]interface{}, 0)
+	wherePars = append(wherePars, utils.DATA_SOURCE_HISUGAR)
+	wherePars = append(wherePars, pars...)
+
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id, e.unique_code, e.classify_id AS edb_classify_id FROM base_from_hisugar_index AS b LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=? WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC `
-	_, err = o.Raw(sql, utils.DATA_SOURCE_HISUGAR, pars).QueryRows(&items)
+
+	err = o.Raw(sql, wherePars...).Find(&items).Error
 	return
 }
 
 type BaseFromHisugarIndexView struct {
-	BaseFromHisugarIndexId int    `orm:"pk"`
+	BaseFromHisugarIndexId int    `orm:"pk" gorm:"primaryKey"`
 	EdbInfoId              int    `description:"指标库id"`
 	ClassifyId             int    `description:"指标分类id"`
 	IndexCode              string `description:"指标编码"`
@@ -207,7 +212,7 @@ type ExportHisugarExcelReq struct {
 
 // GetHisugarIndexByConditionAndFrequency 根据条件获取泛糖科技指标列表
 func GetHisugarIndexByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1 `
 
 	if condition != "" {
@@ -215,26 +220,26 @@ func GetHisugarIndexByConditionAndFrequency(condition, frequency string, pars []
 	}
 	sql += ` AND frequency=?`
 	sql += ` ORDER BY sort ASC, base_from_hisugar_index_id ASC`
-	_, err = o.Raw(sql, pars, frequency).QueryRows(&items)
+	err = o.Raw(sql, pars, frequency).Find(&items).Error
 	return
 }
 
 func GetHisugarDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_hisugar_index AS a
 				INNER JOIN base_from_hisugar_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_hisugar_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
 func GetHisugarIndexDataByCode(indexCode string) (items []*BaseFromHisugarData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
@@ -244,14 +249,14 @@ func GetHisugarFrequencyByCondition(condition string, pars []interface{}) (items
 		sql += condition
 	}
 	sql += ` ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetHisugarIndexViewList 根据分类id获取泛糖科技指标列表
 func GetHisugarIndexViewList(condition string, pars []interface{}) (items []*BaseFromHisugarIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id,
 	CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
 	FROM base_from_hisugar_index AS b
@@ -261,13 +266,13 @@ func GetHisugarIndexViewList(condition string, pars []interface{}) (items []*Bas
 		sql += condition
 	}
 	sql += ` ORDER BY b.modify_time ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetHisugarIndexViewListCount 根据分类id获取泛糖科技指标列表
 func GetHisugarIndexViewListCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count
 	FROM base_from_hisugar_index AS b
 	LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=93
@@ -276,15 +281,15 @@ func GetHisugarIndexViewListCount(condition string, pars []interface{}) (count i
 		sql += condition
 	}
 	sql += ` ORDER BY b.modify_time ASC `
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetHisugarDataViewList 根据指标id获取泛糖科技指标列表
 func GetHisugarDataViewList(indexIds []int) (items []*BaseFromHisugarData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) ORDER BY data_time desc  `
-	_, err = o.Raw(sql, indexIds).QueryRows(&items)
+	err = o.Raw(sql, indexIds).Find(&items).Error
 	return
 }
 
@@ -293,14 +298,14 @@ func GetHisugarDataDataTimeByIndexId(indexIdList []int) (items []string, err err
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
 }
 
 type BaseFromHisugarClassifyItem struct {
-	BaseFromHisugarClassifyId int                            `orm:"column(base_from_hisugar_classify_id);pk"`
+	BaseFromHisugarClassifyId int                            `orm:"column(base_from_hisugar_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName              string                         `description:"分类名称"`
 	ParentId                  int                            `description:"父级id"`
 	Level                     int                            `description:"层级"`
@@ -314,20 +319,20 @@ type BaseFromHisugarClassifyItem struct {
 
 // 获取所有分类
 func GetHisugarClassifyAll() (items []*BaseFromHisugarClassifyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_classify ORDER BY sort ASC, base_from_hisugar_classify_id ASC`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 func GetHisugarIndex(condition string, pars interface{}) (items []*BaseFromHisugarIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_hisugar_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -340,54 +345,52 @@ func GetHisugarIndexDataCountGroup(indexCodes []string) (items []*HisugarIndexDa
 	if len(indexCodes) <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count, index_code FROM base_from_hisugar_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY index_code`
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	return
 }
 
 func GetHisugarIndexDataV2(indexCode string, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
-
 // GetHisugarIndexInfoCount 查询指标信息总数
 func GetHisugarIndexInfoCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
-
 type BaseFromHisugarIndexPage struct {
 	List   []*BaseFromHisugarIndex `description:"指标列表"`
-	Paging *paging.PagingItem     `description:"分页数据"`
+	Paging *paging.PagingItem      `description:"分页数据"`
 }
 
 // GetHisugarIndexInfoPage 分页查询指标信息
 func GetHisugarIndexInfoPage(condition string, pars []interface{}, size int, pageSize int) (items []*BaseFromHisugarIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_hisugar_index_id asc LIMIT ?,?`
-	_, err = o.Raw(sql, pars, size, pageSize).QueryRows(&items)
+	err = o.Raw(sql, pars, size, pageSize).Find(&items).Error
 	return
 
 }
 
 // 获取所有分类
 func GetHisugarClassifyById(classifyId int) (ClassifyIds string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT GROUP_CONCAT(base_from_hisugar_classify_id) AS classify_ids FROM base_from_hisugar_classify WHERE base_from_hisugar_classify_id=? OR parent_id=?`
-	err = o.Raw(sql,classifyId,classifyId).QueryRow(&ClassifyIds)
+	err = o.Raw(sql, classifyId, classifyId).Scan(&ClassifyIds).Error
 	return
-}
+}

+ 11 - 7
models/data_manage/base_from_ly_classify.go

@@ -2,10 +2,14 @@
 // @Author gmy 2024/8/7 9:26:00
 package data_manage
 
-import "github.com/beego/beego/v2/client/orm"
+import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
+	"github.com/beego/beego/v2/client/orm"
+)
 
 type BaseFromLyClassify struct {
-	BaseFromLyClassifyId int    `orm:"column(base_from_ly_classify_id);pk" description:"分类ID"`
+	BaseFromLyClassifyId int    `orm:"column(base_from_ly_classify_id);pk" gorm:"primaryKey" description:"分类ID"`
 	CreateTime           string `orm:"column(create_time)" description:"创建时间"`
 	ModifyTime           string `orm:"column(modify_time)" description:"修改时间"`
 	ClassifyName         string `orm:"column(classify_name)" description:"分类名称"`
@@ -15,7 +19,7 @@ type BaseFromLyClassify struct {
 }
 
 type BaseFromLyClassifyAndIndexInfo struct {
-	BaseFromLyClassifyId int    `orm:"column(base_from_ly_classify_id);pk" description:"分类ID"`
+	BaseFromLyClassifyId int    `orm:"column(base_from_ly_classify_id);pk" gorm:"primaryKey" description:"分类ID"`
 	CreateTime           string `orm:"column(create_time)" description:"创建时间"`
 	ModifyTime           string `orm:"column(modify_time)" description:"修改时间"`
 	ClassifyName         string `orm:"column(classify_name)" description:"分类名称"`
@@ -33,16 +37,16 @@ func init() {
 
 // GetAllLyClassify 查询所有分类
 func GetAllLyClassify() (items []*BaseFromLyClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_ly_classify ORDER BY sort asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetLyClassifyById 根据分类id查询
 func GetLyClassifyById(classifyId int) (item *BaseFromLyClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_ly_classify WHERE base_from_ly_classify_id=?`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }

+ 15 - 13
models/data_manage/base_from_ly_data.go

@@ -3,13 +3,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"strings"
 )
 
 type BaseFromLyData struct {
-	BaseFromLyDataId  int     `orm:"column(base_from_ly_data_id);pk" description:"数据ID"`
+	BaseFromLyDataId  int     `orm:"column(base_from_ly_data_id);pk" gorm:"primaryKey" description:"数据ID"`
 	CreateTime        string  `orm:"column(create_time)" description:"创建时间"`
 	ModifyTime        string  `orm:"column(modify_time)" description:"修改时间"`
 	BaseFromLyIndexId int     `orm:"column(base_from_ly_index_id)" description:"指标id"`
@@ -29,38 +31,38 @@ type BaseFromLyDataPage struct {
 
 // GetLyDataCountByIndexId 获取指标数据总数
 func GetLyDataCountByIndexId(indexId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT count(*) FROM base_from_ly_data WHERE base_from_ly_index_id=?`
-	err = o.Raw(sql, indexId).QueryRow(&count)
+	err = o.Raw(sql, indexId).Scan(&count).Error
 	return
 }
 
 // GetLyDataPageByIndexId 获取指标数据分页列表
 func GetLyDataPageByIndexId(indexId int, startSize, pageSize int) (items []*BaseFromLyData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? ORDER BY data_time desc LIMIT ?,?`
-	_, err = o.Raw(sql, indexId, (startSize-1)*pageSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexId, (startSize-1)*pageSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetBaseFromLyDataByIndexCode 根据指标编码查询
 func GetBaseFromLyDataByIndexCode(indexCode string) (items []*BaseFromLyData, err error) {
 	sql := `SELECT * FROM base_from_ly_data WHERE index_code=? ORDER BY data_time desc`
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetLyDataListByIndexCodes(IndexCodes string) (items []string, err error) {
 	sql := ` SELECT data_time FROM base_from_ly_data WHERE index_code IN(` + IndexCodes + `)  GROUP BY data_time DESC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetLyLastUpdateTimeLastByIndexCode 根据指标编码查询 返回ModifyTime最后一条数据
 func GetLyLastUpdateTimeLastByIndexCode(indexCodes []string) (items []*BaseFromLyData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 将 indexCodes 切片转换为逗号分隔的字符串
 	placeholders := strings.Repeat("?,", len(indexCodes)-1) + "?"
@@ -72,7 +74,7 @@ func GetLyLastUpdateTimeLastByIndexCode(indexCodes []string) (items []*BaseFromL
             GROUP BY index_code`
 
 	// 执行 SQL 查询
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +83,7 @@ func GetLyLastUpdateTimeLastByIndexCode(indexCodes []string) (items []*BaseFromL
 
 // GetLyLastDataTimeByIndexCode 根据指标编码查询 返回data_time最后一条数据的value
 func GetLyLastDataTimeByIndexCode(indexCodes []string) (items []*BaseFromLyData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 将 indexCodes 切片转换为逗号分隔的字符串
 	placeholders := strings.Repeat("?,", len(indexCodes)-1) + "?"
@@ -100,7 +102,7 @@ func GetLyLastDataTimeByIndexCode(indexCodes []string) (items []*BaseFromLyData,
    `
 
 	// 执行 SQL 查询
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}

+ 24 - 23
models/data_manage/base_from_ly_index.go

@@ -3,12 +3,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
+
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromLyIndex struct {
-	BaseFromLyIndexId    int    `orm:"column(base_from_ly_index_id);pk" description:"指标ID"`
+	BaseFromLyIndexId    int    `orm:"column(base_from_ly_index_id);pk" gorm:"primaryKey" description:"指标ID"`
 	CreateTime           string `orm:"column(create_time)" description:"创建时间"`
 	ModifyTime           string `orm:"column(modify_time)" description:"修改时间"`
 	BaseFromLyClassifyId int    `orm:"column(base_from_ly_classify_id)" description:"原始数据指标分类id"`
@@ -45,7 +48,7 @@ type NameCheckResult struct {
 }
 
 type BaseFromLyIndexAndData struct {
-	BaseFromLyIndexId    int     `orm:"column(base_from_ly_index_id);pk" description:"指标ID"`
+	BaseFromLyIndexId    int     `orm:"column(base_from_ly_index_id);pk" gorm:"primaryKey" description:"指标ID"`
 	CreateTime           string  `orm:"column(create_time)" description:"创建时间"`
 	ModifyTime           string  `orm:"column(modify_time)" description:"修改时间"`
 	BaseFromLyClassifyId int     `orm:"column(base_from_ly_classify_id)" description:"原始数据指标分类id"`
@@ -70,20 +73,18 @@ type IndexCheckData struct {
 
 // GetLyIndexByClassifyIds 通过分类ids查询指标列表
 func GetLyIndexByClassifyIds(classifyIds []int) (items []*BaseFromLyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-
-	// 创建查询条件
-	qs := o.QueryTable("base_from_ly_index")
+	o := global.DbMap[utils.DbNameIndex]
 
+	sql := `SELECT * FROM base_from_ly_index WHERE base_from_ly_classify_id in (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
 	// 使用 Filter 进行查询
-	_, err = qs.Filter("base_from_ly_classify_id__in", classifyIds).All(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 
 	return
 }
 
 // GetLyIndexCount 获取指标总数
 func GetLyIndexCount(classifyId string, searchParam string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 构建 SQL 查询语句
 	sql := `SELECT COUNT(*) FROM base_from_ly_index WHERE 1=1`
@@ -103,7 +104,7 @@ func GetLyIndexCount(classifyId string, searchParam string) (count int, err erro
 	}
 
 	// 执行查询
-	err = o.Raw(sql, params...).QueryRow(&count)
+	err = o.Raw(sql, params...).Scan(&count).Error
 	if err != nil {
 		return 0, err
 	}
@@ -112,7 +113,7 @@ func GetLyIndexCount(classifyId string, searchParam string) (count int, err erro
 
 // GetLyIndexPage 获取指标列表
 func GetLyIndexPage(classifyId string, searchParam string, currentIndex, pageSize int) (items []*BaseFromLyIndexAndData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 构建 SQL 查询语句
 	sql := `SELECT * FROM base_from_ly_index WHERE 1=1`
@@ -136,7 +137,7 @@ func GetLyIndexPage(classifyId string, searchParam string, currentIndex, pageSiz
 	params = append(params, (currentIndex-1)*pageSize, pageSize)
 
 	// 执行查询
-	_, err = o.Raw(sql, params...).QueryRows(&items)
+	err = o.Raw(sql, params...).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}
@@ -145,13 +146,13 @@ func GetLyIndexPage(classifyId string, searchParam string, currentIndex, pageSiz
 
 // UpdateLyIndexEdbExist 指标库标记已添加
 func UpdateLyIndexEdbExist(indexCode string, isExist int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 构建 SQL 更新语句
 	sql := `UPDATE base_from_ly_index SET edb_exist = ? WHERE index_code = ?`
 
 	// 执行 SQL 语句
-	_, err = o.Raw(sql, isExist, indexCode).Exec()
+	err = o.Exec(sql, isExist, indexCode).Error
 	if err != nil {
 		return err
 	}
@@ -160,32 +161,32 @@ func UpdateLyIndexEdbExist(indexCode string, isExist int) (err error) {
 
 // GetLyIndexList 根据传入条件查询指标列表
 func GetLyIndexList(condition string, pars interface{}) (items []*BaseFromLyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_ly_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY base_from_ly_index_id ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 // GetLyDataMaxCount 获取分类下指标最大数据量
 func GetLyDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_ly_index AS a
 				INNER JOIN base_from_ly_data AS b ON a.base_from_ly_index_id=b.base_from_ly_index_id
 				WHERE a.base_from_ly_classify_id=?
 				GROUP BY a.base_from_ly_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
 // GetLyIndexByCodeAndClassify 根据指标编码和分类查询 indexCode非必传
 func GetLyIndexByCodeAndClassify(indexCode string, classifyId int, frequency *string) (items []*BaseFromLyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// SQL 查询语句
 	sql := `SELECT a.index_code, a.index_name, a.frequency, a.unit, MAX(b.modify_time) AS modify_time
@@ -213,7 +214,7 @@ func GetLyIndexByCodeAndClassify(indexCode string, classifyId int, frequency *st
 
 	sql += ` GROUP BY a.index_code, a.index_name, a.frequency, a.unit`
 
-	_, err = o.Raw(sql, params...).QueryRows(&items)
+	err = o.Raw(sql, params...).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}
@@ -233,11 +234,11 @@ func GetLyIndexFrequency(classifyId int) (items []*string, err error) {
 
 	sql += ` ORDER BY FIELD(frequency, '日度', '周度', '月度', '季度', '半年度', '年度')`
 
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if classifyId > 0 {
-		_, err = o.Raw(sql, classifyId).QueryRows(&items)
+		err = o.Raw(sql, classifyId).Find(&items).Error
 	} else {
-		_, err = o.Raw(sql).QueryRows(&items)
+		err = o.Raw(sql).Find(&items).Error
 	}
 
 	return items, err

+ 51 - 48
models/data_manage/base_from_mtjh.go

@@ -1,15 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromMtjhMapping struct {
-	BaseFromMtjhMappingId int       `orm:"column(base_from_mtjh_mapping_id);pk"`
+	BaseFromMtjhMappingId int       `orm:"column(base_from_mtjh_mapping_id);pk" gorm:"primaryKey"`
 	IndexName             string    `description:"持买单量指标名称"`
 	IndexCode             string    `description:"持买单量指标编码"`
 	CreateTime            time.Time `description:"时间"`
@@ -21,7 +22,7 @@ type BaseFromMtjhMapping struct {
 }
 
 type BaseFromMtjhIndex struct {
-	BaseFromMtjhIndexId int       `orm:"column(base_from_mtjh_index_id);pk"`
+	BaseFromMtjhIndexId int       `orm:"column(base_from_mtjh_index_id);pk" gorm:"primaryKey"`
 	IndexName           string    `description:"持买单量指标名称"`
 	IndexCode           string    `description:"持买单量指标编码"`
 	DealValue           string    `description:"成交量"`
@@ -36,7 +37,7 @@ type BaseFromMtjhIndex struct {
 }
 
 type BaseFromMtjhIndexItem struct {
-	BaseFromMtjhIndexId int    `orm:"column(base_from_mtjh_index_id);pk"`
+	BaseFromMtjhIndexId int    `orm:"column(base_from_mtjh_index_id);pk" gorm:"primaryKey"`
 	IndexName           string `description:"持买单量指标名称"`
 	IndexCode           string `description:"持买单量指标编码"`
 	DealValue           string `description:"成交量"`
@@ -52,62 +53,64 @@ type BaseFromMtjhIndexItem struct {
 
 // 查询指标
 func GetBaseFromMtjhMapping() (items []*BaseFromMtjhMapping, err error) {
-	o := orm.NewOrm()
+	o := global.DbMap[utils.DbNameMaster]
 	sql := `SELECT * FROM base_from_mtjh_mapping`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromMtjhIndex() (items []*BaseFromMtjhIndex, err error) {
-	o := orm.NewOrm()
+	o := global.DbMap[utils.DbNameMaster]
 	sql := `SELECT * FROM base_from_mtjh_index`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // 添加数据
 func AddBaseFromMtjhIndex(item *BaseFromMtjhIndex) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameMaster]
+	err = o.Create(item).Error
+	lastId = int64(item.BaseFromMtjhIndexId)
 	return
 }
 
 func AddBaseFromMtjhIndexMuti(items []*BaseFromMtjhIndex) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.InsertMulti(500, items)
+	o := global.DbMap[utils.DbNameMaster]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 // 添加指标
 func AddBaseFromMtjhMapping(item *BaseFromMtjhMapping) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameMaster]
+	err = o.Create(item).Error
+	lastId = int64(item.BaseFromMtjhMappingId)
 	return
 }
 
 func AddBaseFromMtjhMappingMuti(items []*BaseFromMtjhMapping) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.InsertMulti(500, items)
+	o := global.DbMap[utils.DbNameMaster]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func UpdateBaseFromMtjhIndex(item *BaseFromMtjhIndex) (err error) {
-	o := orm.NewOrm()
+	o := global.DbMap[utils.DbNameMaster]
 	sql := `UPDATE base_from_mtjh_index SET deal_value=?  WHERE index_name=?  AND  data_time = ?`
-	_, err = o.Raw(sql, item.DealValue, item.IndexName, item.DataTime).Exec()
+	err = o.Exec(sql, item.DealValue, item.IndexName, item.DataTime).Error
 	return
 }
 
 func GetMtjhClassifyList() (list []*BaseFromMtjhMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_mtjh_mapping group by area"
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 type BaseFromMtjhMappingItem struct {
-	BaseFromMtjhMappingId int    `orm:"column(base_from_mtjh_mapping_id);pk"`
+	BaseFromMtjhMappingId int    `orm:"column(base_from_mtjh_mapping_id);pk" gorm:"primaryKey"`
 	IndexName             string `description:"持买单量指标名称"`
 	IndexCode             string `description:"持买单量指标编码"`
 	CreateTime            string `description:"时间"`
@@ -119,18 +122,18 @@ type BaseFromMtjhMappingItem struct {
 }
 
 func GetMtjhMapping(condition string, pars interface{}) (items []*BaseFromMtjhMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mtjh_mapping WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_mtjh_mapping_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 type BaseFromMtjhIndexList struct {
-	BaseFromMtjhMappingId int    `orm:"column(base_from_mtjh_mapping_id);pk"`
+	BaseFromMtjhMappingId int    `orm:"column(base_from_mtjh_mapping_id);pk" gorm:"primaryKey"`
 	IndexName             string `description:"持买单量指标名称"`
 	IndexCode             string `description:"持买单量指标编码"`
 	Area                  string `description:"区域"`
@@ -145,62 +148,62 @@ type BaseFromMtjhIndexList struct {
 }
 
 func GetMtjhIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_mtjh_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 func GetMtjhIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromMtjhIndexItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_mtjh_index WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetMtjhItemList 模糊查询煤炭江湖数据库指标列表
 func GetMtjhItemList(keyword string) (items []*BaseFromMtjhMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_mtjh_mapping WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetBaseFromMtjhIndexByCode(indexCode string) (items []*BaseFromMtjhIndexItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mtjh_index WHERE index_code=? ORDER BY data_time DESC `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // GetMtjhMappingItemByCode
 func GetMtjhMappingItemByCode(indexCode string) (item *BaseFromMtjhMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_mtjh_mapping WHERE index_code=? "
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 // GetMtjhFrequencyByArea
 func GetMtjhFrequencyByArea(area string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT frequency FROM base_from_mtjh_index WHERE area=?  group by area "
-	_, err = o.Raw(sql, area).QueryRows(&items)
+	err = o.Raw(sql, area).Find(&items).Error
 	return
 }
 
 func GetClassifyMtjhByArea(area string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_mtjh_index WHERE area=? `
-	_, err = o.Raw(sql, area).QueryRows(&items)
+	err = o.Raw(sql, area).Find(&items).Error
 	return
 }
 
 func GetCoalMtjhMaxCount(area string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT
-	MAX( t.num ) AS count 
+	COALESCE(MAX(t.num), 0) AS count
 FROM
 	(
 	SELECT
@@ -211,33 +214,33 @@ FROM
 		area =? 
 GROUP BY
 	index_name ) AS t `
-	err = o.Raw(sql, area).QueryRow(&count)
+	err = o.Raw(sql, area).Scan(&count).Error
 	return
 }
 
 func GetMtjhCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT
 		COUNT( 1 ) AS num 
 	FROM
 		base_from_mtjh_index
 	WHERE
 		index_code =? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 func GetMtjhIndexLatestDate(indexCode string) (ModifyTime string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT modify_time FROM base_from_mtjh_index WHERE index_code=? ORDER BY modify_time DESC limit 1 `
-	err = o.Raw(sql, indexCode).QueryRow(&ModifyTime)
+	err = o.Raw(sql, indexCode).Scan(&ModifyTime).Error
 	return
 }
 
 // GetMtjhItemsByCondition 获取煤炭江湖指标
 func GetMtjhItemsByCondition(cond string, pars []interface{}) (items []*BaseFromMtjhMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM base_from_mtjh_mapping WHERE 1=1 %s`, cond)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }

+ 19 - 22
models/data_manage/base_from_national_statistics_classify.go

@@ -1,15 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // BaseFromNationalStatisticsClassify 国统局-指标分类
 type BaseFromNationalStatisticsClassify struct {
-	BaseFromNationalStatisticsClassifyId int       `orm:"column(base_from_national_statistics_classify_id);pk"`
+	BaseFromNationalStatisticsClassifyId int       `orm:"column(base_from_national_statistics_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName                         string    `description:"分类名称"`
 	Id                                   string    `description:"分类ID(字符串)"`
 	Dbcode                               string    `description:"dbcode"`
@@ -25,12 +26,8 @@ func (m *BaseFromNationalStatisticsClassify) TableName() string {
 }
 
 func (m *BaseFromNationalStatisticsClassify) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromNationalStatisticsClassifyId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -38,49 +35,49 @@ func (m *BaseFromNationalStatisticsClassify) CreateMulti(items []*BaseFromNation
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) Del() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `DELETE FROM base_from_national_statistics_classify WHERE base_from_national_statistics_classify_id = ? LIMIT 1`
-	_, err = o.Raw(sql, m.BaseFromNationalStatisticsClassifyId).Exec()
+	err = o.Exec(sql, m.BaseFromNationalStatisticsClassifyId).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_classify WHERE base_from_national_statistics_classify_id = ? LIMIT 1`
-	err = o.Raw(sql, id).QueryRow(&m)
+	err = o.Raw(sql, id).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_classify WHERE 1=1 `
 	sql += condition
 	sql += ` LIMIT 1`
-	err = o.Raw(sql, pars).QueryRow(&m)
+	err = o.Raw(sql, pars...).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromNationalStatisticsClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -90,7 +87,7 @@ func (m *BaseFromNationalStatisticsClassify) GetItemsByCondition(condition strin
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 

+ 19 - 22
models/data_manage/base_from_national_statistics_data.go

@@ -1,15 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // BaseFromNationalStatisticsData 国统局-指标
 type BaseFromNationalStatisticsData struct {
-	BaseFromNationalStatisticsDataId  int       `orm:"column(base_from_national_statistics_data_id);pk"`
+	BaseFromNationalStatisticsDataId  int       `orm:"column(base_from_national_statistics_data_id);pk" gorm:"primaryKey"`
 	BaseFromNationalStatisticsIndexId int       `description:"指标ID"`
 	IndexCode                         string    `description:"指标编码"`
 	DataTime                          time.Time `description:"数据日期"`
@@ -23,12 +24,8 @@ func (m *BaseFromNationalStatisticsData) TableName() string {
 }
 
 func (m *BaseFromNationalStatisticsData) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromNationalStatisticsDataId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -36,49 +33,49 @@ func (m *BaseFromNationalStatisticsData) CreateMulti(items []*BaseFromNationalSt
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) Del() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `DELETE FROM base_from_national_statistics_data WHERE base_from_national_statistics_data_id = ? LIMIT 1`
-	_, err = o.Raw(sql, m.BaseFromNationalStatisticsDataId).Exec()
+	err = o.Exec(sql, m.BaseFromNationalStatisticsDataId).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_data WHERE base_from_national_statistics_data_id = ? LIMIT 1`
-	err = o.Raw(sql, id).QueryRow(&m)
+	err = o.Raw(sql, id).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_data WHERE 1=1 `
 	sql += condition
 	sql += ` LIMIT 1`
-	err = o.Raw(sql, pars).QueryRow(&m)
+	err = o.Raw(sql, pars...).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsData) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromNationalStatisticsData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -88,6 +85,6 @@ func (m *BaseFromNationalStatisticsData) GetItemsByCondition(condition string, p
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }

+ 45 - 49
models/data_manage/base_from_national_statistics_index.go

@@ -1,16 +1,16 @@
 package data_manage
 
 import (
-	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
+	"fmt"
 	"strings"
 	"time"
 )
 
 // BaseFromNationalStatisticsIndex 国统局-指标
 type BaseFromNationalStatisticsIndex struct {
-	BaseFromNationalStatisticsIndexId    int       `orm:"column(base_from_national_statistics_index_id);pk"`
+	BaseFromNationalStatisticsIndexId    int       `orm:"column(base_from_national_statistics_index_id);pk" gorm:"primaryKey"`
 	BaseFromNationalStatisticsClassifyId int       `description:"指标分类ID"`
 	Dbcode                               string    `description:"dbcode"`
 	IndexCode                            string    `description:"指标编码"`
@@ -29,12 +29,8 @@ func (m *BaseFromNationalStatisticsIndex) TableName() string {
 }
 
 func (m *BaseFromNationalStatisticsIndex) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromNationalStatisticsIndexId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -42,49 +38,49 @@ func (m *BaseFromNationalStatisticsIndex) CreateMulti(items []*BaseFromNationalS
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) Del() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `DELETE FROM base_from_national_statistics_index WHERE base_from_national_statistics_index_id = ? LIMIT 1`
-	_, err = o.Raw(sql, m.BaseFromNationalStatisticsIndexId).Exec()
+	err = o.Exec(sql, m.BaseFromNationalStatisticsIndexId).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_index WHERE base_from_national_statistics_index_id = ? LIMIT 1`
-	err = o.Raw(sql, id).QueryRow(&m)
+	err = o.Raw(sql, id).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_index WHERE 1=1 `
 	sql += condition
 	sql += ` LIMIT 1`
-	err = o.Raw(sql, pars).QueryRow(&m)
+	err = o.Raw(sql, pars...).First(&m).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromNationalStatisticsIndex) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, limitNum int) (items []*BaseFromNationalStatisticsIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -98,7 +94,7 @@ func (m *BaseFromNationalStatisticsIndex) GetItemsByCondition(condition string,
 		limit += fmt.Sprintf(` LIMIT %d`, limitNum)
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s %s`, fields, m.TableName(), condition, order, limit)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -114,10 +110,10 @@ func SaveNationalStatisticsIndexAndData(req *SaveNationalStatisticsIndexAndDataR
 	if req.Index == nil {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
@@ -128,20 +124,20 @@ func SaveNationalStatisticsIndexAndData(req *SaveNationalStatisticsIndexAndDataR
 	}()
 
 	if !req.IndexExist {
-		id, e := tx.Insert(req.Index)
-		if e != nil {
-			return e
+		err = tx.Create(req.Index).Error
+		if err != nil {
+			return err
 		}
-		req.Index.BaseFromNationalStatisticsIndexId = int(id)
+		req.Index.BaseFromNationalStatisticsIndexId = int(req.Index.BaseFromNationalStatisticsIndexId)
 	}
 	indexId := req.Index.BaseFromNationalStatisticsIndexId
 	if req.DataList != nil && len(req.DataList) > 0 {
 		for _, d := range req.DataList {
 			d.BaseFromNationalStatisticsIndexId = indexId
 		}
-		_, e := tx.InsertMulti(len(req.DataList), req.DataList)
-		if e != nil {
-			return e
+		err = tx.CreateInBatches(req.DataList, utils.MultiAddNum).Error
+		if err != nil {
+			return err
 		}
 	}
 	return
@@ -149,10 +145,10 @@ func SaveNationalStatisticsIndexAndData(req *SaveNationalStatisticsIndexAndDataR
 
 // BatchSaveNationalStatisticsIndexAndData 批量保存指标和值
 func BatchSaveNationalStatisticsIndexAndData(indexArr []*BaseFromNationalStatisticsIndex, indexDataMap map[string][]*BaseFromNationalStatisticsData) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
@@ -164,11 +160,11 @@ func BatchSaveNationalStatisticsIndexAndData(indexArr []*BaseFromNationalStatist
 
 	// 指标
 	for _, v := range indexArr {
-		id, e := tx.Insert(v)
-		if e != nil {
-			return e
+		err = tx.Create(v).Error
+		if err != nil {
+			return err
 		}
-		indexId := int(id)
+		indexId := v.BaseFromNationalStatisticsIndexId
 
 		// 数据
 		dataList := indexDataMap[v.IndexCode]
@@ -176,9 +172,9 @@ func BatchSaveNationalStatisticsIndexAndData(indexArr []*BaseFromNationalStatist
 			for _, d := range dataList {
 				d.BaseFromNationalStatisticsIndexId = indexId
 			}
-			_, e = tx.InsertMulti(len(dataList), dataList)
-			if e != nil {
-				return e
+			err = tx.CreateInBatches(dataList, utils.MultiAddNum).Error
+			if err != nil {
+				return err
 			}
 		}
 	}
@@ -187,7 +183,7 @@ func BatchSaveNationalStatisticsIndexAndData(indexArr []*BaseFromNationalStatist
 
 // UpdateNationalStatisticsIndexStartEndDate 更新指标开始结束日期
 func UpdateNationalStatisticsIndexStartEndDate() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_national_statistics_index AS a
 			JOIN (
 				SELECT
@@ -200,7 +196,7 @@ func UpdateNationalStatisticsIndexStartEndDate() (err error) {
 					index_code
 			) AS b ON a.index_code = b.index_code
 			SET a.start_date = b.min_time, a.end_date = b.max_time`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }
 
@@ -253,8 +249,8 @@ type BaseFromNationalStatisticsIndexDetailData struct {
 }
 
 func GetBaseFromNationalStatisticsIndexByIndexCode(indexCode string) (item *BaseFromNationalStatisticsIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_national_statistics_index WHERE index_code = ? LIMIT 1`
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }

+ 47 - 41
models/data_manage/base_from_oilchem.go

@@ -1,8 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
+
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -40,9 +41,9 @@ type BaseFromOilchemData struct {
 }
 
 func GetOilchemClassifyList() (list []*BaseFromOilchemClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_oilchem_classify ORDER BY sort ASC"
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -50,7 +51,7 @@ type BaseFromOilchemIndexList struct {
 	BaseFromOilchemIndexId int    // 主键ID
 	IndexCode              string // 指标编码
 	IndexName              string // 指标名称
-	ClassifyId             int   // 分类ID
+	ClassifyId             int    // 分类ID
 	Unit                   string // 单位
 	Frequency              string // 频度
 	Describe               string // 指标描述
@@ -68,72 +69,72 @@ type BaseFromOilchemIndexListResp struct {
 }
 
 func GetOilchemIndexById(indexId int) (item *BaseFromOilchemIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_index WHERE 1=1 base_from_oilchem_index_id = ? `
 	sql += `ORDER BY base_from_oilchem_index_id ASC `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 func GetOilchemIndexByCode(indexCode string) (item *BaseFromOilchemIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.*,CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
 	FROM base_from_oilchem_index as a 
 LEFT JOIN edb_info AS e ON a.index_code=e.edb_code AND e.source=89 
 	WHERE 1=1 and a.index_code = ? `
 	sql += `ORDER BY a.base_from_oilchem_index_id ASC `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetOilchemIndexList(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromOilchemIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += `group BY index_code ASC order by create_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetOilchemIndexListCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_oilchem_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetOilchemDataListCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_oilchem_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetOilchemIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromOilchemData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += ` order by data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetOilchemItemList 模糊查询隆众资讯数据库指标列表
 func GetOilchemItemList(keyword string) (items []*BaseFromOilchemIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_oilchem_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
@@ -147,14 +148,14 @@ type OilchemDataBatchListReq struct {
 
 // GetOilchemIndexByCondition 根据条件获取隆众资讯指标列表
 func GetOilchemIndexByCondition(condition string, pars []interface{}) (items []*BaseFromOilchemIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_oilchem_index_id ASC`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -165,19 +166,23 @@ type OilchemDataBatchAddCheckReq struct {
 
 // GetOilchemIndexAndEdbInfoByCondition 根据条件获取隆众资讯index和指标库的信息
 func GetOilchemIndexAndEdbInfoByCondition(condition string, pars []interface{}) (items []*BaseFromOilchemIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	wherePars := make([]interface{}, 0)
+	wherePars = append(wherePars, utils.DATA_SOURCE_OILCHEM)
+	wherePars = append(wherePars, pars...)
+
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id, e.unique_code, e.classify_id AS edb_classify_id FROM base_from_oilchem_index AS b LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=? WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC `
-	_, err = o.Raw(sql, utils.DATA_SOURCE_OILCHEM, pars).QueryRows(&items)
+	err = o.Raw(sql, wherePars...).Find(&items).Error
 	return
 }
 
 type BaseFromOilchemIndexView struct {
-	BaseFromOilchemIndexId int    `orm:"pk"`
+	BaseFromOilchemIndexId int    `orm:"pk" gorm:"primaryKey"`
 	EdbInfoId              int    `description:"指标库id"`
 	ClassifyId             int    `description:"指标分类id"`
 	IndexCode              string `description:"指标编码"`
@@ -205,7 +210,7 @@ type ExportOilchemExcelReq struct {
 
 // GetOilchemIndexByConditionAndFrequency 根据条件获取隆众资讯指标列表
 func GetOilchemIndexByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromOilchemIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_index WHERE 1=1 `
 
 	if condition != "" {
@@ -213,26 +218,26 @@ func GetOilchemIndexByConditionAndFrequency(condition, frequency string, pars []
 	}
 	sql += ` AND frequency=?`
 	sql += ` ORDER BY sort ASC, base_from_oilchem_index_id ASC`
-	_, err = o.Raw(sql, pars, frequency).QueryRows(&items)
+	err = o.Raw(sql, pars, frequency).Find(&items).Error
 	return
 }
 
 func GetOilchemDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_oilchem_index AS a
 				INNER JOIN base_from_oilchem_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_oilchem_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
 func GetOilchemIndexDataByCode(indexCode string) (items []*BaseFromOilchemData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_oilchem_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
@@ -242,14 +247,14 @@ func GetOilchemFrequencyByCondition(condition string, pars []interface{}) (items
 		sql += condition
 	}
 	sql += ` ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetOilchemIndexViewList 根据分类id获取隆众资讯指标列表
 func GetOilchemIndexViewList(condition string, pars []interface{}, startSize, pageSize int) (items []*BaseFromOilchemIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id,
 	CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
 	FROM base_from_oilchem_index AS b
@@ -259,13 +264,14 @@ func GetOilchemIndexViewList(condition string, pars []interface{}, startSize, pa
 		sql += condition
 	}
 	sql += ` ORDER BY b.modify_time ASC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetOilchemIndexViewListCount 根据分类id获取隆众资讯指标列表
 func GetOilchemIndexViewListCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count
 	FROM base_from_oilchem_index AS b
 	LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=89
@@ -274,15 +280,15 @@ func GetOilchemIndexViewListCount(condition string, pars []interface{}) (count i
 		sql += condition
 	}
 	sql += ` ORDER BY b.modify_time ASC `
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetOilchemDataViewList 根据指标id获取隆众资讯指标列表
 func GetOilchemDataViewList(indexIds []int) (items []*BaseFromOilchemData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_oilchem_data WHERE base_from_oilchem_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `)ORDER BY data_time desc  `
-	_, err = o.Raw(sql, indexIds).QueryRows(&items)
+	err = o.Raw(sql, indexIds).Find(&items).Error
 	return
 }
 
@@ -291,8 +297,8 @@ func GetOilchemDataDataTimeByIndexId(indexIdList []int) (items []string, err err
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_oilchem_data WHERE base_from_oilchem_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
-}
+}

+ 10 - 8
models/data_manage/base_from_rzd_classify.go

@@ -2,11 +2,13 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromRzdClassify struct {
-	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id);pk"`
+	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id);pk" gorm:"primaryKey"`
 	CreateTime            string `orm:"column(create_time)"`
 	ModifyTime            string `orm:"column(modify_time)"`
 	ClassifyName          string `orm:"column(classify_name)"`
@@ -16,7 +18,7 @@ type BaseFromRzdClassify struct {
 }
 
 type BaseFromRzdClassifyResponse struct {
-	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id);pk"`
+	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id);pk" gorm:"primaryKey"`
 	CreateTime            string `orm:"column(create_time)"`
 	ModifyTime            string `orm:"column(modify_time)"`
 	ClassifyName          string `orm:"column(classify_name)"`
@@ -33,18 +35,18 @@ func init() {
 
 // GetAllRzdClassify 查询所有分类
 func GetAllRzdClassify() (items []*BaseFromRzdClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_rzd_classify ORDER BY sort asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetRzdClassifyItemByClassifyId 根据分类id查询分类信息
 func GetRzdClassifyItemByClassifyId(classifyId int) (item *BaseFromRzdClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_classify WHERE base_from_rzd_classify_id = ?`
 
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	if err != nil {
 		return
 	}
@@ -52,9 +54,9 @@ func GetRzdClassifyItemByClassifyId(classifyId int) (item *BaseFromRzdClassify,
 }
 
 func GetRzdClassifyItemByParentId(parentId int) (items []*BaseFromRzdClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_classify WHERE parent_id = ?`
 
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }

+ 17 - 15
models/data_manage/base_from_rzd_data.go

@@ -2,12 +2,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
+
 	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromRzdData struct {
-	BaseFromRzdDataId  int     `orm:"column(base_from_rzd_data_id);pk"`
+	BaseFromRzdDataId  int     `orm:"column(base_from_rzd_data_id);pk" gorm:"primaryKey"`
 	BaseFromRzdIndexId int     `orm:"column(base_from_rzd_index_id)"`
 	CreateTime         string  `orm:"column(create_time)"`
 	DataTime           string  `orm:"column(data_time)"`
@@ -40,34 +42,34 @@ func GetRzdIndexDataCountGroup(indexCodes []string) (items []*RzdIndexDataCountG
 	if len(indexCodes) <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count, index_code FROM base_from_rzd_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY index_code`
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	return
 }
 
 func GetRzdIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromRzdData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetBaseFormRzdDataByIndexCode 根据指标编码查询
 func GetBaseFormRzdDataByIndexCode(indexCode string) (items []*BaseFromRzdData, err error) {
 	sql := `SELECT * FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time desc`
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetBaseFormRzdDataByConditionCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT count(1) FROM base_from_rzd_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	if err != nil {
 		return 0, err
 	}
@@ -75,26 +77,26 @@ func GetBaseFormRzdDataByConditionCount(condition string, pars interface{}) (cou
 }
 
 func GetBaseFormRzdDataByCondition(condition string, pars interface{}) (items []*BaseFromRzdData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_data WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 // GetRzdDataListByIndexCodes 根据指标编码查询
 func GetRzdDataListByIndexCodes(IndexCodes string) (items []string, err error) {
 	sql := ` SELECT data_time FROM base_from_rzd_data WHERE index_code IN(` + IndexCodes + `)  GROUP BY data_time DESC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetRzdLastUpdateTimeLastByIndexCode 根据指标编码查询 返回ModifyTime最后一条数据
 func GetRzdLastUpdateTimeLastByIndexCode(indexCodes []string) (items []*BaseFromRzdData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 构造 SQL 查询
 	sql := `SELECT t1.index_code, t1.data_time, t2.value
@@ -107,7 +109,7 @@ func GetRzdLastUpdateTimeLastByIndexCode(indexCodes []string) (items []*BaseFrom
 			JOIN base_from_rzd_data AS t2 ON t1.index_code = t2.index_code AND t1.data_time = t2.data_time`
 
 	// 执行 SQL 查询
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}

+ 22 - 20
models/data_manage/base_from_rzd_index.go

@@ -3,14 +3,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
+
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromRzdIndex struct {
-	BaseFromRzdIndexId    int    `orm:"column(base_from_rzd_index_id);pk"`
+	BaseFromRzdIndexId    int    `orm:"column(base_from_rzd_index_id);pk" gorm:"primaryKey"`
 	CreateTime            string `orm:"column(create_time)"`
 	ModifyTime            string `orm:"column(modify_time)"`
 	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id)"`
@@ -21,7 +23,7 @@ type BaseFromRzdIndex struct {
 }
 
 type BaseFromRzdIndexAndData struct {
-	BaseFromRzdIndexId    int     `orm:"column(base_from_rzd_index_id);pk"`
+	BaseFromRzdIndexId    int     `orm:"column(base_from_rzd_index_id);pk" gorm:"primaryKey"`
 	CreateTime            string  `orm:"column(create_time)"`
 	ModifyTime            string  `orm:"column(modify_time)"`
 	BaseFromRzdClassifyId int     `orm:"column(base_from_rzd_classify_id)"`
@@ -39,7 +41,7 @@ type BaseFromRzdIndexPage struct {
 }
 
 type BaseFromRzdIndexList struct {
-	BaseFromRzdIndexId    int    `orm:"column(base_from_rzd_index_id);pk"`
+	BaseFromRzdIndexId    int    `orm:"column(base_from_rzd_index_id);pk" gorm:"primaryKey"`
 	CreateTime            string `orm:"column(create_time)"`
 	ModifyTime            string `orm:"column(modify_time)"`
 	BaseFromRzdClassifyId int    `orm:"column(base_from_rzd_classify_id)"`
@@ -85,10 +87,10 @@ func init() {
 
 // GetRzdIndexByClassifyIds 根据分类id获取指标信息
 func GetRzdIndexByClassifyIds(classifyIds []int) (items []*BaseFromRzdIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	sql := fmt.Sprintf(`SELECT * FROM base_from_rzd_index WHERE base_from_rzd_classify_id IN (`+utils.GetOrmInReplace(len(classifyIds))) + `)`
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}
@@ -97,33 +99,33 @@ func GetRzdIndexByClassifyIds(classifyIds []int) (items []*BaseFromRzdIndex, err
 }
 
 func GetRzdIndex(condition string, pars interface{}) (items []*BaseFromRzdIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_rzd_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func GetRzdIndexNotExistEdbInfoCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT count(1) FROM base_from_rzd_index WHERE index_code not in (select edb_code from edb_info) `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetRzdIndexNotExistEdbInfoPage(condition string, pars interface{}) (items []*BaseFromRzdIndexAndData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_index WHERE index_code not in (select edb_code from edb_info) `
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -140,11 +142,11 @@ func GetRzdIndexFrequency(classifyIdList []int) (items []*string, err error) {
 
 	sql += ` ORDER BY FIELD(frequency, '日度', '周度', '月度', '季度', '半年度', '年度')`
 
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if len(classifyIdList) > 0 {
-		_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+		err = o.Raw(sql, classifyIdList).Find(&items).Error
 	} else {
-		_, err = o.Raw(sql).QueryRows(&items)
+		err = o.Raw(sql).Find(&items).Error
 	}
 
 	return items, err
@@ -152,7 +154,7 @@ func GetRzdIndexFrequency(classifyIdList []int) (items []*string, err error) {
 
 // GetRzdIndexByCodeAndClassify 根据指标编码和分类查询 indexCode非必传
 func GetRzdIndexByCodeAndClassify(indexCode string, classifyIdList []int, frequency *string) (items []*BaseFromRzdIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// SQL 查询语句
 	sql := `SELECT a.index_code, a.index_name, a.frequency, a.unit, MAX(b.modify_time) AS modify_time
@@ -182,7 +184,7 @@ func GetRzdIndexByCodeAndClassify(indexCode string, classifyIdList []int, freque
 
 	sql += ` GROUP BY a.index_code, a.index_name, a.frequency, a.unit`
 
-	_, err = o.Raw(sql, params...).QueryRows(&items)
+	err = o.Raw(sql, params...).Find(&items).Error
 	if err != nil {
 		return nil, err
 	}
@@ -191,23 +193,23 @@ func GetRzdIndexByCodeAndClassify(indexCode string, classifyIdList []int, freque
 
 // GetRzdIndexInfoCount 分页查询指标信息行数
 func GetRzdIndexInfoCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT count(1) FROM base_from_rzd_index WHERE index_code not in (select edb_code from edb_info) `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetRzdIndexInfoPage 分页查询指标信息
 func GetRzdIndexInfoPage(condition string, pars []interface{}) (items []*BaseFromRzdIndexAndData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_rzd_index WHERE index_code not in (select edb_code from edb_info) `
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 
 }

+ 77 - 66
models/data_manage/base_from_sci.go

@@ -1,15 +1,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromSci struct {
-	BaseFromSciId int `orm:"column(base_from_sci_id);pk"`
+	BaseFromSciId int `orm:"column(base_from_sci_id);pk" gorm:"primaryKey"`
 	Aid           int
 	Name          string
 	Interface     string
@@ -35,27 +34,31 @@ type BaseFromSci struct {
 }
 
 func AddBaseFromSci(item *BaseFromSci) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromSciId)
 	return
 }
 
 func GetBaseFromSciList() (list []*BaseFromSci, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 func GetBaseFromSciBySciCode(sciCode string) (item *BaseFromSci, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci WHERE interface=?`
-	err = o.Raw(sql, sciCode).QueryRow(&item)
+	err = o.Raw(sql, sciCode).First(&item).Error
 	return
 }
 
 type BaseFromSciIndex struct {
-	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk"`
+	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk" gorm:"primaryKey"`
 	ClassifyId         int
 	Interface          string
 	IndexCode          string
@@ -70,20 +73,24 @@ type BaseFromSciIndex struct {
 }
 
 func AddBaseFromSciIndex(item *BaseFromSciIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromSciIndexId)
 	return
 }
 
 func GetBaseFromSciIndex() (list []*BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_index `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 type BaseFromSciData struct {
-	SciDataId          int `orm:"column(sci_data_id);pk"`
+	SciDataId          int `orm:"column(sci_data_id);pk" gorm:"primaryKey"`
 	BaseFromSciIndexId int
 	IndexCode          string
 	DataTime           string
@@ -94,110 +101,114 @@ type BaseFromSciData struct {
 }
 
 func AddBaseFromSciData(item *BaseFromSciData) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.SciDataId)
 	return
 }
 
 func GetBaseFromSciDataAll() (list []*BaseFromSciData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_data `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 func ModifyBaseFromSciData(sciDataId int, value string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_data SET value=?,modify_time=NOW() WHERE sci_data_id=? `
-	_, err = o.Raw(sql, value, sciDataId).Exec()
+	err = o.Exec(sql, value, sciDataId).Error
 	return
 }
 
 func GetBaseFromSciIndexBySciCode(sciCode string) (list []*BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_index WHERE interface=? `
-	_, err = o.Raw(sql, sciCode).QueryRows(&list)
+	err = o.Raw(sql, sciCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromSciMaxOrMinDate(indexCode string) (min_date, max_date string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM base_from_sci_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&min_date, &max_date)
+	err = o.Raw(sql, indexCode).Row().Scan(&min_date, &max_date)
 	return
 }
 
 func ModifyBaseFromSciMinDateAndMaxDate(baseFromSciIndexId int, minDate, maxDate string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_sci_index SET start_date=?,end_date=?,modify_time=NOW() WHERE base_from_sci_index_id=? `
-	_, err = o.Raw(sql, minDate, maxDate, baseFromSciIndexId).Exec()
+	err = o.Exec(sql, minDate, maxDate, baseFromSciIndexId).Error
 	return
 }
 
 func GetBaseFromSciDataAllByIndexCode(indexCode string) (list []*BaseFromSciData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromSciIndexByIndexCode(indexCode string) (list *BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&list)
+	err = o.Raw(sql, indexCode).First(&list).Error
 	return
 }
 
 // GetBaseFromSciIndexCountByClassifyIds 获取分类下指标的个数
 func GetBaseFromSciIndexCountByClassifyIds(classifyIds []int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIds)
 	if num <= 0 {
 		return
 	}
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_index WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Raw(sql, classifyIds).QueryRow(&count)
+	err = o.Raw(sql, classifyIds).Scan(&count).Error
 	return
 }
 
 // GetBaseFromSciIndexByClassifyId 获取根据分类查询指标
 func GetBaseFromSciIndexByClassifyId(classifyId int) (list []*BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_index WHERE classify_id =? ORDER BY sort ASC, base_from_sci_index_id ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&list)
+	err = o.Raw(sql, classifyId).Find(&list).Error
 	return
 }
 
 // GetSciIndexAll 用于分类展示
 func GetSciIndexAll() (items []*BaseFromSciClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_sci_index_id, classify_id, index_name as classify_name, index_code as base_from_sci_index_code
             FROM base_from_sci_index ORDER BY sort ASC, base_from_sci_index_id ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetBaseFromSciIndexByIndexId 根据指标id获取指标信息
 func GetBaseFromSciIndexByIndexId(indexId int) (item *BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_index WHERE base_from_sci_index_id=? `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 
 // GetBaseFromSciIndexMaxSortByClassifyId 根据指标id获取指标信息
 func GetBaseFromSciIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT max(sort) FROM base_from_sci_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_sci_index WHERE classify_id=? `
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
 // GetBaseFromSciIndexMinSortByClassifyId 获取最小不等于0的排序
 func GetBaseFromSciIndexMinSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT min(sort) FROM base_from_sci_index WHERE classify_id=? and sort <> 0 `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
@@ -208,90 +219,90 @@ type BaseFromSciIndexType struct {
 
 // GetBaseFromSciIndexType 获取历史指标信息类型
 func GetBaseFromSciIndexType() (list []BaseFromSciIndexType, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT type_2, type_3 from base_from_sci_index where type_2 <> "" GROUP BY type_2, type_3`
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 // MoveBaseFromSciIndex 移动指标分类
 func MoveBaseFromSciIndex(chartInfoId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_sci_index
 			SET
 			  classify_id = ?, modify_time=NOW() 
 			WHERE base_from_sci_index_id = ?`
-	_, err = o.Raw(sql, classifyId, chartInfoId).Exec()
+	err = o.Exec(sql, classifyId, chartInfoId).Error
 	return
 }
 
 // UpdateBaseFromSciIndexByClassifyId 根据指标id更新排序
 func UpdateBaseFromSciIndexByClassifyId(classifyId, nowSort, prevIndexInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_sci_index set sort = ` + updateSort + ` WHERE classify_id=? AND  `
 	if prevIndexInfoId > 0 {
 		sql += ` ( sort > ? or (base_from_sci_index_id > ` + fmt.Sprint(prevIndexInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
 	}
-	_, err = o.Raw(sql, classifyId, nowSort).Exec()
+	err = o.Exec(sql, classifyId, nowSort).Error
 	return
 }
 
 // MoveUpSciIndexBySort 往上移动
 func MoveUpSciIndexBySort(classifyId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_index set sort = sort + 1 where classify_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, classifyId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownSciIndexBySort 往下移动
 func MoveDownSciIndexBySort(classifyId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_index set sort = sort - 1 where classify_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, classifyId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, prevSort, currentSort).Error
 	return
 }
 
 // GetFirstBaseFromSciIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromSciIndexByClassifyId(classifyId int) (item *BaseFromSciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_index WHERE classify_id=? order by sort asc,base_from_sci_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // Update 更新Sci指标基础信息
 func (item *BaseFromSciIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
 // DeleteBaseFromSciIndexById 根据指标id删除对应的指标、指标数据
 func DeleteBaseFromSciIndexById(sciIndexId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 
 	//删除指标
 	sql := `DELETE FROM base_from_sci_index WHERE base_from_sci_index_id = ? `
-	_, err = to.Raw(sql, sciIndexId).Exec()
+	err = tx.Exec(sql, sciIndexId).Error
 	if err != nil {
 		return
 	}
 
 	//删除指标数据
 	sql = `DELETE FROM base_from_sci_data WHERE base_from_sci_index_id = ? `
-	_, err = to.Raw(sql, sciIndexId).Exec()
+	err = tx.Exec(sql, sciIndexId).Error
 	if err != nil {
 		return
 	}

+ 44 - 40
models/data_manage/base_from_sci_classify.go

@@ -1,15 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // BaseFromSciClassify SMM原始数据分类表
 type BaseFromSciClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk"`
+	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName    string    `description:"分类名称"`
 	ParentId        int       `description:"父级id"`
 	SysUserId       int       `description:"创建人id"`
@@ -23,16 +23,20 @@ type BaseFromSciClassify struct {
 
 // AddBaseFromSciClassify 添加SMM原始数据分类
 func AddBaseFromSciClassify(item *BaseFromSciClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return 0, err
+	}
+	lastId = int64(item.ClassifyId)
 	return
 }
 
 // GetBaseFromSciClassifyCount 获取分类名称的个数
 func GetBaseFromSciClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
@@ -45,25 +49,25 @@ func GetBaseFromSciClassifyCount(classifyName string, parentId int) (count int,
 // @return count int
 // @return err error
 func GetBaseFromSciClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_classify WHERE classify_name_en=? AND parent_id=? `
-	err = o.Raw(sql, classifyNameEn, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyNameEn, parentId).Scan(&count).Error
 	return
 }
 
 // GetBaseFromSciClassifyById 通过分类id的获取分类信息
 func GetBaseFromSciClassifyById(classifyId int) (item *BaseFromSciClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_sci_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // EditBaseFromSciClassify 修改SMM原始数据分类
 func EditBaseFromSciClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = o.Exec(sql, classifyName, classifyId).Error
 	return
 }
 
@@ -75,17 +79,17 @@ func EditBaseFromSciClassify(classifyId int, classifyName string) (err error) {
 // @param classifyNameEn string
 // @return err error
 func EditBaseFromSciClassifyEn(classifyId int, classifyNameEn string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_classify SET classify_name_en = ?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyNameEn, classifyId).Exec()
+	err = o.Exec(sql, classifyNameEn, classifyId).Error
 	return
 }
 
 // UpdateBaseFromSciClassifySort 修改SMM原始数据分类的排序
 func UpdateBaseFromSciClassifySort(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Exec(sql, classifyId).Error
 	return
 }
 
@@ -128,17 +132,17 @@ type BaseFromSciClassifyItemsButton struct {
 
 // GetBaseFromSciClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromSciClassifyByParentId(parentId int) (items []*BaseFromSciClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromSciClassify 获取所有的分类列表数据
 func GetAllBaseFromSciClassify() (items []*BaseFromSciClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_classify WHERE parent_id <> 0 order by sort asc,classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -160,51 +164,51 @@ type BaseFromSciClassifySimplify struct {
 
 // GetFirstBaseFromSciClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromSciClassify() (item *BaseFromSciClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).First(&item).Error
 	return
 }
 
 // UpdateBaseFromSciClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromSciClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_sci_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // MoveUpSciIndexClassifyBySort 往上移动
 func MoveUpSciIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, parentId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownSciIndexClassifyBySort 往下移动
 func MoveDownSciIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, parentId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, prevSort, currentSort).Error
 	return
 }
 
 // GetSciIndexClassifyMinSort 获取最小不等于0的排序
 func GetSciIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `select min(sort) from base_from_sci_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromSciClassify *BaseFromSciClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromSciClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(BaseFromSciClassify).Select(cols).Updates(BaseFromSciClassify).Error
 	return
 }
 
@@ -214,36 +218,36 @@ type AddSciClassifyResp struct {
 
 // DeleteSciClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteSciClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 	//删除分类
 	sql := `DELETE FROM base_from_sci_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).Exec()
+	err = o.Exec(sql, classifyIdList).Error
 	return
 }
 
 // AddSciClassifyMulti 批量新增SMM类别
 func AddSciClassifyMulti(list []*BaseFromSciClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, list)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(list, utils.MultiAddNum).Error
 	return
 }
 
 // InitSciClassifySort 初始化sort值
 func InitSciClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_classify 
 SET modify_time=NOW(), sort = classify_id`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }
 
 // InitSciIndexClassifyId 历史数据的classifyId值
 func InitSciIndexClassifyId() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_index s
 LEFT JOIN (
 SELECT
@@ -254,6 +258,6 @@ FROM
 	LEFT JOIN base_from_sci_classify c2 ON c1.parent_id = c2.classify_id 
 	) AS t ON CONCAT( s.type_2, s.type_3 ) = t.type_name
 	SET s.classify_id = t.classify_id, s.modify_time=NOW() where s.type_2 <>""`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }

+ 53 - 50
models/data_manage/base_from_sci_hq_classify.go

@@ -1,15 +1,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // BaseFromSciHqClassify 卓创红期原始数据分类表
 type BaseFromSciHqClassify struct {
-	ClassifyId     int       `orm:"column(classify_id);pk"`
+	ClassifyId     int       `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName   string    `description:"分类名称"`
 	ParentId       int       `description:"父级id"`
 	Level          int       `description:"层级"`
@@ -20,7 +19,7 @@ type BaseFromSciHqClassify struct {
 }
 
 type BaseFromSciHqClassifyItem struct {
-	ClassifyId     int                          `orm:"column(classify_id);pk"`
+	ClassifyId     int                          `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName   string                       `description:"分类名称"`
 	ParentId       int                          `description:"父级id"`
 	Level          int                          `description:"层级"`
@@ -38,76 +37,80 @@ type BaseFromSciHqClassifyMaxSort struct {
 }
 
 func (t *BaseFromSciHqClassify) Add() (insertId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	insertId, err = o.Insert(t)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(t).Error
+	if err != nil {
+		return 0, err
+	}
+	insertId = int64(t.ClassifyId)
 	return
 }
 
 func (t *BaseFromSciHqClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(t, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(t).Select(cols).Updates(t).Error
 	return
 }
 
 func BatchAddSciHqClassify(items []*BaseFromSciHqClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 // 获取所有分类
 func GetSciHqClassifyAll() (items []*BaseFromSciHqClassifyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_classify ORDER BY sort ASC, classify_id ASC`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetChildSciHqClassifyListById 获取子分类列表
 func GetChildSciHqClassifyListById(classifyId int) (items []*BaseFromSciHqClassifyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_classify WHERE parent_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 // GetChildSciHqClassifyIdsById 获取子分类的id集合
 func GetChildSciHqClassifyIdsById(classifyId int) (items []int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT classify_id FROM base_from_sci_hq_classify WHERE parent_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 // GetChildSciHqClassifyMaxSortById 获取子分类最大排序
 func GetChildSciHqClassifyMaxSortById(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT MAX(sort) AS sort FROM base_from_sci_hq_classify WHERE parent_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := ` SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_sci_hq_classify WHERE parent_id=? `
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
 // GetSciHqClassifyCountById 获取分类数量
 func GetSciHqClassifyCountById(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(*) AS count FROM base_from_sci_hq_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
 // GetSciHqClassifyById 通过分类id获取分类
 func GetSciHqClassifyById(classifyId int) (item *BaseFromSciHqClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // GetSciHqChildClassifyById 通过分类id获取子分类
 func GetSciHqChildClassifyIdsById(classifyId int) (items []int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT classify_id FROM base_from_sci_hq_classify WHERE parent_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
@@ -116,43 +119,43 @@ func GetSciHqClassifyListByIds(classifyIds []int) (items []*BaseFromSciHqClassif
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_classify WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // GetSciHqClassifyCountByName 通过分类名称获取分类
 func GetSciHqClassifyCountByName(classifyName string, lang string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(*) AS count FROM base_from_sci_hq_classify WHERE 1=1`
 	if lang == utils.EnLangVersion {
 		sql += ` AND classify_name_en=? `
 	} else {
 		sql += ` AND classify_name=? `
 	}
-	err = o.Raw(sql, classifyName).QueryRow(&count)
+	err = o.Raw(sql, classifyName).Scan(&count).Error
 	return
 }
 
 func GetBaseFromSciHqClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_hq_classify WHERE classify_name_en=? AND parent_id=? `
-	err = o.Raw(sql, classifyNameEn, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyNameEn, parentId).Scan(&count).Error
 	return
 }
 
 func GetBaseFromSciHqClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_hq_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
 func DeleteSciHqClassifyById(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` DELETE FROM base_from_sci_hq_classify WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Exec(sql, classifyId).Error
 	return
 }
 
@@ -161,57 +164,57 @@ func BatchDeleteSciHqClassifyById(classifyId []int) (err error) {
 	if len(classifyId) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	sql := ` DELETE FROM base_from_sci_hq_classify WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyId)) + `) `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = tx.Exec(sql, classifyId).Error
 
 	return
 }
 
 // DeleteSciHqClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteSciHqClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 	//删除分类
 	sql := `DELETE FROM base_from_sci_hq_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).Exec()
+	err = o.Exec(sql, classifyIdList).Error
 	return
 }
 
 // GetSciHqIndexClassifyMinSort 获取最小不等于0的排序
 func GetSciHqIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT MIN(sort) FROM base_from_sci_hq_classify WHERE parent_id=? AND sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // MoveUpSciHqIndexClassifyBySort 往上移动
 func MoveUpSciHqIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_hq_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, parentId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownSciHqIndexClassifyBySort 往下移动
 func MoveDownSciHqIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_hq_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, parentId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, prevSort, currentSort).Error
 	return
 }

+ 10 - 11
models/data_manage/base_from_sci_hq_data.go

@@ -1,14 +1,13 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromSciHqData struct {
-	SciHqDataId          int       `orm:"column(sci_hq_data_id);pk"`
+	SciHqDataId          int       `orm:"column(sci_hq_data_id);pk" gorm:"primaryKey"`
 	BaseFromSciHqIndexId int       `description:"指标id"`
 	IndexCode            string    `description:"指标编码"`
 	DataTime             string    `description:"数据日期"`
@@ -20,9 +19,9 @@ type BaseFromSciHqData struct {
 
 // GetSciHqDataByIndexId 根据指标id获取指标数据
 func GetSciHqDataByIndexId(indexId int) (items []*BaseFromSciHqData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id=? ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexId).QueryRows(&items)
+	err = o.Raw(sql, indexId).Find(&items).Error
 	return
 }
 
@@ -31,22 +30,22 @@ func GetSciHqDataDataTimeByIndexId(indexIdList []int) (items []string, err error
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
 }
 
 func GetSciHqIndexDataByCode(indexCode string) (items []*BaseFromSciHqData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_sci_hq_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetSciHqIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_sci_hq_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }

+ 77 - 81
models/data_manage/base_from_sci_hq_index.go

@@ -1,14 +1,13 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 type BaseFromSciHqIndex struct {
-	BaseFromSciHqIndexId int       `orm:"pk"`
+	BaseFromSciHqIndexId int       `orm:"pk" gorm:"primaryKey"`
 	ClassifyId           int       `description:"指标分类id"`
 	IndexCode            string    `description:"指标编码"`
 	IndexName            string    `description:"指标名称"`
@@ -26,7 +25,7 @@ type BaseFromSciHqIndex struct {
 }
 
 type BaseFromSciHqIndexView struct {
-	BaseFromSciHqIndexId int     `orm:"pk"`
+	BaseFromSciHqIndexId int     `orm:"pk" gorm:"primaryKey"`
 	EdbInfoId            int     `description:"指标库id"`
 	ClassifyId           int     `description:"指标分类id"`
 	IndexCode            string  `description:"指标编码"`
@@ -44,27 +43,27 @@ type BaseFromSciHqIndexView struct {
 }
 
 func (b *BaseFromSciHqIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(b, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(b).Select(cols).Updates(b).Error
 	return
 }
 
 // GetSciHqIndexByCondition 根据条件获取卓创红期指标列表
 func GetSciHqIndexByCondition(condition string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_sci_hq_index_id ASC`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetSciHqIndexByCondition 根据条件获取卓创红期指标列表
 func GetSciHqIndexByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE 1=1 `
 
 	if condition != "" {
@@ -72,48 +71,51 @@ func GetSciHqIndexByConditionAndFrequency(condition, frequency string, pars []in
 	}
 	sql += ` AND frequency=?`
 	sql += ` ORDER BY sort ASC, base_from_sci_hq_index_id ASC`
-	_, err = o.Raw(sql, pars, frequency).QueryRows(&items)
+	err = o.Raw(sql, pars, frequency).Find(&items).Error
 	return
 }
 
 func GetSciHqIndexCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(*) AS count FROM base_from_sci_hq_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_sci_hq_index_id ASC`
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetSciHqIndexAndEdbInfoByCondition 根据条件获取卓创红期index和指标库的信息
 func GetSciHqIndexAndEdbInfoByCondition(condition string, pars []interface{}) (items []*BaseFromSciHqIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	wherePars := make([]interface{}, 0)
+	wherePars = append(wherePars, utils.DATA_SOURCE_SCI_HQ)
+	wherePars = append(wherePars, pars...)
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id FROM base_from_sci_hq_index AS b LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=? WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC `
-	_, err = o.Raw(sql, utils.DATA_SOURCE_SCI_HQ, pars).QueryRows(&items)
+	err = o.Raw(sql, wherePars...).Find(&items).Error
 	return
 }
 
 // GetSciHqIndexByIndexCode 根据指标编码获取指标信息
 func GetSciHqIndexByIndexCode(indexCode string) (item *BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 // GetSciHqIndexByIndexId 根据指标id获取指标信息
 func GetSciHqIndexByIndexId(indexId int) (item *BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE base_from_sci_hq_index_id=? `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 
@@ -122,33 +124,33 @@ func GetSciHqIndexListByIndexIds(indexIds []int) (items []*BaseFromSciHqIndex, e
 	if len(indexIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE base_from_sci_hq_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) `
-	_, err = o.Raw(sql, indexIds).QueryRows(&items)
+	err = o.Raw(sql, indexIds).Find(&items).Error
 	return
 }
 
 // GetSciHqIndexCountByClassifyIds 获取分类下指标的个数
 func GetSciHqIndexCountByClassifyIds(classifyIds []int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIds)
 	if num <= 0 {
 		return
 	}
 	sql := `SELECT COUNT(1) AS count FROM base_from_sci_hq_index WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Raw(sql, classifyIds).QueryRow(&count)
+	err = o.Raw(sql, classifyIds).Scan(&count).Error
 	return
 }
 
 // GetSciHqIndexByClassifyId 根据分类id获取卓创红期指标列表
 func GetSciHqIndexByClassifyId(classifyIds []int, startSize, pageSize int) (items []*BaseFromSciHqIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id,
 	CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
 	FROM base_from_sci_hq_index AS b
 	LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=88
 	WHERE b.classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) ORDER BY b.sort ASC LIMIT ?,? `
-	_, err = o.Raw(sql, classifyIds, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, classifyIds, startSize, pageSize).Find(&items).Error
 	return
 }
 
@@ -157,74 +159,74 @@ func GetSciHqIndexCountByClassifyId(classifyIds []int) (count int, err error) {
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(*) AS count FROM base_from_sci_hq_index WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) `
-	err = o.Raw(sql, classifyIds).QueryRow(&count)
+	err = o.Raw(sql, classifyIds).Scan(&count).Error
 	return
 }
 
 // GetSciHqIndexCount 获取卓创红期指标数量
 func GetSciHqIndexCount() (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(*) AS count FROM base_from_sci_hq_index `
-	err = o.Raw(sql).QueryRow(&count)
+	err = o.Raw(sql).Scan(&count).Error
 	return
 }
 
 func GetSciHqIndexByPage(startSize, pageSize int) (items []*BaseFromSciHqIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.*, e.edb_info_id,
 	CASE WHEN e.edb_info_id IS NULL THEN 0 ELSE 1 END AS edb_exist
 	FROM base_from_sci_hq_index AS b
 	LEFT JOIN edb_info AS e ON b.index_code=e.edb_code AND e.source=88
 	ORDER BY b.modify_time DESC LIMIT ?,?`
-	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetSciHqIndexBaseInfoByClassifyId 根据分类id获取卓创红期指标列表
 func GetSciHqIndexBaseInfoByClassifyId(classifyId int) (items []*BaseFromSciHqIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_sci_hq_index_id, classify_id, index_code, index_name, CONCAT(classify_id, '_', base_from_sci_hq_index_id) AS unique_code  FROM base_from_sci_hq_index WHERE classify_id = ? ORDER BY sort ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 // GetSciHqIndexBaseInfoByClassifyId 根据分类id获取卓创红期指标列表
 func GetSciHqIndexBaseInfoByCondition(condition string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_sci_hq_index_id, index_code, index_name  FROM base_from_sci_hq_index WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC `
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func GetSciHqDataMaxCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM ( SELECT COUNT(1) AS num  FROM base_from_sci_hq_index AS a INNER JOIN base_from_sci_hq_data AS b ON a.index_code=b.index_code WHERE 1=1  `
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM ( SELECT COUNT(1) AS num  FROM base_from_sci_hq_index AS a INNER JOIN base_from_sci_hq_data AS b ON a.index_code=b.index_code WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` GROUP BY a.base_from_sci_hq_index_id) AS t `
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetSciHqIndexMaxSortByClassifyId 根据分类id获取指标最大排序
 func GetSciHqIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(sort) FROM base_from_sci_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_sci_index WHERE classify_id=? `
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
 func GetSciHqFrequency(classifyId int) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_hq_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
@@ -234,15 +236,15 @@ func GetSciHqFrequencyByCondition(condition string, pars []interface{}) (items [
 		sql += condition
 	}
 	sql += ` ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func GetSciHqFrequencyByCode(code string) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_hq_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, code).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, code).Find(&items).Error
 	return
 }
 
@@ -251,7 +253,7 @@ func GetSciHqClassifyMaxSortByClassifyIds(classifyIds []int) (items []*BaseFromS
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT bc.classify_id, COALESCE(MAX(bi.sort), 0) AS max_sort FROM base_from_sci_hq_classify  AS bc
 	LEFT JOIN base_from_sci_hq_index AS bi
 	ON bc.classify_id=bi.classify_id  
@@ -259,22 +261,16 @@ func GetSciHqClassifyMaxSortByClassifyIds(classifyIds []int) (items []*BaseFromS
 	GROUP BY bc.classify_id
 	`
 	// sql = ` SELECT classify_id, MAX(sort) AS max_sort FROM base_from_sci_hq_index WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) GROUP BY classify_id `
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 func BatchModifySciHqIndexClassify(items []*BaseFromSciHqIndex) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_sci_hq_index SET classify_id=?, sort=? WHERE base_from_sci_hq_index_id=? `
-	p, err := o.Raw(sql).Prepare()
-	if err != nil {
-		return
-	}
-	defer func() {
-		p.Close()
-	}()
+
 	for _, v := range items {
-		_, err = p.Exec(v.ClassifyId, v.Sort, v.BaseFromSciHqIndexId)
+		err = o.Exec(sql, v.ClassifyId, v.Sort, v.BaseFromSciHqIndexId).Error
 		if err != nil {
 			return
 		}
@@ -284,41 +280,41 @@ func BatchModifySciHqIndexClassify(items []*BaseFromSciHqIndex) (err error) {
 
 // MoveDownSciHqIndexBySort 往下移动
 func MoveDownSciHqIndexBySort(classifyId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_hq_index set sort = sort - 1 where classify_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, classifyId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, prevSort, currentSort).Error
 	return
 }
 
 // MoveUpSciHqIndexBySort 往上移动
 func MoveUpSciHqIndexBySort(classifyId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_sci_hq_index set sort = sort + 1 where classify_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, classifyId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, nextSort, currentSort).Error
 	return
 }
 
 func DeleteSciHqIndexById(indexId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 
 	sql := `DELETE FROM base_from_sci_hq_index WHERE base_from_sci_hq_index_id=? `
-	_, err = to.Raw(sql, indexId).Exec()
+	err = tx.Exec(sql, indexId).Error
 	if err != nil {
 		return
 	}
 	sql = `DELETE FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id=? `
-	_, err = to.Raw(sql, indexId).Exec()
+	err = tx.Exec(sql, indexId).Error
 	if err != nil {
 		return
 	}
@@ -329,25 +325,25 @@ func DeleteSciHqIndexByIds(indexIds []int) (err error) {
 	if len(indexIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	sql := `DELETE FROM base_from_sci_hq_index WHERE base_from_sci_hq_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) `
-	_, err = o.Raw(sql, indexIds).Exec()
+	err = tx.Exec(sql, indexIds).Error
 	if err != nil {
 		return
 	}
 	sql = `DELETE FROM base_from_sci_hq_data WHERE base_from_sci_hq_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) `
-	_, err = o.Raw(sql, indexIds).Exec()
+	err = tx.Exec(sql, indexIds).Error
 	if err != nil {
 		return
 	}
@@ -356,19 +352,19 @@ func DeleteSciHqIndexByIds(indexIds []int) (err error) {
 
 // MoveSciHqIndex 移动指标分类
 func MoveSciHqIndex(indexId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_sci_hq_index
 			SET
 			  classify_id = ?, modify_time=NOW() 
 			WHERE base_from_sci_hq_index_id = ?`
-	_, err = o.Raw(sql, classifyId, indexId).Exec()
+	err = o.Exec(sql, classifyId, indexId).Error
 	return
 }
 
 // GetSciHqIndexMinSortByClassifyId 获取最小不等于0的排序
 func GetSciHqIndexMinSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT min(sort) FROM base_from_sci_hq_index WHERE classify_id=? and sort <> 0 `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }

+ 91 - 77
models/data_manage/base_from_smm.go

@@ -1,15 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromSmm struct {
-	BaseFromSmmId int `orm:"column(base_from_smm_id);pk"`
+	BaseFromSmmId int `orm:"column(base_from_smm_id);pk" gorm:"primaryKey"`
 	Aid           int
 	Name          string
 	Interface     string
@@ -35,27 +36,31 @@ type BaseFromSmm struct {
 }
 
 func AddBaseFromSmm(item *BaseFromSmm) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromSmmId)
 	return
 }
 
 func GetBaseFromSmmList() (list []*BaseFromSmm, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 func GetBaseFromSmmBySmmCode(smmCode string) (item *BaseFromSmm, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm WHERE interface=?`
-	err = o.Raw(sql, smmCode).QueryRow(&item)
+	err = o.Raw(sql, smmCode).First(&item).Error
 	return
 }
 
 type BaseFromSmmIndex struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey"`
 	ClassifyId         int
 	Interface          string
 	Name               string
@@ -82,20 +87,24 @@ type BaseFromSmmIndex struct {
 }
 
 func AddBaseFromSmmIndex(item *BaseFromSmmIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromSmmIndexId)
 	return
 }
 
 func GetBaseFromSmmIndex() (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_index `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 type BaseFromSmmData struct {
-	SmmDataId          int `orm:"column(smm_data_id);pk"`
+	SmmDataId          int `orm:"column(smm_data_id);pk" gorm:"primaryKey"`
 	BaseFromSmmIndexId int
 	IndexCode          string
 	DataTime           string
@@ -106,110 +115,114 @@ type BaseFromSmmData struct {
 }
 
 func AddBaseFromSmmData(item *BaseFromSmmData) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.SmmDataId)
 	return
 }
 
 func GetBaseFromSmmDataAll() (list []*BaseFromSmmData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_data `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 func ModifyBaseFromSmmData(smmDataId int, value string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_data SET value=?,modify_time=NOW() WHERE smm_data_id=? `
-	_, err = o.Raw(sql, value, smmDataId).Exec()
+	err = o.Exec(sql, value, smmDataId).Error
 	return
 }
 
 func GetBaseFromSmmIndexBySmmCode(smmCode string) (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE interface=? `
-	_, err = o.Raw(sql, smmCode).QueryRows(&list)
+	err = o.Raw(sql, smmCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromSmmMaxOrMinDate(indexCode string) (min_date, max_date string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM base_from_smm_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&min_date, &max_date)
+	err = o.Raw(sql, indexCode).Row().Scan(&min_date, &max_date)
 	return
 }
 
 func ModifyBaseFromSmmMinDateAndMaxDate(baseFromSmmIndexId int, minDate, maxDate string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_smm_index SET start_date=?,end_date=?,modify_time=NOW() WHERE base_from_smm_index_id=? `
-	_, err = o.Raw(sql, minDate, maxDate, baseFromSmmIndexId).Exec()
+	err = o.Exec(sql, minDate, maxDate, baseFromSmmIndexId).Error
 	return
 }
 
 func GetBaseFromSmmDataAllByIndexCode(indexCode string) (list []*BaseFromSmmData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromSmmIndexByIndexCode(indexCode string) (list *BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&list)
+	err = o.Raw(sql, indexCode).First(&list).Error
 	return
 }
 
 // GetBaseFromSmmIndexCountByClassifyIds 获取分类下指标的个数
 func GetBaseFromSmmIndexCountByClassifyIds(classifyIds []int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIds)
 	if num <= 0 {
 		return
 	}
 	sql := `SELECT COUNT(1) AS count FROM base_from_smm_index WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Raw(sql, classifyIds).QueryRow(&count)
+	err = o.Raw(sql, classifyIds).Scan(&count).Error
 	return
 }
 
 // GetBaseFromSmmIndexByClassifyId 获取根据分类查询指标
 func GetBaseFromSmmIndexByClassifyId(classifyId int) (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_index WHERE classify_id =? ORDER BY sort ASC, base_from_smm_index_id ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&list)
+	err = o.Raw(sql, classifyId).Find(&list).Error
 	return
 }
 
 // GetSmmIndexAll 用于分类展示
 func GetSmmIndexAll() (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_smm_index_id, classify_id, index_name as classify_name, index_code as base_from_smm_index_code
             FROM base_from_smm_index ORDER BY sort ASC, base_from_smm_index_id ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetBaseFromSmmIndexByIndexId 根据指标id获取指标信息
 func GetBaseFromSmmIndexByIndexId(indexId int) (item *BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id=? `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 
 // GetBaseFromSmmIndexMaxSortByClassifyId 根据指标id获取指标信息
 func GetBaseFromSmmIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT max(sort) FROM base_from_smm_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_smm_index WHERE classify_id=? `
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
 // GetBaseFromSmmIndexMinSortByClassifyId 获取最小不等于0的排序
 func GetBaseFromSmmIndexMinSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT min(sort) FROM base_from_smm_index WHERE classify_id=? and sort <> 0 `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
@@ -220,90 +233,90 @@ type BaseFromSmmIndexType struct {
 
 // GetBaseFromSmmIndexType 获取历史指标信息类型
 func GetBaseFromSmmIndexType() (list []BaseFromSmmIndexType, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT type_2, type_3 from base_from_smm_index where type_2 <> "" GROUP BY type_2, type_3`
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
 // MoveBaseFromSmmIndex 移动指标分类
 func MoveBaseFromSmmIndex(chartInfoId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_smm_index
 			SET
 			  classify_id = ?, modify_time=NOW() 
 			WHERE base_from_smm_index_id = ?`
-	_, err = o.Raw(sql, classifyId, chartInfoId).Exec()
+	err = o.Exec(sql, classifyId, chartInfoId).Error
 	return
 }
 
 // UpdateBaseFromSmmIndexByClassifyId 根据指标id更新排序
 func UpdateBaseFromSmmIndexByClassifyId(classifyId, nowSort, prevIndexInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_smm_index set sort = ` + updateSort + ` WHERE classify_id=? AND  `
 	if prevIndexInfoId > 0 {
 		sql += ` ( sort > ? or (base_from_smm_index_id > ` + fmt.Sprint(prevIndexInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
 	}
-	_, err = o.Raw(sql, classifyId, nowSort).Exec()
+	err = o.Exec(sql, classifyId, nowSort).Error
 	return
 }
 
 // MoveUpSmmIndexBySort 往上移动
 func MoveUpSmmIndexBySort(classifyId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_smm_index set sort = sort + 1 where classify_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, classifyId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownSmmIndexBySort 往下移动
 func MoveDownSmmIndexBySort(classifyId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_smm_index set sort = sort - 1 where classify_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, classifyId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, classifyId, prevSort, currentSort).Error
 	return
 }
 
 // GetFirstBaseFromSmmIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromSmmIndexByClassifyId(classifyId int) (item *BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE classify_id=? order by sort asc,base_from_smm_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // Update 更新Smm指标基础信息
 func (item *BaseFromSmmIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
 // DeleteBaseFromSmmIndexById 根据指标id删除对应的指标、指标数据
 func DeleteBaseFromSmmIndexById(smmIndexId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		return tx.Error
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 
 	//删除指标
 	sql := `DELETE FROM base_from_smm_index WHERE base_from_smm_index_id = ? `
-	_, err = to.Raw(sql, smmIndexId).Exec()
+	err = tx.Exec(sql, smmIndexId).Error
 	if err != nil {
 		return
 	}
 
 	//删除指标数据
 	sql = `DELETE FROM base_from_smm_data WHERE base_from_smm_index_id = ? `
-	_, err = to.Raw(sql, smmIndexId).Exec()
+	err = tx.Exec(sql, smmIndexId).Error
 	if err != nil {
 		return
 	}
@@ -343,8 +356,9 @@ func GetSmmIndexDataList(condition, sortStr string, pars []interface{}, startSiz
 	}
 	sql += ` ORDER BY ` + sortStr
 	sql += `  limit ?,? `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -354,8 +368,8 @@ func GetSmmIndexDataListCount(condition string, pars []interface{}) (total int,
 	if condition != "" {
 		sql += condition
 	}
-	o := orm.NewOrmUsingDB("data")
-	err = o.Raw(sql, pars).QueryRow(&total)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Scan(&total).Error
 	return
 }
 
@@ -365,7 +379,7 @@ type BaseFromSmmIndexListResp struct {
 }
 
 type BaseFromSmmIndexItem struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey"`
 	ClassifyId         int
 	Interface          string
 	Name               string
@@ -398,9 +412,9 @@ type BaseFromSmmIndexTypeList struct {
 
 // GetBaseFromSmmIndexTypeList
 func GetBaseFromSmmIndexTypeList() (list []BaseFromSmmIndexTypeList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT type_1,type_2, type_3 from base_from_smm_index GROUP BY type_1,type_2,type_3 `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -415,15 +429,15 @@ func GetSmmIndexDataListNoPage(condition string, pars []interface{}) (items []*B
 	if condition != "" {
 		sql += condition
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func GetBaseFromSmmIndexByIndexCodes(indexCodes string) (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE index_code IN (` + indexCodes + `)`
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 

+ 46 - 42
models/data_manage/base_from_smm_classify.go

@@ -1,15 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // BaseFromSmmClassify SMM原始数据分类表
 type BaseFromSmmClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk"`
+	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName    string    `description:"分类名称"`
 	ParentId        int       `description:"父级id"`
 	SysUserId       int       `description:"创建人id"`
@@ -23,16 +23,20 @@ type BaseFromSmmClassify struct {
 
 // AddBaseFromSmmClassify 添加SMM原始数据分类
 func AddBaseFromSmmClassify(item *BaseFromSmmClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.ClassifyId)
 	return
 }
 
 // GetBaseFromSmmClassifyCount 获取分类名称的个数
 func GetBaseFromSmmClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_smm_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
@@ -45,25 +49,25 @@ func GetBaseFromSmmClassifyCount(classifyName string, parentId int) (count int,
 // @return count int
 // @return err error
 func GetBaseFromSmmClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_smm_classify WHERE classify_name_en = ? AND parent_id = ? `
-	err = o.Raw(sql, classifyNameEn, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyNameEn, parentId).Scan(&count).Error
 	return
 }
 
 // GetBaseFromSmmClassifyById 通过分类id的获取分类信息
 func GetBaseFromSmmClassifyById(classifyId int) (item *BaseFromSmmClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_smm_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // EditBaseFromSmmClassify 修改SMM原始数据分类
 func EditBaseFromSmmClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = o.Exec(sql, classifyName, classifyId).Error
 	return
 }
 
@@ -75,17 +79,17 @@ func EditBaseFromSmmClassify(classifyId int, classifyName string) (err error) {
 // @param classifyNameEn string
 // @return err error
 func EditBaseFromSmmClassifyEn(classifyId int, classifyNameEn string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_classify SET classify_name_en = ?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyNameEn, classifyId).Exec()
+	err = o.Exec(sql, classifyNameEn, classifyId).Error
 	return
 }
 
 // UpdateBaseFromSmmClassifySort 修改SMM原始数据分类的排序
 func UpdateBaseFromSmmClassifySort(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Exec(sql, classifyId).Error
 	return
 }
 
@@ -128,25 +132,25 @@ type BaseFromSmmClassifyItemsButton struct {
 
 // GetBaseFromSmmClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromSmmClassifyByParentId(parentId int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetBaseFromSmmClassifyByIds 根据id获取当下的分类列表数据
 func GetBaseFromSmmClassifyByIds(classifyIds []int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id > 0 and classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc, classify_id asc`
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromSmmClassify 获取所有的分类列表数据
 func GetAllBaseFromSmmClassify() (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id <> 0 order by sort asc,classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -168,51 +172,51 @@ type BaseFromSmmClassifySimplify struct {
 
 // GetFirstBaseFromSmmClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromSmmClassify() (item *BaseFromSmmClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).First(&item).Error
 	return
 }
 
 // UpdateBaseFromSmmClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromSmmClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_smm_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // MoveUpSmmIndexClassifyBySort 往上移动
 func MoveUpSmmIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_smm_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, parentId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownSmmIndexClassifyBySort 往下移动
 func MoveDownSmmIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_smm_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, parentId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, prevSort, currentSort).Error
 	return
 }
 
 // GetSmmIndexClassifyMinSort 获取最小不等于0的排序
 func GetSmmIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `select min(sort) from base_from_smm_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromSmmClassify *BaseFromSmmClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromSmmClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(BaseFromSmmClassify).Select(cols).Updates(BaseFromSmmClassify).Error
 	return
 }
 
@@ -222,36 +226,36 @@ type AddSmmClassifyResp struct {
 
 // DeleteSmmClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteSmmClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 	//删除分类
 	sql := `DELETE FROM base_from_smm_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).Exec()
+	err = o.Exec(sql, classifyIdList).Error
 	return
 }
 
 // AddSmmClassifyMulti 批量新增SMM类别
 func AddSmmClassifyMulti(list []*BaseFromSmmClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, list)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(list, utils.MultiAddNum).Error
 	return
 }
 
 // InitSmmClassifySort 初始化sort值
 func InitSmmClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_classify 
 SET modify_time=NOW(), sort = classify_id`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }
 
 // InitSmmIndexClassifyId 历史数据的classifyId值
 func InitSmmIndexClassifyId() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_smm_index s
 LEFT JOIN (
 SELECT
@@ -262,6 +266,6 @@ FROM
 	LEFT JOIN base_from_smm_classify c2 ON c1.parent_id = c2.classify_id 
 	) AS t ON CONCAT( s.type_2, s.type_3 ) = t.type_name
 	SET s.classify_id = t.classify_id, s.modify_time=NOW() where s.type_2 <>""`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }

+ 38 - 40
models/data_manage/base_from_ths_hf.go

@@ -1,12 +1,13 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // TODO:有时间还是放在配置里面吧...
@@ -19,7 +20,7 @@ var (
 
 // BaseFromThsHfIndex 同花顺高频数据
 type BaseFromThsHfIndex struct {
-	BaseFromThsHfIndexId    int       `orm:"column(base_from_ths_hf_index_id);pk"`
+	BaseFromThsHfIndexId    int       `orm:"column(base_from_ths_hf_index_id);pk" gorm:"primaryKey"`
 	BaseFromThsHfClassifyId int       `description:"分类ID"`
 	IndexCode               string    `description:"指标编码"`
 	IndexName               string    `description:"指标名称"`
@@ -97,12 +98,8 @@ func (m *BaseFromThsHfIndex) Cols() BaseFromThsHfIndexCols {
 }
 
 func (m *BaseFromThsHfIndex) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromThsHfIndexId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -110,21 +107,21 @@ func (m *BaseFromThsHfIndex) CreateMulti(items []*BaseFromThsHfIndex) (err error
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.BaseFromThsHfIndexId).Exec()
+	err = o.Exec(sql, m.BaseFromThsHfIndexId).Error
 	return
 }
 
@@ -132,9 +129,9 @@ func (m *BaseFromThsHfIndex) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Exec(sql, ids).Error
 	return
 }
 
@@ -142,39 +139,39 @@ func (m *BaseFromThsHfIndex) RemoveByCondition(condition string, pars []interfac
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = o.Exec(sql, pars...).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) GetItemById(id int) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = o.Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -184,12 +181,12 @@ func (m *BaseFromThsHfIndex) GetItemsByCondition(condition string, pars []interf
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *BaseFromThsHfIndex) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -199,7 +196,8 @@ func (m *BaseFromThsHfIndex) GetPageItemsByCondition(condition string, pars []in
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -249,9 +247,9 @@ func (m *BaseFromThsHfIndex) UpdateClassifyMulti(ids []int, classifyId int) (err
 	if len(ids) == 0 || classifyId <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`UPDATE %s SET %s = ?, %s = NOW() WHERE %s IN (%s)`, m.TableName(), m.Cols().BaseFromThsHfClassifyId, m.Cols().ModifyTime, m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, classifyId, ids).Exec()
+	err = o.Exec(sql, classifyId, ids).Error
 	return
 }
 
@@ -407,38 +405,38 @@ type ThsHfIndexPageListResp struct {
 }
 
 func GetThsHfIndexById(indexId int) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_ths_hf_index WHERE base_from_ths_hf_index_id = ?`
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).First(&item).Error
 	return
 }
 
 // UpdateThsHfIndexSortByClassifyId 根据分类id更新排序
 func UpdateThsHfIndexSortByClassifyId(classifyId, nowSort int, prevEdbInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_ths_hf_index set sort = ` + updateSort + ` WHERE base_from_ths_hf_classify_id=?`
 	if prevEdbInfoId > 0 {
 		sql += ` AND ( sort > ? or ( base_from_ths_hf_index_id > ` + fmt.Sprint(prevEdbInfoId) + ` and sort=` + fmt.Sprint(nowSort) + ` )) `
 	} else {
 		sql += ` AND ( sort > ? )`
 	}
-	_, err = o.Raw(sql, classifyId, nowSort).Exec()
+	err = o.Exec(sql, classifyId, nowSort).Error
 	return
 }
 
 // GetThsHfIndexMaxSortByClassifyId 获取分类下指标的最大的排序数
 func GetThsHfIndexMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT Max(sort) AS sort FROM base_from_ths_hf_index WHERE base_from_ths_hf_classify_id = ?`
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_ths_hf_index WHERE base_from_ths_hf_classify_id = ?`
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
 	return
 }
 
 // GetFirstThsHfIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstThsHfIndexByClassifyId(classifyId int) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_ths_hf_index WHERE base_from_ths_hf_classify_id = ? order by sort asc,base_from_ths_hf_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 

+ 38 - 44
models/data_manage/base_from_ths_hf_classify.go

@@ -1,16 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // BaseFromThsHfClassify 同花顺高频数据-分类
 type BaseFromThsHfClassify struct {
-	BaseFromThsHfClassifyId int       `orm:"column(base_from_ths_hf_classify_id);pk"`
+	BaseFromThsHfClassifyId int       `orm:"column(base_from_ths_hf_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName            string    `description:"分类名称"`
 	ClassifyNameEn          string    `description:"英文分类名称"`
 	ParentId                int       `description:"父级ID"`
@@ -64,12 +64,8 @@ func (m *BaseFromThsHfClassify) Cols() BaseFromThsHfClassifyCols {
 }
 
 func (m *BaseFromThsHfClassify) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromThsHfClassifyId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -77,21 +73,21 @@ func (m *BaseFromThsHfClassify) CreateMulti(items []*BaseFromThsHfClassify) (err
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.BaseFromThsHfClassifyId).Exec()
+	err = o.Exec(sql, m.BaseFromThsHfClassifyId).Error
 	return
 }
 
@@ -99,9 +95,9 @@ func (m *BaseFromThsHfClassify) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Exec(sql, ids).Error
 	return
 }
 
@@ -109,39 +105,39 @@ func (m *BaseFromThsHfClassify) RemoveByCondition(condition string, pars []inter
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = o.Exec(sql, pars...).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetItemById(id int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = o.Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -151,12 +147,12 @@ func (m *BaseFromThsHfClassify) GetItemsByCondition(condition string, pars []int
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -166,7 +162,8 @@ func (m *BaseFromThsHfClassify) 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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -209,9 +206,9 @@ type ThsHfClassifyEditReq struct {
 }
 
 func (m *BaseFromThsHfClassify) GetSortMax(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := fmt.Sprintf(`SELECT Max(%s) FROM %s WHERE %s = ?`, m.Cols().Sort, m.TableName(), m.Cols().ParentId)
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := fmt.Sprintf(`SELECT COALESCE(Max(%s), 0) as sort FROM %s WHERE %s = ?`, m.Cols().Sort, m.TableName(), m.Cols().ParentId)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
@@ -245,53 +242,50 @@ type BaseFromThsHfClassifyMoveReq struct {
 }
 
 func GetThsHfClassifyById(classifyId int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_ths_hf_classify WHERE base_from_ths_hf_classify_id = ?`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 func GetThsHfClassifyByRootIdLevel(rootId int, orderStr string) (items []*BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_ths_hf_classify WHERE root_id = ? `
 	if orderStr != "" {
 		sql += orderStr
 	} else {
 		sql += ` order by level desc, sort asc, base_from_ths_hf_classify_id asc`
 	}
-	_, err = o.Raw(sql, rootId).QueryRows(&items)
+	err = o.Raw(sql, rootId).Find(&items).Error
 	return
 }
 
 // UpdateThsHfClassifySortByParentId 根据父类id更新排序
 func UpdateThsHfClassifySortByParentId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_ths_hf_classify set sort = ` + updateSort + ` WHERE parent_id = ? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( base_from_ths_hf_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // GetFirstThsHfClassifyByParentId 获取当前父级分类下,且排序数相同 的排序第一条的数据
 func GetFirstThsHfClassifyByParentId(parentId int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_ths_hf_classify WHERE parent_id = ? order by sort asc,base_from_ths_hf_classify_id asc limit 1`
-	err = o.Raw(sql, parentId).QueryRow(&item)
+	err = o.Raw(sql, parentId).First(&item).Error
 	return
 }
 
 func UpdateThsHfClassifyChildByParentClassifyId(classifyIds []int, rootId int, levelStep int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	var pars []interface{}
 	pars = append(pars, rootId, levelStep)
 	pars = append(pars, classifyIds)
 	// 更新相关联的二级分类的parentId,和classify_name_second
 	sql := `update base_from_ths_hf_classify SET root_id = ?, level = level+? where base_from_ths_hf_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
-	_, err = o.Raw(sql, pars).Exec()
-	if err != nil {
-		return
-	}
+	err = o.Exec(sql, pars...).Error
 	return
 }

+ 25 - 28
models/data_manage/base_from_ths_hf_data.go

@@ -1,16 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // BaseFromThsHfData 同花顺高频数据-指标数据
 type BaseFromThsHfData struct {
-	BaseFromThsHfDataId  int       `orm:"column(base_from_ths_hf_data_id);pk"`
+	BaseFromThsHfDataId  int       `orm:"column(base_from_ths_hf_data_id);pk" gorm:"primaryKey"`
 	BaseFromThsHfIndexId int       `description:"指标ID"`
 	IndexCode            string    `description:"指标编码"`
 	DataTime             time.Time `description:"数据日期(至时分秒)"`
@@ -52,12 +52,8 @@ func (m *BaseFromThsHfData) Cols() BaseFromThsHfDataCols {
 }
 
 func (m *BaseFromThsHfData) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.BaseFromThsHfDataId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
@@ -65,21 +61,21 @@ func (m *BaseFromThsHfData) CreateMulti(items []*BaseFromThsHfData) (err error)
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func (m *BaseFromThsHfData) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(m).Error
 	return
 }
 
 func (m *BaseFromThsHfData) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.BaseFromThsHfDataId).Exec()
+	err = o.Exec(sql, m.BaseFromThsHfDataId).Error
 	return
 }
 
@@ -87,9 +83,9 @@ func (m *BaseFromThsHfData) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Exec(sql, ids).Error
 	return
 }
 
@@ -97,39 +93,39 @@ func (m *BaseFromThsHfData) RemoveByCondition(condition string, pars []interface
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = o.Exec(sql, pars...).Error
 	return
 }
 
 func (m *BaseFromThsHfData) GetItemById(id int) (item *BaseFromThsHfData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = o.Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfData) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromThsHfData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	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 = o.Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *BaseFromThsHfData) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func (m *BaseFromThsHfData) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromThsHfData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -139,12 +135,12 @@ func (m *BaseFromThsHfData) GetItemsByCondition(condition string, pars []interfa
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *BaseFromThsHfData) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromThsHfData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -154,7 +150,8 @@ func (m *BaseFromThsHfData) GetPageItemsByCondition(condition string, pars []int
 		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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 

+ 125 - 123
models/data_manage/base_from_trade_index.go

@@ -1,14 +1,16 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromTradeShanghaiIndex struct {
-	BaseFromTradeShangHaiIndexId int `orm:"column(base_from_trade_shanghai_index_id);pk"`
+	BaseFromTradeShangHaiIndexId int `orm:"column(base_from_trade_shanghai_index_id);pk" gorm:"primaryKey"`
 	Rank                         int
 	DealShortName                string
 	DealName                     string
@@ -33,7 +35,7 @@ type BaseFromTradeShanghaiIndex struct {
 	DataTime                     string
 }
 type BaseFromTradeCffexIndex struct {
-	BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk"`
+	BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk" gorm:"primaryKey"`
 	Rank                      int
 	DealShortName             string
 	DealName                  string
@@ -59,7 +61,7 @@ type BaseFromTradeCffexIndex struct {
 }
 
 type BaseFromTradeIneIndex struct {
-	BaseFromTradeIneIndexId int `orm:"column(base_from_trade_ine_index_id);pk"`
+	BaseFromTradeIneIndexId int `orm:"column(base_from_trade_ine_index_id);pk" gorm:"primaryKey"`
 	Rank                    int
 	DealShortName           string
 	DealName                string
@@ -85,7 +87,7 @@ type BaseFromTradeIneIndex struct {
 }
 
 type BaseFromTradeEicIndex struct {
-	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk"`
+	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk" gorm:"primaryKey"`
 	Country                string
 	Type                   string
 	EicCode                string
@@ -115,95 +117,95 @@ type BaseFromTradeEicIndex struct {
 }
 
 func GetBaseFromTradeIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if classifyName == "" {
 		sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=?"
-		_, err = o.Raw(sql, date).QueryRows(&list)
+		err = o.Raw(sql, date).Find(&list).Error
 		return
 	} else if classifyType == "" {
 		sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? ORDER BY classify_type,`rank`"
-		_, err = o.Raw(sql, date, classifyName).QueryRows(&list)
+		err = o.Raw(sql, date, classifyName).Find(&list).Error
 		return
 	} else {
 		sql := "SELECT * FROM base_from_trade_" + exchange + "_index where data_time=? and classify_name=? and classify_type=?"
-		_, err = o.Raw(sql, date, classifyName, classifyType).QueryRows(&list)
+		err = o.Raw(sql, date, classifyName, classifyType).Find(&list).Error
 		return
 	}
 }
 
 func GetExchangeClassify(exchange, dataTime string) (classifyName []string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT DISTINCT classify_name FROM base_from_trade_" + exchange + "_index where data_time=? ORDER BY CONVERT(classify_name using gbk) DESC"
-	_, err = o.Raw(sql, dataTime).QueryRows(&classifyName)
+	err = o.Raw(sql, dataTime).Scan(&classifyName).Error
 	return
 }
 
 func GetLatestDate(exchange string) (dataTime string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT data_time FROM base_from_trade_" + exchange + "_index ORDER BY data_time desc limit 1"
-	err = o.Raw(sql).QueryRow(&dataTime)
+	err = o.Raw(sql).Scan(&dataTime).Error
 	return
 }
 
 func GetExchangeClassifyContract(exchange, Classify, dataTime string) (classifyName []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT DISTINCT classify_type FROM base_from_trade_" + exchange + "_index where classify_name=? and data_time=?"
-	_, err = o.Raw(sql, Classify, dataTime).QueryRows(&classifyName)
+	err = o.Raw(sql, Classify, dataTime).Scan(&classifyName).Error
 	return
 }
 
 func GetContinentEicDate(date string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and type='continent' "
-	_, err = o.Raw(sql, date).QueryRows(&data)
+	err = o.Raw(sql, date).Find(&data).Error
 	return
 }
 
 func GetCountryEicDate(date string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and type='country' "
-	_, err = o.Raw(sql, date).QueryRows(&data)
+	err = o.Raw(sql, date).Find(&data).Error
 	return
 }
 
 func GetSSOEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and country=? and type='SSO' "
-	_, err = o.Raw(sql, date, country).QueryRows(&data)
+	err = o.Raw(sql, date, country).Find(&data).Error
 	return
 }
 
 func GetStorageEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index where gas_day_started_on=? and country=? " +
 		" and (type='Storage Facility' or type='Storage Group') "
-	_, err = o.Raw(sql, date, country).QueryRows(&data)
+	err = o.Raw(sql, date, country).Find(&data).Error
 	return
 }
 
 func GetEicDate() (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index ORDER BY gas_day_started_on desc limit 1"
-	_, err = o.Raw(sql).QueryRows(&date)
+	err = o.Raw(sql).Find(&date).Error
 	return
 }
 
 func GetEicHistoryDate(code string) (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index WHERE eic_code=? ORDER BY gas_day_started_on desc limit 30"
-	_, err = o.Raw(sql, code).QueryRows(&date)
+	err = o.Raw(sql, code).Find(&date).Error
 	return
 }
 
 func GetEicHistoryDateByDate(code, startDate, endDate string) (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index WHERE eic_code=? and gas_day_started_on between ? and ? ORDER BY gas_day_started_on desc"
-	_, err = o.Raw(sql, code, startDate, endDate).QueryRows(&date)
+	err = o.Raw(sql, code, startDate, endDate).Find(&date).Error
 	return
 }
 
 type BaseFromCoalmineJsmIndex struct {
-	BaseFromCoalmineJsmIndexId int    `orm:"column(base_from_coalmine_jsm_index_id);pk"`
+	BaseFromCoalmineJsmIndexId int    `orm:"column(base_from_coalmine_jsm_index_id);pk" gorm:"primaryKey"`
 	IndexName                  string `description:"持买单量指标名称"`
 	IndexCode                  string `description:"持买单量指标编码"`
 	Exchange                   string `description:"样本统计类别"`
@@ -220,14 +222,14 @@ type BaseFromCoalmineJsmIndex struct {
 
 // GetBaseFromCoalmineIndex 查询数据
 func GetBaseFromCoalmineIndex(startDate, endDate string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	err = o.Raw(sql, startDate, endDate).Find(&items).Error
 	return
 }
 
 type BaseFromCoalmineCompanyIndex struct {
-	BaseFromCoalmineCompanyIndexId int    `orm:"column(base_from_coalmine_company_index_id);pk"`
+	BaseFromCoalmineCompanyIndexId int    `orm:"column(base_from_coalmine_company_index_id);pk" gorm:"primaryKey"`
 	IndexName                      string `description:"持买单量指标名称"`
 	IndexCode                      string `description:"持买单量指标编码"`
 	DealValue                      string `description:"成交量"`
@@ -244,15 +246,15 @@ type BaseFromCoalmineCompanyIndex struct {
 
 // GetBaseFromCoalmineCompanyIndex 查询公司指标
 func GetBaseFromCoalmineCompanyIndex(startDate, endDate string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	err = o.Raw(sql, startDate, endDate).Find(&items).Error
 	return
 }
 
 // BaseFromCoalmineFirmIndex 煤矿产量周度公司数据表
 type BaseFromCoalmineFirmIndex struct {
-	BaseFromCoalmineFirmIndexID int    `orm:"column(base_from_coalmine_firm_index_id);pk"`
+	BaseFromCoalmineFirmIndexID int    `orm:"column(base_from_coalmine_firm_index_id);pk" gorm:"primaryKey"`
 	IndexName                   string // 省份/企业名称
 	IndexCode                   string // 持买单量指标编码
 	DataTime                    string // 指标时间
@@ -267,17 +269,17 @@ type BaseFromCoalmineFirmIndex struct {
 
 // 查询指标
 func GetBaseFromCoalmineFirmIndex(dataTime string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE data_time LIKE  `
 	sql = sql + "'" + dataTime + "%" + "'"
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	fmt.Println(sql)
 	return
 }
 
 // BaseFromCoalmineCoastalIndex 沿海八省动力煤用户供耗存数据指标表
 type BaseFromCoalmineCoastalIndex struct {
-	BaseFromCoalmineCoastalIndexID int    `orm:"column(base_from_coalmine_coastal_index_id);pk"`
+	BaseFromCoalmineCoastalIndexID int    `orm:"column(base_from_coalmine_coastal_index_id);pk" gorm:"primaryKey"`
 	IndexName                      string // 省份/企业名称
 	IndexCode                      string // 持买单量指标编码
 	DataTime                       string // 指标时间
@@ -292,15 +294,15 @@ type BaseFromCoalmineCoastalIndex struct {
 
 // 查询指标
 func GetBaseFromCoalmineCoastalIndex(startDate, endDate string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	err = o.Raw(sql, startDate, endDate).Find(&items).Error
 	return
 }
 
 // BaseFromCoalmineInlandIndex 内陆动力煤用户供耗存数据指标表
 type BaseFromCoalmineInlandIndex struct {
-	BaseFromCoalmineInlandIndexID int    `orm:"column(base_from_coalmine_inland_index_id);pk"`
+	BaseFromCoalmineInlandIndexID int    `orm:"column(base_from_coalmine_inland_index_id);pk" gorm:"primaryKey"`
 	IndexName                     string // 省份/企业名称
 	IndexCode                     string // 持买单量指标编码
 	DataTime                      string // 指标时间
@@ -315,9 +317,9 @@ type BaseFromCoalmineInlandIndex struct {
 
 // 查询指标
 func GetBaseFromCoalmineInlandIndex(startDate, endDate string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	err = o.Raw(sql, startDate, endDate).Find(&items).Error
 	return
 }
 
@@ -374,232 +376,232 @@ type FrequencyResp struct {
 
 // GetFrequencyFromCoal 获取指标信息
 func GetFrequencyFromCoal(suffix string) (list *string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT frequency FROM base_from_coalmine_%s `
 	sql = fmt.Sprintf(sql, suffix)
-	err = o.Raw(sql).QueryRow(&list)
+	err = o.Raw(sql).Scan(&list).Error
 	return
 }
 
 // 查询数据
 func GetBaseFromCoalmineIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND province=?`
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
+	err = o.Raw(sql, frequency, groupName).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetGroupNameFromCoalmineIndex(suffix string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT group_name FROM base_from_coalmine_%s `
 	sql = fmt.Sprintf(sql, suffix)
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetProvinceFromCoalmineIndex(suffix string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT province FROM base_from_coalmine_%s `
 	sql = fmt.Sprintf(sql, suffix)
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetClassifyCoalmineIndexByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_jsm_index WHERE province=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetPageFromCoalmineIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,?  `
-	_, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetCountFromJsm(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_jsm_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetClassifyCompanyByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_company_index WHERE group_name=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 func GetClassifyJsmByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_jsm_index WHERE province=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 // 查询公司指标
 func GetPageFromCoalmineCompanyIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetCountFromCompany(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_company_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetCountFromFirm(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_firm_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetClassifyFirmByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_firm_index WHERE group_name=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineFirmIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,?  `
-	_, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetCountFromCoastal(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_coastal_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetClassifyCoastalByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_coastal_index WHERE group_name=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineCoastalIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetCountFromInland(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_inland_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).First(&item).Error
 	return
 }
 
 func GetClassifyInlandByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_inland_index WHERE group_name=? `
-	_, err = o.Raw(sql, groupName).QueryRows(&items)
+	err = o.Raw(sql, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineInlandIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, frequency, classify, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // 查询公司指标
 func GetBaseFromCoalmineCompanyIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
+	err = o.Raw(sql, frequency, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineFirmIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
+	err = o.Raw(sql, frequency, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineCoastalIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
+	err = o.Raw(sql, frequency, groupName).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineInlandIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
+	err = o.Raw(sql, frequency, groupName).Find(&items).Error
 	return
 }
 
 // 查询数据
 func GetBaseFromCoalmineIndexByCode(indexCode string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE index_code=?`
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // 查询公司指标
 func GetBaseFromCoalmineCompanyIndexByCode(indexCode string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineFirmIndexByCode(indexCode string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineCoastalIndexByCode(indexCode string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineInlandIndexByCode(indexCode string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 type BaseFromTradeEicIndexV2 struct {
-	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk"`
+	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk" gorm:"primaryKey"`
 	Type                   string
 	EicCode                string
 	Name                   string
@@ -633,71 +635,71 @@ type BaseFromTradeEicIndexV2 struct {
 }
 
 func GetEicDateV2() (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 ORDER BY gas_day_start desc limit 1"
-	_, err = o.Raw(sql).QueryRows(&date)
+	err = o.Raw(sql).Find(&date).Error
 	return
 }
 
 func GetEicDataV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? "
-	_, err = o.Raw(sql, date).QueryRows(&data)
+	err = o.Raw(sql, date).Find(&data).Error
 	return
 }
 
 func GetEicHistoryDateByDateV2(code, startDate, endDate string) (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 WHERE eic_code=? and gas_day_start between ? and ? ORDER BY gas_day_start desc"
-	_, err = o.Raw(sql, code, startDate, endDate).QueryRows(&date)
+	err = o.Raw(sql, code, startDate, endDate).Find(&date).Error
 	return
 }
 
 func GetEicHistoryDateV2(code string) (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 WHERE eic_code=? ORDER BY gas_day_start desc limit 30"
-	_, err = o.Raw(sql, code).QueryRows(&date)
+	err = o.Raw(sql, code).Find(&date).Error
 	return
 }
 
 func GetContinentAndCountryEicDateV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? and (type='continent' OR type='country') "
-	_, err = o.Raw(sql, date).QueryRows(&data)
+	err = o.Raw(sql, date).Find(&data).Error
 	return
 }
 
 func GetSSOAndFacEicDateV2(date, name string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_eic_index_v2 where gas_day_start=? and (type='sso' OR type='fac') "
-	_, err = o.Raw(sql, date).QueryRows(&data)
+	err = o.Raw(sql, date).Find(&data).Error
 	return
 }
 
 func GetBaseFromTradeIndexByDate(exchange, startDate, endDate string) (list []*BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_" + exchange + "_index where `rank` < 50 and data_time between ? and ? order by data_time asc"
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+	err = o.Raw(sql, startDate, endDate).Find(&list).Error
 	return
 }
 
 func GetFirstBaseFromTradeIndexByDate(exchange string) (item *BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_trade_" + exchange + "_index where `rank` < 50 order by data_time asc"
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).First(&item).Error
 	return
 }
 
 type BaseFromCoalmineClassify struct {
-	BaseFromCoalmineClassifyId int    `orm:"column(base_from_coalmine_classify_id);pk"`
+	BaseFromCoalmineClassifyId int    `orm:"column(base_from_coalmine_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName               string // 分类名称
 	Suffix                     string // 表名后缀
 	CreateTime                 time.Time
 }
 
 func GetCoalmineClassifyList() (list []*BaseFromCoalmineClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_coalmine_classify"
-	_,err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }

+ 39 - 39
models/data_manage/base_from_usda_fas.go

@@ -1,15 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 type BaseFromUsdaFasIndex struct {
-	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk"`
+	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk" gorm:"primaryKey"`
 	ClassifyId             int
 	IndexCode              string
 	IndexName              string
@@ -24,7 +24,7 @@ type BaseFromUsdaFasIndex struct {
 }
 
 type BaseFromUsdaFasIndexList struct {
-	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk"`
+	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk" gorm:"primaryKey"`
 	ClassifyId             int
 	Interface              string
 	EdbInfoId              int
@@ -69,69 +69,69 @@ type UsdaFasSingleData struct {
 }
 
 func GetUsdaFasIndexByClassifyId(classifyId int) (items []*BaseFromUsdaFasIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_usda_fas_index_id, classify_id, index_code, index_name FROM base_from_usda_fas_index WHERE classify_id=? ORDER BY sort ASC, base_from_usda_fas_index_id ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetUsdaFasIndex(condition string, pars interface{}) (items []*BaseFromUsdaFasIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_usda_fas_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func GetUsdaFasIndexPage(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromUsdaFasIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_usda_fas_index_id asc LIMIT ?,?`
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, pars, startSize, pageSize).Find(&items).Error 
 	return
 }
 
 func GetUsdaFasIndexPageCount(condition string, pars interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_usda_fas_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars).Scan(&count).Error
 	return
 }
 
 func GetUsdaFasIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_usda_fas_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 func GetUsdaFasIndexDataByDataTime(indexCodes []string, startDate, endDate string) (items []*BaseFromUsdaFasData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_usda_fas_data WHERE  index_code in (` + utils.GetOrmInReplace(len(indexCodes)) + `) and data_time >=? and data_time <? ORDER BY data_time DESC `
-	_, err = o.Raw(sql, indexCodes, startDate, endDate).QueryRows(&items)
+	err = o.Raw(sql, indexCodes, startDate, endDate).Find(&items).Error
 	return
 }
 
 func GetUsdaFasIndexDataTimePageByCodes(indexCodes []string, startSize, pageSize int) (dataTimes []string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT data_time FROM base_from_usda_fas_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY data_time ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCodes, startSize, pageSize).QueryRows(&dataTimes)
+	err = o.Raw(sql, indexCodes, startSize, pageSize).Scan(&dataTimes).Error
 	return
 }
 
 func GetUsdaFasIndexDataTimePageCount(indexCodes []string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(DISTINCT data_time) AS count  FROM base_from_usda_fas_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCodes)) + `) `
-	err = o.Raw(sql, indexCodes).QueryRow(&count)
+	err = o.Raw(sql, indexCodes).Scan(&count).Error
 	return
 }
 
@@ -139,15 +139,15 @@ func GetUsdaFasIndexDataByCodes(indexCode []string) (items []*BaseFromUsdaFasDat
 	if len(indexCode) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_usda_fas_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCode)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // GetUsdaFasByConditionAndFrequency 根据条件获取涌益咨询指标列表
 func GetUsdaFasByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromUsdaFasIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_index WHERE 1=1 `
 
 	if condition != "" {
@@ -155,7 +155,7 @@ func GetUsdaFasByConditionAndFrequency(condition, frequency string, pars []inter
 	}
 	sql += ` AND frequency=?`
 	sql += ` ORDER BY sort ASC, base_from_usda_fas_index_id ASC`
-	_, err = o.Raw(sql, pars, frequency).QueryRows(&items)
+	err = o.Raw(sql, pars, frequency).Find(&items).Error
 	return
 }
 
@@ -165,8 +165,8 @@ func GetUsdaFasFrequencyByCondition(condition string, pars []interface{}) (items
 		sql += condition
 	}
 	sql += ` ORDER BY FIELD(frequency,'日度','周度','旬度','月度','季度','半年度','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -175,14 +175,14 @@ func GetUsdaFasDataDataTimeByIndexId(indexIdList []int) (items []string, err err
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_usda_fas_data WHERE base_from_usda_fas_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
 }
 
 type BaseFromUsdaFasData struct {
-	BaseFromUsdaFasDataId  int `orm:"column(base_from_usda_fas_data_id);pk"`
+	BaseFromUsdaFasDataId  int `orm:"column(base_from_usda_fas_data_id);pk" gorm:"primaryKey"`
 	BaseFromUsdaFasIndexId int
 	IndexCode              string
 	DataTime               string
@@ -193,7 +193,7 @@ type BaseFromUsdaFasData struct {
 }
 
 type BaseFromUsdaFasIndexSearchItem struct {
-	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk"`
+	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk" gorm:"primaryKey"`
 	ClassifyId             int
 	ParentClassifyId       int
 	IndexCode              string
@@ -212,26 +212,26 @@ type BatchCheckUsdaFasEdbReq struct {
 
 // GetUsdaFasItemList 模糊查询UsdaFas数据库指标列表
 func GetUsdaFasItemList(condition string) (items []*BaseFromUsdaFasIndexSearchItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_usda_fas_index  WHERE 1=1"
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 func GetUsdaFasIndexDataByCode(indexCode string) (list []*BaseFromUsdaFasData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_usda_fas_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromUsdaFasIndexByIndexCode(indexCode string) (list *BaseFromUsdaFasIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&list)
+	err = o.Raw(sql, indexCode).First(&list).Error
 	return
 }
 
@@ -242,8 +242,8 @@ type BaseFromUsdaFasIndexType struct {
 
 // Update 更新UsdaFas指标基础信息
 func (item *BaseFromUsdaFasIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
@@ -264,9 +264,9 @@ type UsdaFasIndexSource2EdbReq struct {
 }
 
 func GetUsdaFasFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT frequency FROM base_from_usda_fas_index WHERE classify_id = ? `
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }

+ 38 - 39
models/data_manage/base_from_usda_fas_classify.go

@@ -1,16 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // BaseFromUsdaFasClassify UsdaFas原始数据分类表
 type BaseFromUsdaFasClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk"`
+	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName    string    `description:"分类名称"`
 	ParentId        int       `description:"父级id"`
 	SysUserId       int       `description:"创建人id"`
@@ -23,24 +22,24 @@ type BaseFromUsdaFasClassify struct {
 
 // AddBaseFromUsdaFasClassify 添加UsdaFas原始数据分类
 func AddBaseFromUsdaFasClassify(item *BaseFromUsdaFasClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	return
 }
 
 // GetBaseFromUsdaFasClassifyCount 获取分类名称的个数
 func GetBaseFromUsdaFasClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_usda_fas_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
 // GetBaseFromUsdaFasClassifyById 通过分类id的获取分类信息
 func GetBaseFromUsdaFasClassifyById(classifyId int) (item *BaseFromUsdaFasClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_usda_fas_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
@@ -49,25 +48,25 @@ func GetBaseFromUsdaFasClassifyByIds(classifyIds []int) (items []*BaseFromUsdaFa
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_usda_fas_classify WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) `
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // EditBaseFromUsdaFasClassify 修改UsdaFas原始数据分类
 func EditBaseFromUsdaFasClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_usda_fas_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = o.Exec(sql, classifyName, classifyId).Error
 	return
 }
 
 // UpdateBaseFromUsdaFasClassifySort 修改UsdaFas原始数据分类的排序
 func UpdateBaseFromUsdaFasClassifySort(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_usda_fas_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Exec(sql, classifyId).Error
 	return
 }
 
@@ -107,17 +106,17 @@ type BaseFromUsdaFasClassifyItemsButton struct {
 
 // GetBaseFromUsdaFasClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromUsdaFasClassifyByParentId(parentId int) (items []*BaseFromUsdaFasClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromUsdaFasClassify 获取所有的分类列表数据
 func GetAllBaseFromUsdaFasClassify() (items []*BaseFromUsdaFasClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_classify order by parent_id asc, sort asc,classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -139,51 +138,51 @@ type BaseFromUsdaFasClassifySimplify struct {
 
 // GetFirstBaseFromUsdaFasClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromUsdaFasClassify() (item *BaseFromUsdaFasClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_usda_fas_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).First(&item).Error
 	return
 }
 
 // UpdateBaseFromUsdaFasClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromUsdaFasClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_usda_fas_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // MoveUpUsdaFasIndexClassifyBySort 往上移动
 func MoveUpUsdaFasIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_usda_fas_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, parentId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownUsdaFasIndexClassifyBySort 往下移动
 func MoveDownUsdaFasIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_usda_fas_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, parentId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, prevSort, currentSort).Error
 	return
 }
 
 // GetUsdaFasIndexClassifyMinSort 获取最小不等于0的排序
 func GetUsdaFasIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `select min(sort) from base_from_usda_fas_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromUsdaFasClassify *BaseFromUsdaFasClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromUsdaFasClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(BaseFromUsdaFasClassify).Select(cols).Updates(BaseFromUsdaFasClassify).Error
 	return
 }
 
@@ -193,36 +192,36 @@ type AddUsdaFasClassifyResp struct {
 
 // DeleteUsdaFasClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteUsdaFasClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 	//删除分类
 	sql := `DELETE FROM base_from_usda_fas_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).Exec()
+	err = o.Exec(sql, classifyIdList).Error
 	return
 }
 
 // AddUsdaFasClassifyMulti 批量新增SMM类别
 func AddUsdaFasClassifyMulti(list []*BaseFromUsdaFasClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, list)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(list, utils.MultiAddNum).Error
 	return
 }
 
 // InitUsdaFasClassifySort 初始化sort值
 func InitUsdaFasClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_usda_fas_classify 
 SET modify_time=NOW(), sort = classify_id`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }
 
 // InitUsdaFasIndexClassifyId 历史数据的classifyId值
 func InitUsdaFasIndexClassifyId() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_UsdaFasindex s
 LEFT JOIN (
 SELECT
@@ -233,6 +232,6 @@ FROM
 	LEFT JOIN base_from_usda_fas_classify c2 ON c1.parent_id = c2.classify_id 
 	) AS t ON CONCAT( s.type_2, s.type_3 ) = t.type_name
 	SET s.classify_id = t.classify_id, s.modify_time=NOW() where s.type_2 <>""`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }

+ 25 - 25
models/data_manage/base_from_yongyi.go

@@ -1,10 +1,10 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -60,34 +60,34 @@ type YongyiSingleData struct {
 }
 
 func GetYongyiIndexByClassifyId(classifyId int) (items []*BaseFromYongyiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT yongyi_index_id, classify_id, index_code, index_name FROM base_from_yongyi_index WHERE classify_id=? ORDER BY sort ASC, yongyi_index_id ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetYongyiIndex(condition string, pars interface{}) (items []*BaseFromYongyiIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, yongyi_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func GetYongyiIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_yongyi_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 func GetYongyiIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromYongyiData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_yongyi_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
@@ -95,15 +95,15 @@ func GetYongyiIndexDataByCodes(indexCode []string) (items []*BaseFromYongyiData,
 	if len(indexCode) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_yongyi_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCode)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // GetYongyiByConditionAndFrequency 根据条件获取涌益咨询指标列表
 func GetYongyiByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromYongyiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_index WHERE 1=1 `
 
 	if condition != "" {
@@ -111,7 +111,7 @@ func GetYongyiByConditionAndFrequency(condition, frequency string, pars []interf
 	}
 	sql += ` AND frequency=?`
 	sql += ` ORDER BY sort ASC, yongyi_index_id ASC`
-	_, err = o.Raw(sql, pars, frequency).QueryRows(&items)
+	err = o.Raw(sql, pars, frequency).Find(&items).Error
 	return
 }
 
@@ -121,8 +121,8 @@ func GetYongyiFrequencyByCondition(condition string, pars []interface{}) (items
 		sql += condition
 	}
 	sql += ` ORDER BY FIELD(frequency,'日度','周度','旬度','月度','季度','半年度','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -131,9 +131,9 @@ func GetYongyiDataDataTimeByIndexId(indexIdList []int) (items []string, err erro
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_yongyi_data WHERE yongyi_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
 }
 
@@ -158,26 +158,26 @@ type BaseFromYongyiIndexSearchItem struct {
 
 // GetYongyiItemList 模糊查询Yongyi数据库指标列表
 func GetYongyiItemList(condition string) (items []*BaseFromYongyiIndexSearchItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_yongyi_index  WHERE 1=1"
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 func GetYongyiIndexDataByCode(indexCode string) (list []*BaseFromYongyiData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_yongyi_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Find(&list).Error
 	return
 }
 
 func GetBaseFromYongyiIndexByIndexCode(indexCode string) (list *BaseFromYongyiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&list)
+	err = o.Raw(sql, indexCode).First(&list).Error
 	return
 }
 
@@ -188,8 +188,8 @@ type BaseFromYongyiIndexType struct {
 
 // Update 更新Yongyi指标基础信息
 func (item *BaseFromYongyiIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 

+ 38 - 39
models/data_manage/base_from_yongyi_classify.go

@@ -1,16 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // BaseFromYongyiClassify Yongyi原始数据分类表
 type BaseFromYongyiClassify struct {
-	ClassifyId      int       `orm:"column(classify_id);pk"`
+	ClassifyId      int       `orm:"column(classify_id);pk" gorm:"primaryKey"`
 	ClassifyName    string    `description:"分类名称"`
 	ParentId        int       `description:"父级id"`
 	SysUserId       int       `description:"创建人id"`
@@ -23,24 +22,24 @@ type BaseFromYongyiClassify struct {
 
 // AddBaseFromYongyiClassify 添加Yongyi原始数据分类
 func AddBaseFromYongyiClassify(item *BaseFromYongyiClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	return
 }
 
 // GetBaseFromYongyiClassifyCount 获取分类名称的个数
 func GetBaseFromYongyiClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_yongyi_classify WHERE classify_name=? AND parent_id=? `
-	err = o.Raw(sql, classifyName, parentId).QueryRow(&count)
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 	return
 }
 
 // GetBaseFromYongyiClassifyById 通过分类id的获取分类信息
 func GetBaseFromYongyiClassifyById(classifyId int) (item *BaseFromYongyiClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_yongyi_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).First(&item).Error
 	return
 }
 
@@ -49,25 +48,25 @@ func GetBaseFromYongyiClassifyByIds(classifyIds []int) (items []*BaseFromYongyiC
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_yongyi_classify WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) `
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // EditBaseFromYongyiClassify 修改Yongyi原始数据分类
 func EditBaseFromYongyiClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_yongyi_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = o.Exec(sql, classifyName, classifyId).Error
 	return
 }
 
 // UpdateBaseFromYongyiClassifySort 修改Yongyi原始数据分类的排序
 func UpdateBaseFromYongyiClassifySort(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_yongyi_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Exec(sql, classifyId).Error
 	return
 }
 
@@ -106,17 +105,17 @@ type BaseFromYongyiClassifyItemsButton struct {
 
 // GetBaseFromYongyiClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromYongyiClassifyByParentId(parentId int) (items []*BaseFromYongyiClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromYongyiClassify 获取所有的分类列表数据
 func GetAllBaseFromYongyiClassify() (items []*BaseFromYongyiClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_classify order by parent_id asc, sort asc,classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -138,51 +137,51 @@ type BaseFromYongyiClassifySimplify struct {
 
 // GetFirstBaseFromYongyiClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromYongyiClassify() (item *BaseFromYongyiClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_yongyi_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).First(&item).Error
 	return
 }
 
 // UpdateBaseFromYongyiClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromYongyiClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_yongyi_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // MoveUpYongyiIndexClassifyBySort 往上移动
 func MoveUpYongyiIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_yongyi_classify set sort = sort + 1 where parent_id=? and sort >= ? and sort< ?`
-	_, err = o.Raw(sql, parentId, nextSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, nextSort, currentSort).Error
 	return
 }
 
 // MoveDownYongyiIndexClassifyBySort 往下移动
 func MoveDownYongyiIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `update base_from_yongyi_classify set sort = sort - 1 where parent_id=? and sort <= ? and sort> ? `
-	_, err = o.Raw(sql, parentId, prevSort, currentSort).Exec()
+	err = o.Exec(sql, parentId, prevSort, currentSort).Error
 	return
 }
 
 // GetYongyiIndexClassifyMinSort 获取最小不等于0的排序
 func GetYongyiIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `select min(sort) from base_from_yongyi_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromYongyiClassify *BaseFromYongyiClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromYongyiClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(BaseFromYongyiClassify).Select(cols).Updates(BaseFromYongyiClassify).Error
 	return
 }
 
@@ -192,36 +191,36 @@ type AddYongyiClassifyResp struct {
 
 // DeleteYongyiClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteYongyiClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	num := len(classifyIdList)
 	if num <= 0 {
 		return
 	}
 	//删除分类
 	sql := `DELETE FROM base_from_yongyi_classify WHERE classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).Exec()
+	err = o.Exec(sql, classifyIdList).Error
 	return
 }
 
 // AddYongyiClassifyMulti 批量新增SMM类别
 func AddYongyiClassifyMulti(list []*BaseFromYongyiClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, list)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(list, utils.MultiAddNum).Error
 	return
 }
 
 // InitYongyiClassifySort 初始化sort值
 func InitYongyiClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_yongyi_classify 
 SET modify_time=NOW(), sort = classify_id`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }
 
 // InitYongyiIndexClassifyId 历史数据的classifyId值
 func InitYongyiIndexClassifyId() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_yongyiindex s
 LEFT JOIN (
 SELECT
@@ -232,6 +231,6 @@ FROM
 	LEFT JOIN base_from_yongyi_classify c2 ON c1.parent_id = c2.classify_id 
 	) AS t ON CONCAT( s.type_2, s.type_3 ) = t.type_name
 	SET s.classify_id = t.classify_id, s.modify_time=NOW() where s.type_2 <>""`
-	_, err = o.Raw(sql).Exec()
+	err = o.Exec(sql).Error
 	return
 }

+ 77 - 83
models/data_manage/chart_framework.go

@@ -1,28 +1,30 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
+	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // ChartFramework 图库框架表
 type ChartFramework struct {
-	ChartFrameworkId int       `orm:"column(chart_framework_id);pk"`
-	FrameworkCode    string    `description:"框架唯一编码"`
-	FrameworkName    string    `description:"框架名称"`
-	FrameworkImg     string    `description:"框架图片"`
-	FrameworkContent string    `description:"框架内容"`
-	IsPublic         int       `description:"是否公开:0-私有;1-公开"`
-	PublicTime       time.Time `description:"公开时间"`
-	Sort             int       `description:"排序"`
-	AdminId          int       `description:"创建人ID"`
-	AdminName        string    `description:"创建人姓名"`
-	CreateTime       time.Time `description:"创建时间"`
-	ModifyTime       time.Time `description:"更新时间"`
+	ChartFrameworkId int       `gorm:"column(chart_framework_id);primaryKey" description:"框架ID"`
+	FrameworkCode    string    `gorm:"column(framework_code)" description:"框架唯一编码"`
+	FrameworkName    string    `gorm:"column(framework_name)" description:"框架名称"`
+	FrameworkImg     string    `gorm:"column(framework_img)" description:"框架图片"`
+	FrameworkContent string    `gorm:"column(framework_content)" description:"框架内容"`
+	IsPublic         int       `gorm:"column(is_public)" description:"是否公开:0-私有;1-公开"`
+	PublicTime       time.Time `gorm:"column(public_time)" description:"公开时间"`
+	Sort             int       `gorm:"column(sort)" description:"排序"`
+	AdminId          int       `gorm:"column(admin_id)" description:"创建人ID"`
+	AdminName        string    `gorm:"column(admin_name)" description:"创建人姓名"`
+	CreateTime       time.Time `gorm:"column(create_time)" description:"创建时间"`
+	ModifyTime       time.Time `gorm:"column(modify_time)" description:"更新时间"`
 }
 
 func (m *ChartFramework) TableName() string {
@@ -61,61 +63,65 @@ var ChartFrameworkColumns = struct {
 	ModifyTime:       "modify_time",
 }
 
+// Create 创建单个 ChartFramework 记录
 func (m *ChartFramework) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.ChartFrameworkId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
+// CreateMulti 批量创建 ChartFramework 记录
 func (m *ChartFramework) CreateMulti(items []*ChartFramework) (err error) {
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
+// Update 更新指定字段的 ChartFramework 记录
 func (m *ChartFramework) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
+// Del 删除单个 ChartFramework 记录
 func (m *ChartFramework) Del() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	_, err = o.Raw(sql, m.ChartFrameworkId).Exec()
+	err = o.Exec(sql, m.ChartFrameworkId).Error
 	return
 }
 
+// GetItemById 根据ID获取单个 ChartFramework 记录
 func (m *ChartFramework) GetItemById(id int) (item *ChartFramework, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = o.Raw(sql, id).First(&item).Error
 	return
 }
 
+// GetItemByCondition 根据条件获取单个 ChartFramework 记录
 func (m *ChartFramework) GetItemByCondition(condition string, pars []interface{}) (item *ChartFramework, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = o.Raw(sql, pars...).First(&item).Error
 	return
 }
 
+// GetCountByCondition 根据条件获取 ChartFramework 记录数量
 func (m *ChartFramework) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
+// GetItemsByCondition 根据条件获取多条 ChartFramework 记录
 func (m *ChartFramework) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*ChartFramework, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -125,12 +131,13 @@ func (m *ChartFramework) 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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
+// GetPageItemsByCondition 根据条件分页获取 ChartFramework 记录
 func (m *ChartFramework) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*ChartFramework, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -140,17 +147,13 @@ func (m *ChartFramework) GetPageItemsByCondition(condition string, pars []interf
 		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 = o.Raw(sql, append(pars, startSize, pageSize)...).Find(&items).Error
 	return
 }
 
 func (m *ChartFramework) CreateFrameworkAndNodes(item *ChartFramework, nodes []*ChartFrameworkNode) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %s", e.Error())
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -159,21 +162,20 @@ func (m *ChartFramework) CreateFrameworkAndNodes(item *ChartFramework, nodes []*
 		_ = tx.Commit()
 	}()
 
-	id, e := tx.Insert(item)
-	if e != nil {
-		err = fmt.Errorf("insert framework err: %s", e.Error())
+	err = tx.Create(item).Error
+	if err != nil {
+		err = fmt.Errorf("insert framework err: %s", err.Error())
 		return
 	}
-	newId := int(id)
-	item.ChartFrameworkId = newId
+	newId := item.ChartFrameworkId
 
 	if len(nodes) > 0 {
 		for _, n := range nodes {
 			n.ChartFrameworkId = newId
 		}
-		_, e = tx.InsertMulti(len(nodes), nodes)
-		if e != nil {
-			err = fmt.Errorf("insert multi nodes err: %s", e.Error())
+		err = tx.CreateInBatches(nodes, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("insert multi nodes err: %s", err.Error())
 			return
 		}
 	}
@@ -181,12 +183,8 @@ func (m *ChartFramework) CreateFrameworkAndNodes(item *ChartFramework, nodes []*
 }
 
 func (m *ChartFramework) EditFrameworkAndNodes(item *ChartFramework, updateCols []string, nodes []*ChartFrameworkNode) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %s", e.Error())
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -195,22 +193,22 @@ func (m *ChartFramework) EditFrameworkAndNodes(item *ChartFramework, updateCols
 		_ = tx.Commit()
 	}()
 
-	_, e = tx.Update(item, updateCols...)
-	if e != nil {
-		err = fmt.Errorf("framework update err: %s", e.Error())
+	err = tx.Model(item).Select(updateCols).Updates(item).Error
+	if err != nil {
+		err = fmt.Errorf("framework update err: %s", err.Error())
 		return
 	}
 
 	sql := `DELETE FROM chart_framework_node WHERE chart_framework_id = ?`
-	_, e = tx.Raw(sql, item.ChartFrameworkId).Exec()
-	if e != nil {
-		err = fmt.Errorf("clear nodes err: %s", e.Error())
+	err = tx.Exec(sql, item.ChartFrameworkId).Error
+	if err != nil {
+		err = fmt.Errorf("clear nodes err: %s", err.Error())
 		return
 	}
 	if len(nodes) > 0 {
-		_, e = tx.InsertMulti(len(nodes), nodes)
-		if e != nil {
-			err = fmt.Errorf("insert multi nodes err: %s", e.Error())
+		err = tx.CreateInBatches(nodes, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("insert multi nodes err: %s", err.Error())
 			return
 		}
 	}
@@ -218,12 +216,8 @@ func (m *ChartFramework) EditFrameworkAndNodes(item *ChartFramework, updateCols
 }
 
 func (m *ChartFramework) RemoveFrameworkAndNodes(frameworkId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %s", e.Error())
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -233,16 +227,16 @@ func (m *ChartFramework) RemoveFrameworkAndNodes(frameworkId int) (err error) {
 	}()
 
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	_, e = tx.Raw(sql, frameworkId).Exec()
-	if e != nil {
-		err = fmt.Errorf("delete framework err: %s", e.Error())
+	err = tx.Exec(sql, frameworkId).Error
+	if err != nil {
+		err = fmt.Errorf("delete framework err: %s", err.Error())
 		return
 	}
 
 	sql = `DELETE FROM chart_framework_node WHERE chart_framework_id = ?`
-	_, e = tx.Raw(sql, frameworkId).Exec()
-	if e != nil {
-		err = fmt.Errorf("clear nodes err: %s", e.Error())
+	err = tx.Exec(sql, frameworkId).Error
+	if err != nil {
+		err = fmt.Errorf("clear nodes err: %s", err.Error())
 		return
 	}
 	return
@@ -269,7 +263,7 @@ type ChartFrameworkEditReq struct {
 	ChartFrameworkAddReq
 }
 
-// ChartFrameworkRemoveReq 图库框架编辑请求体
+// ChartFrameworkRemoveReq 图库框架移除请求体
 type ChartFrameworkRemoveReq struct {
 	ChartFrameworkId int `description:"图库框架ID"`
 }
@@ -295,20 +289,20 @@ type ChartFrameworkMoveReq struct {
 
 // UpdateChartFrameworkSort 更新我的图库框架排序
 func UpdateChartFrameworkSort(adminId, frameworkId, current int, updates string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`UPDATE chart_framework SET sort = %s WHERE admin_id = ? and sort > ?`, updates)
 	if frameworkId > 0 {
-		sql += ` OR (chart_framework_id > ` + fmt.Sprint(frameworkId) + ` AND sort = ` + fmt.Sprint(current) + `)`
+		sql += ` OR (chart_framework_id > ` + strconv.Itoa(frameworkId) + ` AND sort = ` + strconv.Itoa(current) + `)`
 	}
-	_, err = o.Raw(sql, adminId, current).Exec()
+	err = o.Exec(sql, adminId, current).Error
 	return
 }
 
 // GetFirstChartFramework 获取我的图库框架排首位的数据
 func GetFirstChartFramework(adminId int) (item *ChartFramework, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM chart_framework WHERE admin_id = ? ORDER BY sort ASC,chart_framework_id ASC LIMIT 1`
-	err = o.Raw(sql, adminId).QueryRow(&item)
+	err = o.Raw(sql, adminId).First(&item).Error
 	return
 }
 

+ 108 - 106
models/data_manage/chart_info_correlation.go

@@ -1,90 +1,93 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
 
 // ChartInfoCorrelation 相关性图表-扩展信息
 type ChartInfoCorrelation struct {
-	CorrelationChartInfoId int       `orm:"column(correlation_chart_info_id);pk" description:"相关性图表ID(chart_info表source=3的)"`
-	LeadValue              int       `description:"领先值"`
-	LeadUnit               string    `description:"领先单位"`
-	CalculateValue         int       `description:"计算窗口"`
-	CalculateUnit          string    `description:"计算频度"`
-	BaseCalculateValue     int       `description:"基础计算窗口(滚动相关性的时候用到)"`
-	BaseCalculateUnit      string    `description:"基础计算频度(滚动相关性的时候用到)"`
-	DateType               int       `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间,6:起始日期至今"`
-	StartDate              time.Time `description:"开始日期"`
-	EndDate                time.Time `description:"结束日期"`
-	EdbInfoIdFirst         int       `description:"A指标ID"`
-	EdbInfoIdSecond        int       `description:"B指标ID"`
-	PeriodData             string    `description:"X轴-期数数据"`
-	CorrelationData        string    `description:"Y轴-相关性系数"`
-	CreateTime             time.Time `description:"创建时间"`
-	ModifyTime             time.Time `description:"更新时间"`
-	AnalysisMode           int       `description:"分析模式: 0-单因子; 1-多因子"`
+	CorrelationChartInfoId int       `gorm:"column(correlation_chart_info_id);primaryKey" description:"相关性图表ID(chart_info表source=3的)"`
+	LeadValue              int       `gorm:"column(lead_value)" description:"领先值"`
+	LeadUnit               string    `gorm:"column(lead_unit)" description:"领先单位"`
+	CalculateValue         int       `gorm:"column(calculate_value)" description:"计算窗口"`
+	CalculateUnit          string    `gorm:"column(calculate_unit)" description:"计算频度"`
+	BaseCalculateValue     int       `gorm:"column(base_calculate_value)" description:"基础计算窗口(滚动相关性的时候用到)"`
+	BaseCalculateUnit      string    `gorm:"column(base_calculate_unit)" description:"基础计算频度(滚动相关性的时候用到)"`
+	DateType               int       `gorm:"column(date_type)" description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间,6:起始日期至今"`
+	StartDate              time.Time `gorm:"column(start_date)" description:"开始日期"`
+	EndDate                time.Time `gorm:"column(end_date)" description:"结束日期"`
+	EdbInfoIdFirst         int       `gorm:"column(edb_info_id_first)" description:"A指标ID"`
+	EdbInfoIdSecond        int       `gorm:"column(edb_info_id_second)" description:"B指标ID"`
+	PeriodData             string    `gorm:"column(period_data)" description:"X轴-期数数据"`
+	CorrelationData        string    `gorm:"column(correlation_data)" description:"Y轴-相关性系数"`
+	CreateTime             time.Time `gorm:"column(create_time)" description:"创建时间"`
+	ModifyTime             time.Time `gorm:"column(modify_time)" description:"更新时间"`
+	AnalysisMode           int       `gorm:"column(analysis_mode)" description:"分析模式: 0-单因子; 1-多因子"`
 }
 
 type CorrelationInfo struct {
-	LeadValue       int    `description:"领先值"`
-	LeadUnit        string `description:"领先单位"`
-	CalculateValue  int    `description:"计算窗口"`
-	CalculateUnit   string `description:"计算频度"`
-	StartDate       string `description:"开始日期"`
-	EndDate         string `description:"结束日期"`
-	EdbInfoIdFirst  int    `description:"A指标ID"`
-	EdbInfoIdSecond int    `description:"B指标ID"`
-	PeriodData      string `description:"X轴-期数数据"`
-	CorrelationData string `description:"Y轴-相关性系数"`
-	AnalysisMode    int    `description:"分析模式: 0-单因子; 1-多因子"`
+	LeadValue       int    `gorm:"column(lead_value)" description:"领先值"`
+	LeadUnit        string `gorm:"column(lead_unit)" description:"领先单位"`
+	CalculateValue  int    `gorm:"column(calculate_value)" description:"计算窗口"`
+	CalculateUnit   string `gorm:"column(calculate_unit)" description:"计算频度"`
+	StartDate       string `gorm:"column(start_date)" description:"开始日期"`
+	EndDate         string `gorm:"column(end_date)" description:"结束日期"`
+	EdbInfoIdFirst  int    `gorm:"column(edb_info_id_first)" description:"A指标ID"`
+	EdbInfoIdSecond int    `gorm:"column(edb_info_id_second)" description:"B指标ID"`
+	PeriodData      string `gorm:"column(period_data)" description:"X轴-期数数据"`
+	CorrelationData string `gorm:"column(correlation_data)" description:"Y轴-相关性系数"`
+	AnalysisMode    int    `gorm:"column(analysis_mode)" description:"分析模式: 0-单因子; 1-多因子"`
 }
 
 func (m *ChartInfoCorrelation) TableName() string {
 	return "chart_info_correlation"
 }
 
+// Create 创建单个 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(m)
-	if err != nil {
-		return
-	}
-	//m.CorrelationChartInfoId = int(id)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(m).Error
 	return
 }
 
+// Update 更新指定字段的 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Model(m).Select(cols).Updates(m).Error
 	return
 }
 
+// Delete 删除单个 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE correlation_chart_info_id = ? LIMIT 1`, m.TableName())
-	_, err = o.Raw(sql, m.CorrelationChartInfoId).Exec()
+	err = o.Exec(sql, m.CorrelationChartInfoId).Error
 	return
 }
 
+// GetItemById 根据ID获取单个 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE correlation_chart_info_id = ? LIMIT 1`, m.TableName())
-	err = o.Raw(sql, id).QueryRow(&m)
+	err = o.Raw(sql, id).First(&m).Error
 	return
 }
 
+// GetItemByCondition 根据条件获取单个 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&m)
+	err = o.Raw(sql, pars...).First(&m).Error
 	return
 }
 
+// GetItemsByCondition 根据条件获取多条 ChartInfoCorrelation 记录
 func (m *ChartInfoCorrelation) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*ChartInfoCorrelation, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -94,15 +97,15 @@ func (m *ChartInfoCorrelation) 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 = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // CreateCorrelationChartAndEdb 新增相关性图表
 func CreateCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapping, correlationInfo *ChartInfoCorrelation) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
 		return
 	}
 	defer func() {
@@ -114,10 +117,11 @@ func CreateCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartE
 	}()
 
 	// 新增图表信息
-	newId, err := tx.Insert(chartInfo)
+	err = tx.Create(chartInfo).Error
 	if err != nil {
 		return
 	}
+	newId := chartInfo.ChartInfoId
 	// 指标mapping
 	chartInfo.ChartInfoId = int(newId)
 	chartInfoId = int(newId)
@@ -125,14 +129,15 @@ func CreateCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartE
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
 	}
 	// 相关性信息
 	correlationInfo.CorrelationChartInfoId = chartInfoId
-	if _, err = tx.Insert(correlationInfo); err != nil {
+	err = tx.Create(correlationInfo).Error
+	if err != nil {
 		return
 	}
 	return
@@ -170,10 +175,10 @@ type CorrelationChartInfoExtraConfig struct {
 // CreateMultiFactorCorrelationChartAndEdb 新增多因子相关性图表
 func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapping, correlationInfo *ChartInfoCorrelation, chartMappings []*FactorEdbSeriesChartMapping, saveAs bool, copySeries []*FactorEdbSeries, copySeriesEdb []*FactorEdbSeriesMapping, copySeriesData []*FactorEdbSeriesCalculateData) (chartInfoId int, seriesIdMap map[int]int, err error) {
 	seriesIdMap = make(map[int]int) // 此处做一个原ID与新ID的映射, 另存为才用的到
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		err = fmt.Errorf("orm begin err: %v", tx.Error)
 		return
 	}
 	defer func() {
@@ -185,12 +190,11 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	}()
 
 	// 新增图表信息
-	chartId, e := tx.Insert(chartInfo)
-	if e != nil {
-		err = fmt.Errorf("chart insert err: %v", e)
+	err = tx.Create(chartInfo).Error
+	if err != nil {
 		return
 	}
-	chartInfo.ChartInfoId = int(chartId)
+
 	chartInfoId = chartInfo.ChartInfoId
 
 	// 指标mapping
@@ -198,17 +202,16 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, e = tx.InsertMulti(200, edbMappingList)
-		if e != nil {
-			err = fmt.Errorf("edb mappings insert err: %v", e)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
+		if err != nil {
 			return
 		}
 	}
 
 	// 相关性信息
 	correlationInfo.CorrelationChartInfoId = chartInfoId
-	if _, e = tx.Insert(correlationInfo); e != nil {
-		err = fmt.Errorf("correlate chart insert err: %v", e)
+	err = tx.Create(correlationInfo).Error
+	if err != nil {
 		return
 	}
 
@@ -221,9 +224,9 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 				v.ChartInfoId = chartInfoId
 				//v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 			}
-			_, e = tx.InsertMulti(200, chartMappings)
-			if e != nil {
-				err = fmt.Errorf("insert series chart mappings err: %v", e)
+			err = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
+			if err != nil {
+				err = fmt.Errorf("insert series chart mappings err: %v", err)
 				return
 			}
 
@@ -255,20 +258,19 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 		id := v.FactorEdbSeriesId
 		originSeriesIds = append(originSeriesIds, id)
 		v.FactorEdbSeriesId = 0
-		newId, e := tx.Insert(v)
-		if e != nil {
-			err = fmt.Errorf("copy series err: %v", e)
+		err = tx.Create(v).Error
+		if err != nil {
+			err = fmt.Errorf("copy series err: %v", err)
 			return
 		}
-		seriesIdMap[id] = int(newId)
 	}
 	for _, v := range copySeriesEdb {
 		v.FactorEdbSeriesMappingId = 0
 		v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 	}
-	_, e = tx.InsertMulti(200, copySeriesEdb)
-	if e != nil {
-		err = fmt.Errorf("copy series edb mappings err: %v", e)
+	err = tx.CreateInBatches(copySeriesEdb, utils.MultiAddNum).Error
+	if err != nil {
+		err = fmt.Errorf("copy series edb mappings err: %v", err)
 		return
 	}
 	if len(chartMappings) > 0 {
@@ -277,9 +279,9 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 			v.ChartInfoId = chartInfoId
 			v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 		}
-		_, e = tx.InsertMulti(200, chartMappings)
-		if e != nil {
-			err = fmt.Errorf("copy series chart mappings err: %v", e)
+		err = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("copy series chart mappings err: %v", err)
 			return
 		}
 	}
@@ -293,9 +295,9 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 			t.FactorEdbSeriesId = seriesIdMap[t.FactorEdbSeriesId]
 			newCalculateData = append(newCalculateData, t)
 		}
-		_, e = tx.InsertMulti(200, newCalculateData)
-		if e != nil {
-			err = fmt.Errorf("copy series calculate data err: %v", e)
+		err = tx.CreateInBatches(newCalculateData, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("copy series calculate data err: %v", err)
 			return
 		}
 	}
@@ -304,10 +306,10 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 
 // UpdateMultiFactorCorrelationChartAndEdb 编辑多因子相关性图表
 func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapping, correlationInfo *ChartInfoCorrelation, chartMappings []*FactorEdbSeriesChartMapping, chartUpdateCols, correlateUpdateCols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		err = fmt.Errorf("orm begin err: %v", tx.Error)
 		return
 	}
 	defer func() {
@@ -319,34 +321,34 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	}()
 
 	// 更新图表信息
-	_, e = tx.Update(chartInfo, chartUpdateCols...)
-	if e != nil {
-		err = fmt.Errorf("chart update err: %v", e)
+	err = tx.Model(chartInfo).Select(chartUpdateCols).Updates(chartInfo).Error
+	if err != nil {
+		err = fmt.Errorf("chart update err: %v", err)
 		return
 	}
 
 	// 指标mapping
 	sql := `DELETE FROM chart_edb_mapping WHERE chart_info_id = ?`
-	_, e = tx.Raw(sql, chartInfo.ChartInfoId).Exec()
-	if e != nil {
-		err = fmt.Errorf("clear chart edb mapping err: %v", e)
+	err = tx.Exec(sql, chartInfo.ChartInfoId).Error
+	if err != nil {
+		err = fmt.Errorf("clear chart edb mapping err: %v", err)
 		return
 	}
 	if len(edbMappingList) > 0 {
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfo.ChartInfoId
 		}
-		_, e = tx.InsertMulti(200, edbMappingList)
-		if e != nil {
-			err = fmt.Errorf("edb mappings insert err: %v", e)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("edb mappings insert err: %v", err)
 			return
 		}
 	}
 
 	// 相关性信息
-	_, e = tx.Update(correlationInfo, correlateUpdateCols...)
-	if e != nil {
-		err = fmt.Errorf("correlate chart update err: %v", e)
+	err = tx.Model(correlationInfo).Select(correlateUpdateCols).Updates(correlationInfo).Error
+	if err != nil {
+		err = fmt.Errorf("correlate chart update err: %v", err)
 		return
 	}
 
@@ -354,18 +356,18 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	chartMappingOb := new(FactorEdbSeriesChartMapping)
 	//if len(existsChartMappingIds) > 0 {
 	sql = fmt.Sprintf(`DELETE FROM %s WHERE %s = ?`, chartMappingOb.TableName(), chartMappingOb.Cols().ChartInfoId)
-	_, e = tx.Raw(sql, chartInfo.ChartInfoId).Exec()
-	if e != nil {
-		err = fmt.Errorf("clear chart mapping err: %v", e)
+	err = tx.Exec(sql, chartInfo.ChartInfoId).Error
+	if err != nil {
+		err = fmt.Errorf("clear chart mapping err: %v", err)
 		return
 	}
 	//}
 
 	// 指标系列-图表关联
 	if len(chartMappings) > 0 {
-		_, e = tx.InsertMulti(200, chartMappings)
-		if e != nil {
-			err = fmt.Errorf("insert series chart mappings err: %v", e)
+		err = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("insert series chart mappings err: %v", err)
 			return
 		}
 
@@ -400,17 +402,17 @@ type FactorCorrelationEditDetail struct {
 }
 
 func (m *ChartInfoCorrelation) GetChartEdbMappingCount(edbInfoId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM %s WHERE edb_info_id_first=? or edb_info_id_second=?`
 	sql = fmt.Sprintf(sql, m.TableName())
-	err = o.Raw(sql, edbInfoId, edbInfoId).QueryRow(&count)
+	err = o.Raw(sql, edbInfoId, edbInfoId).Scan(&count).Error
 	return
 }
 
 func (m *ChartInfoCorrelation) GetChartInfoIdByEdb(edbInfoId int) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT correlation_chart_info_id FROM %s WHERE edb_info_id_first=? or edb_info_id_second=?`
 	sql = fmt.Sprintf(sql, m.TableName())
-	err = o.Raw(sql, edbInfoId, edbInfoId).QueryRow(&chartInfoId)
+	err = o.Raw(sql, edbInfoId, edbInfoId).Scan(&chartInfoId).Error
 	return
 }

+ 24 - 25
models/data_manage/chart_info_range_analysis.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -103,9 +103,10 @@ type ChartRangeAnalysisDateDataItem struct {
 
 // CreateRangeChartAndEdb 新增区间计算图表
 func CreateRangeChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapping) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
+		err = fmt.Errorf("gorm begin err: %v", tx.Error)
 		return
 	}
 	defer func() {
@@ -117,18 +118,17 @@ func CreateRangeChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapp
 	}()
 
 	// 新增图表信息
-	newId, err := tx.Insert(chartInfo)
+	err = tx.Create(chartInfo).Error
 	if err != nil {
 		return
 	}
 	// 指标mapping
-	chartInfo.ChartInfoId = int(newId)
-	chartInfoId = int(newId)
+	chartInfoId = chartInfo.ChartInfoId
 	if len(edbMappingList) > 0 {
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -138,16 +138,16 @@ func CreateRangeChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapp
 
 // EditRangeChartInfoAndMapping 修改区间计算图表的 图表与指标 的关系
 func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang string, calendar string, dateType, disabled int, barChartConf string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
 		return
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	var pars []interface{}
@@ -233,7 +233,7 @@ func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang stri
 	sql += `WHERE chart_info_id = ?`
 
 	pars = append(pars, req.ChartInfoId)
-	_, err = to.Raw(sql, pars).Exec()
+	err = tx.Exec(sql, pars...).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
@@ -243,7 +243,7 @@ func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang stri
 		// 查询该指标是否存在,如果存在的话,那么就去修改,否则新增
 		var tmpChartEdbMapping *ChartEdbMapping
 		csql := `SELECT *  FROM chart_edb_mapping WHERE chart_info_id=? AND edb_info_id=? AND source = ? `
-		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId, utils.CHART_SOURCE_RANGE_ANALYSIS).QueryRow(&tmpChartEdbMapping)
+		err = tx.Raw(csql, req.ChartInfoId, v.EdbInfoId, utils.CHART_SOURCE_RANGE_ANALYSIS).First(&tmpChartEdbMapping).Error
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
@@ -263,7 +263,7 @@ func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang stri
 			//tmpChartEdbMapping.ChartColor = v.ChartColor
 			//tmpChartEdbMapping.PredictChartColor = v.PredictChartColor
 			//tmpChartEdbMapping.ChartWidth = v.ChartWidth
-			_, err = to.Update(tmpChartEdbMapping, "ModifyTime", "IsAxis", "EdbAliasName")
+			err = tx.Model(tmpChartEdbMapping).Updates(map[string]interface{}{"ModifyTime": time.Now(), "IsAxis": v.IsAxis, "EdbAliasName": v.EdbAliasName}).Error
 			if err != nil {
 				fmt.Println("chart_edb_mapping Err:" + err.Error())
 				return err
@@ -289,19 +289,18 @@ func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang stri
 			//mapItem.PredictChartColor = v.PredictChartColor
 			//mapItem.ChartWidth = v.ChartWidth
 			mapItem.Source = utils.CHART_SOURCE_RANGE_ANALYSIS
-			tmpId, err := to.Insert(mapItem)
+			err = tx.Create(mapItem).Error
 			if err != nil {
 				fmt.Println("AddChartEdbMapping Err:" + err.Error())
 				return err
 			}
-			mapItem.ChartEdbMappingId = int(tmpId)
 			chartEdbMappingIdList = append(chartEdbMappingIdList, strconv.Itoa(mapItem.ChartEdbMappingId))
 		}
 	}
 	if len(chartEdbMappingIdList) > 0 {
 		chartEdbMappingIdStr := strings.Join(chartEdbMappingIdList, ",")
 		dsql := `DELETE FROM chart_edb_mapping WHERE chart_info_id=? AND chart_edb_mapping_id NOT IN(` + chartEdbMappingIdStr + `)`
-		_, err = to.Raw(dsql, req.ChartInfoId).Exec()
+		err = tx.Exec(dsql, req.ChartInfoId).Error
 		if err != nil {
 			fmt.Println("delete err:" + err.Error())
 			return err
@@ -313,16 +312,16 @@ func EditRangeChartInfoAndMapping(req *EditChartInfoReq, edbInfoIdStr, lang stri
 
 // EditRangeChartInfo 修改区间计算图表基本信息
 func EditRangeChartInfo(req *SaveChartRangeReq) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
+	if tx.Error != nil {
 		return
 	}
 	defer func() {
 		if err != nil {
-			_ = to.Rollback()
+			_ = tx.Rollback()
 		} else {
-			_ = to.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	var pars []interface{}
@@ -368,7 +367,7 @@ func EditRangeChartInfo(req *SaveChartRangeReq) (err error) {
 	sql += `WHERE chart_info_id = ?`
 
 	pars = append(pars, req.ChartInfoId)
-	_, err = to.Raw(sql, pars).Exec()
+	err = tx.Exec(sql, pars...).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err