Browse Source

数据库交互优化:替换`orm`库为`global.DmSQL`,增强数据库操作的灵活性和错误处理

在数据管理模块的多个文件中,统一将`orm`库替换为`global.DmSQL`,以实现数据库操作方法的更新。这次更改加强了对数据库交互的统一管理,提高了代码的维护性和错误处理能力。以下是主要改动点:

1. 在`base_from_sci_hq_classify.go`中,更新了数据插入、更新和查询的方法,例如`Add`、`Update`以及各类`Get`方法。
2. 在`base_from_sci_hq_index.go`中,修改了指标相关的数据库操作方法,包括`Update`、`GetSciHqIndexByCondition`等方法。
3. 在`base_from_smm.go`中,调整了SMM数据源的管理方法,如`AddBaseFromSmm`、`GetBaseFromSmmList`等。

这些改动统一了数据库操作风格,提高了代码的可读性和可维护性,同时通过直接使用`global.DmSQL`,增强了错误处理的灵活性。
Roc 5 months ago
parent
commit
2fc355b686

+ 57 - 67
models/data_manage/base_from_sci_hq_classify.go

@@ -1,10 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"time"
-
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // BaseFromSciHqClassify 卓创红期原始数据分类表
@@ -38,76 +37,89 @@ type BaseFromSciHqClassifyMaxSort struct {
 }
 
 func (t *BaseFromSciHqClassify) Add() (insertId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	insertId, err = o.Insert(t)
+	err = global.DmSQL["data"].Create(t).Error
+	if err != nil {
+		return
+	}
+	insertId = int64(t.ClassifyId)
+
 	return
 }
 
 func (t *BaseFromSciHqClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(t, cols...)
+	o := global.DmSQL["data"]
+	err = o.Select(cols).Updates(t).Error
+
 	return
 }
 
 func BatchAddSciHqClassify(items []*BaseFromSciHqClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DmSQL["data"]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 // 获取所有分类
 func GetSciHqClassifyAll() (items []*BaseFromSciHqClassifyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetChildSciHqClassifyListById 获取子分类列表
 func GetChildSciHqClassifyListById(classifyId int) (items []*BaseFromSciHqClassifyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := ` SELECT * FROM base_from_sci_hq_classify WHERE parent_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Scan(&items).Error
+
 	return
 }
 
 // GetChildSciHqClassifyIdsById 获取子分类的id集合
 func GetChildSciHqClassifyIdsById(classifyId int) (items []int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetChildSciHqClassifyMaxSortById 获取子分类最大排序
 func GetChildSciHqClassifyMaxSortById(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := ` SELECT MAX(sort) AS sort FROM base_from_sci_hq_classify WHERE parent_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
+
 	return
 }
 
 // GetSciHqClassifyCountById 获取分类数量
 func GetSciHqClassifyCountById(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -116,102 +128,80 @@ func GetSciHqClassifyListByIds(classifyIds []int) (items []*BaseFromSciHqClassif
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqClassifyCountByName 通过分类名称获取分类
 func GetSciHqClassifyCountByName(classifyName string, lang string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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)
-	return
-}
-
-func DeleteSciHqClassifyById(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` DELETE FROM base_from_sci_hq_classify WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
-	return
-}
-
-// BatchDeleteSciHqClassifyById 批量删除分类
-func BatchDeleteSciHqClassifyById(classifyId []int) (err error) {
-	if len(classifyId) == 0 {
-		return
-	}
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-	sql := ` DELETE FROM base_from_sci_hq_classify WHERE classify_id IN (` + utils.GetOrmInReplace(len(classifyId)) + `) `
-	_, err = o.Raw(sql, classifyId).Exec()
+	err = o.Raw(sql, classifyName, parentId).Scan(&count).Error
 
 	return
 }
 
 // DeleteSciHqClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteSciHqClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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
 }

+ 62 - 42
models/data_manage/base_from_sci_hq_index.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"time"
 
@@ -44,27 +45,27 @@ type BaseFromSciHqIndexView struct {
 }
 
 func (b *BaseFromSciHqIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(b, cols...)
+	err = global.DmSQL["data"].Select(cols).Updates(b).Error
+
 	return
 }
 
 // GetSciHqIndexByCondition 根据条件获取卓创红期指标列表
 func GetSciHqIndexByCondition(condition string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
 	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 = global.DmSQL["data"].Raw(sql, pars).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqIndexByCondition 根据条件获取卓创红期指标列表
 func GetSciHqIndexByConditionAndFrequency(condition, frequency string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := ` SELECT * FROM base_from_sci_hq_index WHERE 1=1 `
 
 	if condition != "" {
@@ -72,48 +73,53 @@ 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).Scan(&items).Error
+
 	return
 }
 
 func GetSciHqIndexCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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")
+	o := global.DmSQL["data"]
 	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, utils.DATA_SOURCE_SCI_HQ, pars).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqIndexByIndexCode 根据指标编码获取指标信息
 func GetSciHqIndexByIndexCode(indexCode string) (item *BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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 +128,36 @@ func GetSciHqIndexListByIndexIds(indexIds []int) (items []*BaseFromSciHqIndex, e
 	if len(indexIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqIndexCountByClassifyIds 获取分类下指标的个数
 func GetSciHqIndexCountByClassifyIds(classifyIds []int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -157,74 +166,82 @@ func GetSciHqIndexCountByClassifyId(classifyIds []int) (count int, err error) {
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqIndexBaseInfoByClassifyId 根据分类id获取卓创红期指标列表
 func GetSciHqIndexBaseInfoByClassifyId(classifyId int) (items []*BaseFromSciHqIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetSciHqIndexBaseInfoByClassifyId 根据分类id获取卓创红期指标列表
 func GetSciHqIndexBaseInfoByCondition(condition string, pars []interface{}) (items []*BaseFromSciHqIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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...).Scan(&items).Error
+
 	return
 }
 
 func GetSciHqDataMaxCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["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  `
 	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")
+	o := global.DmSQL["data"]
 	sql := `SELECT MAX(sort) FROM base_from_sci_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	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.DmSQL["data"]
+	err = o.Raw(sql, classifyId).Scan(&items).Error
+
 	return
 }
 
@@ -234,15 +251,17 @@ 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.DmSQL["data"]
+	err = o.Raw(sql, pars...).Scan(&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.DmSQL["data"]
+	err = o.Raw(sql, code).Scan(&items).Error
+
 	return
 }
 
@@ -251,7 +270,7 @@ func GetSciHqClassifyMaxSortByClassifyIds(classifyIds []int) (items []*BaseFromS
 	if len(classifyIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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,7 +278,8 @@ 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).Scan(&items).Error
+
 	return
 }
 

+ 106 - 80
models/data_manage/base_from_smm.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -34,23 +34,19 @@ type BaseFromSmm struct {
 	AuthDurType   string
 }
 
-func AddBaseFromSmm(item *BaseFromSmm) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
-	return
-}
-
 func GetBaseFromSmmList() (list []*BaseFromSmm, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Scan(&list).Error
+
 	return
 }
 
 func GetBaseFromSmmBySmmCode(smmCode string) (item *BaseFromSmm, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm WHERE interface=?`
-	err = o.Raw(sql, smmCode).QueryRow(&item)
+	err = o.Raw(sql, smmCode).First(&item).Error
+
 	return
 }
 
@@ -80,15 +76,20 @@ type BaseFromSmmIndex struct {
 }
 
 func AddBaseFromSmmIndex(item *BaseFromSmmIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.ClassifyId)
+
 	return
 }
 
 func GetBaseFromSmmIndex() (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm_index `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Scan(&list).Error
+
 	return
 }
 
@@ -104,110 +105,128 @@ type BaseFromSmmData struct {
 }
 
 func AddBaseFromSmmData(item *BaseFromSmmData) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromSmmIndexId)
+
 	return
 }
 
 func GetBaseFromSmmDataAll() (list []*BaseFromSmmData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm_data `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Scan(&list).Error
+
 	return
 }
 
 func ModifyBaseFromSmmData(smmDataId int, value string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	sql := ` SELECT * FROM base_from_smm_index WHERE interface=? `
-	_, err = o.Raw(sql, smmCode).QueryRows(&list)
+	err = o.Raw(sql, smmCode).Scan(&list).Error
+
 	return
 }
 
+type SmmMaxOrMinDate struct {
+	MinDate string `json:"min_date"`
+	MaxDate string `json:"max_date"`
+}
+
 func GetBaseFromSmmMaxOrMinDate(indexCode string) (min_date, max_date string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
+	var tmpData SmmMaxOrMinDate
 	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).Scan(&tmpData).Error
+	if err != nil {
+		return
+	}
+	min_date = tmpData.MinDate
+	max_date = tmpData.MaxDate
+
 	return
 }
 
 func ModifyBaseFromSmmMinDateAndMaxDate(baseFromSmmIndexId int, minDate, maxDate string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Scan(&list).Error
+
 	return
 }
 
 func GetBaseFromSmmIndexByIndexCode(indexCode string) (list *BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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)
-	return
-}
+	err = o.Raw(sql, classifyId).Scan(&list).Error
 
-// GetSmmIndexAll 用于分类展示
-func GetSmmIndexAll() (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
-	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)
 	return
 }
 
 // GetBaseFromSmmIndexByIndexId 根据指标id获取指标信息
 func GetBaseFromSmmIndexByIndexId(indexId int) (item *BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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")
+	o := global.DmSQL["data"]
 	sql := `SELECT max(sort) FROM base_from_smm_index WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	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.DmSQL["data"]
 	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
 }
 
@@ -218,72 +237,74 @@ type BaseFromSmmIndexType struct {
 
 // GetBaseFromSmmIndexType 获取历史指标信息类型
 func GetBaseFromSmmIndexType() (list []BaseFromSmmIndexType, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&list).Error
+
 	return
 }
 
 // MoveBaseFromSmmIndex 移动指标分类
 func MoveBaseFromSmmIndex(chartInfoId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 // Update 更新Smm指标基础信息
 func (item *BaseFromSmmIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	err = global.DmSQL["data"].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
-	}
+	to := global.DmSQL["data"].Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -294,14 +315,14 @@ func DeleteBaseFromSmmIndexById(smmIndexId int) (err error) {
 
 	//删除指标
 	sql := `DELETE FROM base_from_smm_index WHERE base_from_smm_index_id = ? `
-	_, err = to.Raw(sql, smmIndexId).Exec()
+	err = to.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 = to.Exec(sql, smmIndexId).Error
 	if err != nil {
 		return
 	}
@@ -341,8 +362,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.DmSQL["data"]
+	err = o.Raw(sql, pars, startSize, pageSize).Scan(&items).Error
+
 	return
 }
 
@@ -352,8 +374,9 @@ 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.DmSQL["data"]
+	err = o.Raw(sql, pars).Scan(&total).Error
+
 	return
 }
 
@@ -396,9 +419,10 @@ type BaseFromSmmIndexTypeList struct {
 
 // GetBaseFromSmmIndexTypeList
 func GetBaseFromSmmIndexTypeList() (list []BaseFromSmmIndexTypeList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&list).Error
+
 	return
 }
 
@@ -413,15 +437,17 @@ 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.DmSQL["data"]
+	err = o.Raw(sql, pars).Scan(&items).Error
+
 	return
 }
 
 func GetBaseFromSmmIndexByIndexCodes(indexCodes string) (list []*BaseFromSmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := ` SELECT * FROM base_from_smm_index WHERE index_code IN (` + indexCodes + `)`
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Scan(&list).Error
+
 	return
 }
 

+ 57 - 57
models/data_manage/base_from_smm_classify.go

@@ -1,9 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -23,16 +22,22 @@ type BaseFromSmmClassify struct {
 
 // AddBaseFromSmmClassify 添加SMM原始数据分类
 func AddBaseFromSmmClassify(item *BaseFromSmmClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	err = global.DmSQL["data"].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.DmSQL["data"]
 	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 +50,28 @@ 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.DmSQL["data"]
 	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.DmSQL["data"]
 	sql := `SELECT * FROM base_from_smm_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).Scan(&item).Error
+
 	return
 }
 
 // EditBaseFromSmmClassify 修改SMM原始数据分类
 func EditBaseFromSmmClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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 +83,19 @@ 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.DmSQL["data"]
 	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.DmSQL["data"]
 	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 +138,28 @@ type BaseFromSmmClassifyItemsButton struct {
 
 // GetBaseFromSmmClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromSmmClassifyByParentId(parentId int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetBaseFromSmmClassifyByIds 根据id获取当下的分类列表数据
 func GetBaseFromSmmClassifyByIds(classifyIds []int) (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // GetAllBaseFromSmmClassify 获取所有的分类列表数据
 func GetAllBaseFromSmmClassify() (items []*BaseFromSmmClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -166,53 +179,36 @@ type BaseFromSmmClassifySimplify struct {
 	ParentId     int
 }
 
-// GetFirstBaseFromSmmClassify 获取当前分类下,且排序数相同 的排序第一条的数据
-func GetFirstBaseFromSmmClassify() (item *BaseFromSmmClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_smm_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
-	return
-}
-
-// UpdateBaseFromSmmClassifySortByClassifyId 根据分类id更新排序
-func UpdateBaseFromSmmClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	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()
-	return
-}
-
 // MoveUpSmmIndexClassifyBySort 往上移动
 func MoveUpSmmIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	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 = global.DmSQL["data"].Exec(sql, parentId, nextSort, currentSort).Error
+
 	return
 }
 
 // MoveDownSmmIndexClassifyBySort 往下移动
 func MoveDownSmmIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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")
 	sql := `select min(sort) from base_from_smm_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = global.DmSQL["data"].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.DmSQL["data"]
+	err = o.Select(cols).Updates(BaseFromSmmClassify).Error
+
 	return
 }
 
@@ -222,36 +218,39 @@ type AddSmmClassifyResp struct {
 
 // DeleteSmmClassifyByClassifyId 根据分类id删除对应的指标分类
 func DeleteSmmClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
+	err = o.CreateInBatches(list, utils.MultiAddNum).Error
+
 	return
 }
 
 // InitSmmClassifySort 初始化sort值
 func InitSmmClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	sql := `UPDATE base_from_smm_index s
 LEFT JOIN (
 SELECT
@@ -262,6 +261,7 @@ 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
 }

+ 47 - 37
models/data_manage/base_from_ths_hf.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"strings"
 	"time"
@@ -97,12 +97,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)
+	err = global.DmSQL["data"].Create(m).Error
+
 	return
 }
 
@@ -110,21 +106,23 @@ func (m *BaseFromThsHfIndex) CreateMulti(items []*BaseFromThsHfIndex) (err error
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DmSQL["data"].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.DmSQL["data"]
+	err = o.Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *BaseFromThsHfIndex) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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 +130,10 @@ func (m *BaseFromThsHfIndex) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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 +141,43 @@ func (m *BaseFromThsHfIndex) RemoveByCondition(condition string, pars []interfac
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -184,12 +187,13 @@ 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).Scan(&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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -199,7 +203,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)
+	err = o.Raw(sql, pars, startSize, pageSize).Scan(&items).Error
+
 	return
 }
 
@@ -249,9 +254,10 @@ func (m *BaseFromThsHfIndex) UpdateClassifyMulti(ids []int, classifyId int) (err
 	if len(ids) == 0 || classifyId <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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 +413,42 @@ type ThsHfIndexPageListResp struct {
 }
 
 func GetThsHfIndexById(indexId int) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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")
+	o := global.DmSQL["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)
+	err = o.Raw(sql, classifyId).Scan(&sort).Error
+
 	return
 }
 
 // GetFirstThsHfIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstThsHfIndexByClassifyId(classifyId int) (item *BaseFromThsHfIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 

+ 45 - 39
models/data_manage/base_from_ths_hf_classify.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -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)
+	err = global.DmSQL["data"].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)
+	err = global.DmSQL["data"].CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 func (m *BaseFromThsHfClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DmSQL["data"].Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *BaseFromThsHfClassify) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.BaseFromThsHfClassifyId).Exec()
+	err = global.DmSQL["data"].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")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DmSQL["data"].Exec(sql, ids).Error
+
 	return
 }
 
@@ -109,39 +105,42 @@ func (m *BaseFromThsHfClassify) RemoveByCondition(condition string, pars []inter
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DmSQL["data"].Exec(sql, pars).Error
+
 	return
 }
 
 func (m *BaseFromThsHfClassify) GetItemById(id int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -151,12 +150,13 @@ 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).Scan(&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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -166,7 +166,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)
+	err = o.Raw(sql, pars, startSize, pageSize).Scan(&items).Error
+
 	return
 }
 
@@ -209,9 +210,10 @@ type ThsHfClassifyEditReq struct {
 }
 
 func (m *BaseFromThsHfClassify) GetSortMax(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["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)
+	err = o.Raw(sql, parentId).Scan(&sort).Error
+
 	return
 }
 
@@ -245,53 +247,57 @@ type BaseFromThsHfClassifyMoveReq struct {
 }
 
 func GetThsHfClassifyById(classifyId int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // UpdateThsHfClassifySortByParentId 根据父类id更新排序
 func UpdateThsHfClassifySortByParentId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	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 = global.DmSQL["data"].Exec(sql, parentId, nowSort).Error
+
 	return
 }
 
 // GetFirstThsHfClassifyByParentId 获取当前父级分类下,且排序数相同 的排序第一条的数据
 func GetFirstThsHfClassifyByParentId(parentId int) (item *BaseFromThsHfClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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()
+	err = o.Exec(sql, pars).Error
 	if err != nil {
 		return
 	}
+
 	return
 }

+ 29 - 27
models/data_manage/base_from_ths_hf_data.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -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)
+	err = global.DmSQL["data"].Create(m).Error
+
 	return
 }
 
@@ -65,21 +61,22 @@ func (m *BaseFromThsHfData) CreateMulti(items []*BaseFromThsHfData) (err error)
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DmSQL["data"].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.DmSQL["data"]
+	err = o.Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *BaseFromThsHfData) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.BaseFromThsHfDataId).Exec()
+	err = global.DmSQL["data"].Exec(sql, m.BaseFromThsHfDataId).Error
+
 	return
 }
 
@@ -87,9 +84,9 @@ func (m *BaseFromThsHfData) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DmSQL["data"].Exec(sql, ids).Error
+
 	return
 }
 
@@ -97,39 +94,42 @@ func (m *BaseFromThsHfData) RemoveByCondition(condition string, pars []interface
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DmSQL["data"].Exec(sql, pars).Error
+
 	return
 }
 
 func (m *BaseFromThsHfData) GetItemById(id int) (item *BaseFromThsHfData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -139,12 +139,13 @@ 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).Scan(&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.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -154,7 +155,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)
+	err = o.Raw(sql, pars, startSize, pageSize).Scan(&items).Error
+
 	return
 }
 

+ 134 - 163
models/data_manage/base_from_trade_index.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -115,90 +115,100 @@ type BaseFromTradeEicIndex struct {
 }
 
 func GetBaseFromTradeIndexByParam(exchange, date, classifyName, classifyType string) (list []*BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&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).Scan(&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).Scan(&list).Error
 		return
 	}
 }
 
 func GetExchangeClassify(exchange, dataTime string) (classifyName []string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetCountryEicDate(date string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetSSOEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetStorageEicDate(date, country string) (data []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetEicDate() (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
 func GetEicHistoryDate(code string) (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
 func GetEicHistoryDateByDate(code, startDate, endDate string) (date []*BaseFromTradeEicIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
@@ -218,14 +228,6 @@ type BaseFromCoalmineJsmIndex struct {
 	ModifyTime                 string `description:"修改时间"`
 }
 
-// GetBaseFromCoalmineIndex 查询数据
-func GetBaseFromCoalmineIndex(startDate, endDate string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
-	return
-}
-
 type BaseFromCoalmineCompanyIndex struct {
 	BaseFromCoalmineCompanyIndexId int    `orm:"column(base_from_coalmine_company_index_id);pk"`
 	IndexName                      string `description:"持买单量指标名称"`
@@ -242,14 +244,6 @@ type BaseFromCoalmineCompanyIndex struct {
 	ModifyTime                     string `description:"修改时间"`
 }
 
-// GetBaseFromCoalmineCompanyIndex 查询公司指标
-func GetBaseFromCoalmineCompanyIndex(startDate, endDate string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_company_index WHERE data_time between ? and ? `
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
-	return
-}
-
 // BaseFromCoalmineFirmIndex 煤矿产量周度公司数据表
 type BaseFromCoalmineFirmIndex struct {
 	BaseFromCoalmineFirmIndexID int    `orm:"column(base_from_coalmine_firm_index_id);pk"`
@@ -265,16 +259,6 @@ type BaseFromCoalmineFirmIndex struct {
 	ModifyTime                  string `description:"修改时间"`
 }
 
-// 查询指标
-func GetBaseFromCoalmineFirmIndex(dataTime string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE data_time LIKE  `
-	sql = sql + "'" + dataTime + "%" + "'"
-	_, err = o.Raw(sql).QueryRows(&items)
-	fmt.Println(sql)
-	return
-}
-
 // BaseFromCoalmineCoastalIndex 沿海八省动力煤用户供耗存数据指标表
 type BaseFromCoalmineCoastalIndex struct {
 	BaseFromCoalmineCoastalIndexID int    `orm:"column(base_from_coalmine_coastal_index_id);pk"`
@@ -292,9 +276,10 @@ type BaseFromCoalmineCoastalIndex struct {
 
 // 查询指标
 func GetBaseFromCoalmineCoastalIndex(startDate, endDate string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -315,9 +300,10 @@ type BaseFromCoalmineInlandIndex struct {
 
 // 查询指标
 func GetBaseFromCoalmineInlandIndex(startDate, endDate string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -374,227 +360,211 @@ type FrequencyResp struct {
 
 // GetFrequencyFromCoal 获取指标信息
 func GetFrequencyFromCoal(suffix string) (list *string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT DISTINCT frequency FROM base_from_coalmine_%s `
 	sql = fmt.Sprintf(sql, suffix)
-	err = o.Raw(sql).QueryRow(&list)
-	return
-}
+	err = o.Raw(sql).Scan(&list).Error
 
-// 查询数据
-func GetBaseFromCoalmineIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND province=?`
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
 	return
 }
 
 // 查询数据
 func GetGroupNameFromCoalmineIndex(suffix string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询数据
 func GetProvinceFromCoalmineIndex(suffix string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT DISTINCT province FROM base_from_coalmine_%s `
 	sql = fmt.Sprintf(sql, suffix)
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Scan(&items).Error
+
 	return
 }
 
 // 查询数据
 func GetClassifyCoalmineIndexByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询数据
 func GetPageFromCoalmineIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询数据
 func GetCountFromJsm(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 func GetClassifyCompanyByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 func GetClassifyJsmByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询公司指标
 func GetPageFromCoalmineCompanyIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 func GetCountFromCompany(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 func GetCountFromFirm(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 func GetClassifyFirmByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineFirmIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 func GetCountFromCoastal(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 func GetClassifyCoastalByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineCoastalIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 func GetCountFromInland(indexCode string) (item int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&item).Error
+
 	return
 }
 
 func GetClassifyInlandByGroupName(groupName string) (items []*string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetPageFromCoalmineInlandIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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)
-	return
-}
-
-// 查询公司指标
-func GetBaseFromCoalmineCompanyIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
-	return
-}
+	err = o.Raw(sql, frequency, classify, startSize, pageSize).Scan(&items).Error
 
-// 查询指标
-func GetBaseFromCoalmineFirmIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
-	return
-}
-
-// 查询指标
-func GetBaseFromCoalmineCoastalIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
-	return
-}
-
-// 查询指标
-func GetBaseFromCoalmineInlandIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND group_name=? `
-	_, err = o.Raw(sql, frequency, groupName).QueryRows(&items)
 	return
 }
 
 // 查询数据
 func GetBaseFromCoalmineIndexByCode(indexCode string) (items []*BaseFromCoalmineJsmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE index_code=?`
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Scan(&items).Error
+
 	return
 }
 
 // 查询公司指标
 func GetBaseFromCoalmineCompanyIndexByCode(indexCode string) (items []*BaseFromCoalmineCompanyIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineFirmIndexByCode(indexCode string) (items []*BaseFromCoalmineFirmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineCoastalIndexByCode(indexCode string) (items []*BaseFromCoalmineCoastalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Scan(&items).Error
+
 	return
 }
 
 // 查询指标
 func GetBaseFromCoalmineInlandIndexByCode(indexCode string) (items []*BaseFromCoalmineInlandIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Scan(&items).Error
+
 	return
 }
 
@@ -633,58 +603,58 @@ type BaseFromTradeEicIndexV2 struct {
 }
 
 func GetEicDateV2() (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
 func GetEicDataV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetEicHistoryDateByDateV2(code, startDate, endDate string) (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
 func GetEicHistoryDateV2(code string) (date []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&date).Error
+
 	return
 }
 
 func GetContinentAndCountryEicDateV2(date string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&data).Error
+
 	return
 }
 
 func GetSSOAndFacEicDateV2(date, name string) (data []*BaseFromTradeEicIndexV2, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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)
-	return
-}
+	err = o.Raw(sql, date).Scan(&data).Error
 
-func GetBaseFromTradeIndexByDate(exchange, startDate, endDate string) (list []*BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	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)
 	return
 }
 
 func GetFirstBaseFromTradeIndexByDate(exchange string) (item *BaseFromTradeShanghaiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 
@@ -696,8 +666,9 @@ type BaseFromCoalmineClassify struct {
 }
 
 func GetCoalmineClassifyList() (list []*BaseFromCoalmineClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := "SELECT * FROM base_from_coalmine_classify"
-	_,err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Scan(&list).Error
+
 	return
 }

+ 23 - 17
models/data_manage/base_from_yongyi.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -53,34 +53,37 @@ type YongyiSingleData struct {
 }
 
 func GetYongyiIndex(condition string, pars interface{}) (items []*BaseFromYongyiIndexList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	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 = global.DmSQL["data"].Raw(sql, pars).Scan(&items).Error
+
 	return
 }
 
 func GetYongyiIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
 func GetYongyiIndexDataByCodes(indexCode []string) (items []*BaseFromYongyiData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -104,26 +107,29 @@ type BaseFromYongyiIndexSearchItem struct {
 
 // GetYongyiItemList 模糊查询Yongyi数据库指标列表
 func GetYongyiItemList(condition string) (items []*BaseFromYongyiIndexSearchItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := "SELECT * FROM base_from_yongyi_index  WHERE 1=1"
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Scan(&items).Error
+
 	return
 }
 
 func GetYongyiIndexDataByCode(indexCode string) (list []*BaseFromYongyiData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM base_from_yongyi_data WHERE index_code=? `
-	_, err = o.Raw(sql, indexCode).QueryRows(&list)
+	err = o.Raw(sql, indexCode).Scan(&list).Error
+
 	return
 }
 
 func GetBaseFromYongyiIndexByIndexCode(indexCode string) (list *BaseFromYongyiIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 
@@ -134,8 +140,8 @@ type BaseFromYongyiIndexType struct {
 
 // Update 更新Yongyi指标基础信息
 func (item *BaseFromYongyiIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	err = global.DmSQL["data"].Select(cols).Updates(item).Error
+
 	return
 }
 

+ 7 - 143
models/data_manage/base_from_yongyi_classify.go

@@ -1,9 +1,7 @@
 package data_manage
 
 import (
-	"eta_gn/eta_api/utils"
-	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -20,45 +18,6 @@ type BaseFromYongyiClassify struct {
 	CreateTime      time.Time `description:"创建时间"`
 }
 
-// AddBaseFromYongyiClassify 添加Yongyi原始数据分类
-func AddBaseFromYongyiClassify(item *BaseFromYongyiClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
-	return
-}
-
-// GetBaseFromYongyiClassifyCount 获取分类名称的个数
-func GetBaseFromYongyiClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	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)
-	return
-}
-
-// GetBaseFromYongyiClassifyById 通过分类id的获取分类信息
-func GetBaseFromYongyiClassifyById(classifyId int) (item *BaseFromYongyiClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_yongyi_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
-	return
-}
-
-// EditBaseFromYongyiClassify 修改Yongyi原始数据分类
-func EditBaseFromYongyiClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_yongyi_classify SET classify_name=?,modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
-	return
-}
-
-// UpdateBaseFromYongyiClassifySort 修改Yongyi原始数据分类的排序
-func UpdateBaseFromYongyiClassifySort(classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_yongyi_classify SET sort=classify_id, modify_time=NOW() WHERE classify_id=? `
-	_, err = o.Raw(sql, classifyId).Exec()
-	return
-}
-
 type BaseFromYongyiClassifyItems struct {
 	ClassifyId      int    `description:"分类ID"`
 	YongyiIndexId   int    `description:"指标类型ID"`
@@ -91,19 +50,12 @@ type BaseFromYongyiClassifyItemsButton struct {
 	MoveButton   bool `description:"是否可移动"`
 }
 
-// GetBaseFromYongyiClassifyByParentId 根据上级id获取当下的分类列表数据
-func GetBaseFromYongyiClassifyByParentId(parentId int) (items []*BaseFromYongyiClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_yongyi_classify WHERE parent_id=? order by sort asc,classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
-	return
-}
-
 // GetAllBaseFromYongyiClassify 获取所有的分类列表数据
 func GetAllBaseFromYongyiClassify() (items []*BaseFromYongyiClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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).Scan(&items).Error
+
 	return
 }
 
@@ -123,102 +75,14 @@ type BaseFromYongyiClassifySimplify struct {
 	ParentId     int
 }
 
-// GetFirstBaseFromYongyiClassify 获取当前分类下,且排序数相同 的排序第一条的数据
-func GetFirstBaseFromYongyiClassify() (item *BaseFromYongyiClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_yongyi_classify order by sort asc,classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
-	return
-}
-
-// UpdateBaseFromYongyiClassifySortByClassifyId 根据分类id更新排序
-func UpdateBaseFromYongyiClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	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()
-	return
-}
-
-// MoveUpYongyiIndexClassifyBySort 往上移动
-func MoveUpYongyiIndexClassifyBySort(parentId, nextSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	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()
-	return
-}
-
-// MoveDownYongyiIndexClassifyBySort 往下移动
-func MoveDownYongyiIndexClassifyBySort(parentId, prevSort, currentSort int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	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()
-	return
-}
-
-// GetYongyiIndexClassifyMinSort 获取最小不等于0的排序
-func GetYongyiIndexClassifyMinSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `select min(sort) from base_from_yongyi_classify where parent_id=? and sort <> 0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
-	return
-}
-
 // Update 更新分类基础信息
 func (BaseFromYongyiClassify *BaseFromYongyiClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromYongyiClassify, cols...)
+	o := global.DmSQL["data"]
+	err = o.Select(cols).Updates(BaseFromYongyiClassify).Error
+
 	return
 }
 
 type AddYongyiClassifyResp struct {
 	ClassifyId int
 }
-
-// DeleteYongyiClassifyByClassifyId 根据分类id删除对应的指标分类
-func DeleteYongyiClassifyByClassifyId(classifyIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	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()
-	return
-}
-
-// AddYongyiClassifyMulti 批量新增SMM类别
-func AddYongyiClassifyMulti(list []*BaseFromYongyiClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, list)
-	return
-}
-
-// InitYongyiClassifySort 初始化sort值
-func InitYongyiClassifySort() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_yongyi_classify 
-SET modify_time=NOW(), sort = classify_id`
-	_, err = o.Raw(sql).Exec()
-	return
-}
-
-// InitYongyiIndexClassifyId 历史数据的classifyId值
-func InitYongyiIndexClassifyId() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_yongyiindex s
-LEFT JOIN (
-SELECT
-	c1.classify_id,
-	CONCAT( c2.classify_name, c1.classify_name ) AS type_name 
-FROM
-	base_from_yongyi_classify c1
-	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()
-	return
-}

+ 42 - 52
models/data_manage/chart_info_correlation.go

@@ -1,8 +1,9 @@
 package data_manage
 
 import (
+	"eta_gn/eta_api/global"
+	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -47,44 +48,44 @@ func (m *ChartInfoCorrelation) TableName() string {
 }
 
 func (m *ChartInfoCorrelation) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(m)
-	if err != nil {
-		return
-	}
-	//m.CorrelationChartInfoId = int(id)
+	err = global.DmSQL["data"].Create(m).Error
+
 	return
 }
 
 func (m *ChartInfoCorrelation) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	o := global.DmSQL["data"]
+	err = o.Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *ChartInfoCorrelation) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 
 func (m *ChartInfoCorrelation) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 
 func (m *ChartInfoCorrelation) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	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
 }
 
 func (m *ChartInfoCorrelation) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*ChartInfoCorrelation, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -94,14 +95,14 @@ 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).Scan(&items).Error
+
 	return
 }
 
 // CreateCorrelationChartAndEdb 新增相关性图表
 func CreateCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartEdbMapping, correlationInfo *ChartInfoCorrelation) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
+	tx := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -114,25 +115,25 @@ func CreateCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingList []*ChartE
 	}()
 
 	// 新增图表信息
-	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
 		}
 	}
 	// 相关性信息
 	correlationInfo.CorrelationChartInfoId = chartInfoId
-	if _, err = tx.Insert(correlationInfo); err != nil {
+	err = tx.Create(correlationInfo).Error
+	if err != nil {
 		return
 	}
 	return
@@ -170,12 +171,7 @@ 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)
-		return
-	}
+	tx := global.DmSQL["data"].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -185,12 +181,11 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	}()
 
 	// 新增图表信息
-	chartId, e := tx.Insert(chartInfo)
+	e := tx.Create(chartInfo).Error
 	if e != nil {
 		err = fmt.Errorf("chart insert err: %v", e)
 		return
 	}
-	chartInfo.ChartInfoId = int(chartId)
 	chartInfoId = chartInfo.ChartInfoId
 
 	// 指标mapping
@@ -198,7 +193,7 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, e = tx.InsertMulti(200, edbMappingList)
+		e = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("edb mappings insert err: %v", e)
 			return
@@ -207,7 +202,7 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 
 	// 相关性信息
 	correlationInfo.CorrelationChartInfoId = chartInfoId
-	if _, e = tx.Insert(correlationInfo); e != nil {
+	if e = tx.Create(correlationInfo).Error; e != nil {
 		err = fmt.Errorf("correlate chart insert err: %v", e)
 		return
 	}
@@ -221,7 +216,7 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 				v.ChartInfoId = chartInfoId
 				//v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 			}
-			_, e = tx.InsertMulti(200, chartMappings)
+			e = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
 			if e != nil {
 				err = fmt.Errorf("insert series chart mappings err: %v", e)
 				return
@@ -255,18 +250,18 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 		id := v.FactorEdbSeriesId
 		originSeriesIds = append(originSeriesIds, id)
 		v.FactorEdbSeriesId = 0
-		newId, e := tx.Insert(v)
+		e = tx.Create(v).Error
 		if e != nil {
 			err = fmt.Errorf("copy series err: %v", e)
 			return
 		}
-		seriesIdMap[id] = int(newId)
+		seriesIdMap[id] = v.FactorEdbSeriesId
 	}
 	for _, v := range copySeriesEdb {
 		v.FactorEdbSeriesMappingId = 0
 		v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 	}
-	_, e = tx.InsertMulti(200, copySeriesEdb)
+	e = tx.CreateInBatches(copySeriesEdb, utils.MultiAddNum).Error
 	if e != nil {
 		err = fmt.Errorf("copy series edb mappings err: %v", e)
 		return
@@ -277,7 +272,7 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 			v.ChartInfoId = chartInfoId
 			v.FactorEdbSeriesId = seriesIdMap[v.FactorEdbSeriesId]
 		}
-		_, e = tx.InsertMulti(200, chartMappings)
+		e = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("copy series chart mappings err: %v", e)
 			return
@@ -293,7 +288,7 @@ func CreateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 			t.FactorEdbSeriesId = seriesIdMap[t.FactorEdbSeriesId]
 			newCalculateData = append(newCalculateData, t)
 		}
-		_, e = tx.InsertMulti(200, newCalculateData)
+		e = tx.CreateInBatches(newCalculateData, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("copy series calculate data err: %v", e)
 			return
@@ -304,12 +299,7 @@ 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)
-		return
-	}
+	tx := global.DmSQL["data"].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -319,7 +309,7 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	}()
 
 	// 更新图表信息
-	_, e = tx.Update(chartInfo, chartUpdateCols...)
+	e := tx.Select(chartUpdateCols).Updates(chartInfo).Error
 	if e != nil {
 		err = fmt.Errorf("chart update err: %v", e)
 		return
@@ -327,7 +317,7 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 
 	// 指标mapping
 	sql := `DELETE FROM chart_edb_mapping WHERE chart_info_id = ?`
-	_, e = tx.Raw(sql, chartInfo.ChartInfoId).Exec()
+	e = tx.Exec(sql, chartInfo.ChartInfoId).Error
 	if e != nil {
 		err = fmt.Errorf("clear chart edb mapping err: %v", e)
 		return
@@ -336,7 +326,7 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfo.ChartInfoId
 		}
-		_, e = tx.InsertMulti(200, edbMappingList)
+		e = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("edb mappings insert err: %v", e)
 			return
@@ -344,7 +334,7 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 	}
 
 	// 相关性信息
-	_, e = tx.Update(correlationInfo, correlateUpdateCols...)
+	e = tx.Select(correlateUpdateCols).Updates(correlationInfo).Error
 	if e != nil {
 		err = fmt.Errorf("correlate chart update err: %v", e)
 		return
@@ -354,7 +344,7 @@ 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()
+	e = tx.Exec(sql, chartInfo.ChartInfoId).Error
 	if e != nil {
 		err = fmt.Errorf("clear chart mapping err: %v", e)
 		return
@@ -363,7 +353,7 @@ func UpdateMultiFactorCorrelationChartAndEdb(chartInfo *ChartInfo, edbMappingLis
 
 	// 指标系列-图表关联
 	if len(chartMappings) > 0 {
-		_, e = tx.InsertMulti(200, chartMappings)
+		e = tx.CreateInBatches(chartMappings, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("insert series chart mappings err: %v", e)
 			return

+ 4 - 5
models/data_manage/chart_type.go

@@ -1,8 +1,6 @@
 package data_manage
 
-import (
-	"github.com/beego/beego/v2/client/orm"
-)
+import "eta_gn/eta_api/global"
 
 type ChartType struct {
 	ChartTypeId     int    `orm:"column(chart_type_id);pk"`
@@ -31,8 +29,9 @@ func (c *ChartType) TableName() string {
 
 // 查询所有图表类型
 func GetChartTypeList() (items []ChartType, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DmSQL["data"]
 	sql := `SELECT * FROM chart_type order by sort asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Scan(&items).Error
+
 	return
 }