xyxie 1 mese fa
parent
commit
5fc06a8a24

+ 8 - 5
models/data_manage/manual.go

@@ -1,6 +1,9 @@
 package data_manage
 
-import "github.com/beego/beego/v2/client/orm"
+import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
+)
 
 type ManualSysUser struct {
 	ItemId   int    `description:"部门/组/用户 id"`
@@ -18,8 +21,8 @@ func GetManualClassifyEdbInfoCount() (items []*ManualClassifyEdbInfoCount, err e
 			INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
 			WHERE a.is_show=1
 			GROUP BY a.classify_id `
-	o := orm.NewOrmUsingDB("edb")
-	_, err = o.Raw(sql).QueryRows(&items)
+	o := global.DbMap[utils.DbNameManualIndex]
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -28,7 +31,7 @@ func GetManualEdbInfoCountByClassifyId(classifyId int) (total int, err error) {
 	sql := ` SELECT COUNT(1) AS total FROM edbdata_classify AS a
 			INNER JOIN edbinfo AS b ON a.classify_id=b.classify_id
 			WHERE a.is_show=1 AND b.classify_id = ?`
-	o := orm.NewOrmUsingDB("edb")
-	err = o.Raw(sql, classifyId).QueryRow(&total)
+	o := global.DbMap[utils.DbNameManualIndex]
+	err = o.Raw(sql, classifyId).Scan(&total).Error
 	return
 }

+ 30 - 25
models/data_manage/manual_classify.go

@@ -1,12 +1,13 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 type EdbdataClassify struct {
-	ClassifyId   int       `orm:"column(classify_id);pk" description:"分类id"`
+	ClassifyId   int       `orm:"column(classify_id);pk" gorm:"primaryKey" description:"分类id"`
 	ClassifyName string    `description:"分类名称"`
 	ParentId     int       `description:"父级id"`
 	CreateTime   time.Time `description:"创建时间"`
@@ -25,8 +26,12 @@ type EdbdataClassifyList struct {
 }
 
 func AddEdbdataClassify(item *EdbdataClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("edb")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameManualIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.ClassifyId)
 	return
 }
 
@@ -40,9 +45,9 @@ type ManualClassifyList struct {
 
 func GetManualClassifyAll(adminId int) (items []*ManualClassifyList, err error) {
 	var newItems []*ManualClassifyList
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
-	_, err = o.Raw(sql).QueryRows(&newItems)
+	err = o.Raw(sql).Find(&newItems).Error
 	if err != nil {
 		return
 	}
@@ -52,7 +57,7 @@ func GetManualClassifyAll(adminId int) (items []*ManualClassifyList, err error)
 		parentId := newItems[i].ClassifyId
 		childSql := ``
 		childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
-		_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		err = o.Raw(childSql, parentId).Find(&childItems).Error
 		if err != nil {
 			return
 		}
@@ -93,9 +98,9 @@ func GetManualClassifyAll(adminId int) (items []*ManualClassifyList, err error)
 
 func GetManualClassifyAllV2() (items []*ManualClassifyList, err error) {
 	var newItems []*ManualClassifyList
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=0 AND is_show=1 ORDER BY sort ASC ,classify_id ASC `
-	_, err = o.Raw(sql).QueryRows(&newItems)
+	err = o.Raw(sql).Find(&newItems).Error
 	if err != nil {
 		return
 	}
@@ -105,7 +110,7 @@ func GetManualClassifyAllV2() (items []*ManualClassifyList, err error) {
 		parentId := newItems[i].ClassifyId
 		childSql := ``
 		childSql = "SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id=? AND is_show=1 ORDER BY sort ASC ,classify_id ASC "
-		_, err = o.Raw(childSql, parentId).QueryRows(&childItems)
+		err = o.Raw(childSql, parentId).Find(&childItems).Error
 		if err != nil {
 			return
 		}
@@ -124,29 +129,29 @@ type AddManualClassifyReq struct {
 }
 
 func GetManualClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND classify_name=? `
-	err = o.Raw(sql, parentId, classifyName).QueryRow(&count)
+	err = o.Raw(sql, parentId, classifyName).Scan(&count).Error
 	return
 }
 
 func GetManualClassifyByClassifyName(classifyName string) (item *EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := `SELECT * FROM edbdata_classify WHERE classify_name=? `
-	err = o.Raw(sql, classifyName).QueryRow(&item)
+	err = o.Raw(sql, classifyName).Find(&item).Error
 	return
 }
 
 func ModifyManualClassifyIsShow(isShow, classifyId, parentId int) (err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := `UPDATE edbdata_classify SET is_show=?,parent_id=? WHERE classify_id=? `
-	_, err = o.Raw(sql, isShow, parentId, classifyId).Exec()
+	err = o.Exec(sql, isShow, parentId, classifyId).Error
 	return
 }
 
 type EditManualClassifyReq struct {
 	ClassifyName string `description:"分类名称"`
-	ClassifyId   int    `orm:"column(classify_id);pk" description:"分类id"`
+	ClassifyId   int    `orm:"column(classify_id);pk" gorm:"primaryKey" description:"分类id"`
 	ParentId     int    `description:"上级id"`
 }
 
@@ -156,14 +161,14 @@ type DelManualClassifyReq struct {
 }
 
 func GetManualClassifyById(classifyId int) (item *EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := ` SELECT * FROM edbdata_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).Find(&item).Error
 	return
 }
 
 func ModifyManualClassifyName(classifyName string, classifyId, parentId int) (err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	updateStr := ` classify_name=? `
 	pars := []interface{}{classifyName}
 	if parentId > 0 {
@@ -173,25 +178,25 @@ func ModifyManualClassifyName(classifyName string, classifyId, parentId int) (er
 	sql := `UPDATE edbdata_classify SET ` + updateStr + ` WHERE classify_id=? `
 
 	pars = append(pars, classifyId)
-	_, err = o.Raw(sql, pars).Exec()
+	err = o.Exec(sql, pars...).Error
 	return
 }
 
 func GetManualClassifyAllByCondition(condition string) (items []*EdbdataClassifyList, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE is_show=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `  ORDER BY sort ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
 // GetChildManualClassifyCount 根据分类id获取下面存在的子分类数量(展示的)
 func GetChildManualClassifyCount(parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("edb")
+	o := global.DbMap[utils.DbNameManualIndex]
 	sql := `SELECT COUNT(1) AS count FROM edbdata_classify WHERE parent_id=? AND is_show = 1`
-	err = o.Raw(sql, parentId).QueryRow(&count)
+	err = o.Raw(sql, parentId).Scan(&count).Error
 	return
 }

+ 22 - 21
models/data_manage/manual_user.go

@@ -1,13 +1,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 type ManualUser struct {
-	ManualUserId    int       `orm:"column(manual_user_id);pk"`
+	ManualUserId    int       `orm:"column(manual_user_id);pk" gorm:"primaryKey"`
 	AdminId         int       `description:"用户id"`
 	AdminRealName   string    `description:"用户姓名"`
 	SysUserId       int       `description:"创建人id"`
@@ -17,14 +18,14 @@ type ManualUser struct {
 
 func DeleteManualUser(adminId int) (err error) {
 	sql := `DELETE FROM manual_user WHERE admin_id=? `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, adminId).Exec()
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Exec(sql, adminId).Error
 	return
 }
 
 func AddManualUser(item *ManualUser) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	return
 }
 
@@ -34,12 +35,12 @@ type ManualUserItem struct {
 }
 
 func GetManualUserList() (list []*ManualUserItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT admin_id,admin_real_name FROM manual_user
 			GROUP BY admin_id
 			ORDER BY create_time DESC `
 	fmt.Println("GetManualUserList:", sql)
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -49,10 +50,10 @@ type ManualUserList struct {
 }
 
 func GetManualSysuserAll() (list []*ManualUserList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM manual_user
 			ORDER BY create_time ASC `
-	o.Raw(sql).QueryRows()
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -62,42 +63,42 @@ type ManualSysUserClassifySaveReq struct {
 }
 
 type ManualUserClassify struct {
-	ManualUserClassifyId int `orm:"column(manual_user_classify_id);pk"`
+	ManualUserClassifyId int `orm:"column(manual_user_classify_id);pk" gorm:"primaryKey"`
 	AdminId              int
 	ClassifyId           int
 	CreateTime           time.Time
 }
 
 func AddManualUserClassifyMulti(items []*ManualUserClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(1, items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func DeleteManualUserClassifyCount(adminId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` DELETE FROM manual_user_classify WHERE admin_id=? `
-	_, err = o.Raw(sql, adminId).Exec()
+	err = o.Exec(sql, adminId).Error
 	return
 }
 
 func GetManualUserClassifyCount(adminId, classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM manual_user_classify WHERE admin_id=? AND classify_id=? `
-	err = o.Raw(sql, adminId, classifyId).QueryRow(&count)
+	err = o.Raw(sql, adminId, classifyId).Scan(&count).Error
 	return
 }
 
 func GetManualUserCount(adminId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM manual_user WHERE admin_id=? `
-	err = o.Raw(sql, adminId).QueryRow(&count)
+	err = o.Raw(sql, adminId).Scan(&count).Error
 	return
 }
 
 func GetManualUserSetClassify(adminId int) (list []*EdbdataClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM manual_user_classify WHERE admin_id=? `
-	_, err = o.Raw(sql, adminId).QueryRows(&list)
+	err = o.Raw(sql, adminId).Find(&list).Error
 	return
 }

+ 13 - 20
models/data_manage/multiple_graph_config.go

@@ -2,11 +2,11 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage/line_equation/request"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -14,7 +14,7 @@ import (
 
 // MultipleGraphConfig 多图配置表
 type MultipleGraphConfig struct {
-	MultipleGraphConfigId int       `orm:"column(multiple_graph_config_id);pk"`
+	MultipleGraphConfigId int       `orm:"column(multiple_graph_config_id);pk" gorm:"primaryKey"`
 	EdbInfoIdA            int       `description:"指标A"`
 	EdbInfoIdB            int       `description:"指标B"`
 	Curve                 string    `description:"曲线图配置"`
@@ -28,29 +28,25 @@ type MultipleGraphConfig struct {
 
 // AddMultipleGraphConfig 新增多图配置
 func AddMultipleGraphConfig(item *MultipleGraphConfig) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.MultipleGraphConfigId = int(lastId)
+	err = o.Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfig) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigById 根据配置id获取配置
 func GetMultipleGraphConfigById(id int) (item *MultipleGraphConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config WHERE multiple_graph_config_id = ? `
 	// 表格信息入库
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = o.Raw(sql, id).Find(&item).Error
 	return
 }
 
@@ -93,11 +89,8 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 	var errmsg string
 	logMsg := `` // 记录替换的日志
 
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -118,7 +111,7 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 	{
 		multipleGraphConfigList := make([]*MultipleGraphConfig, 0)
 		csql := `SELECT * FROM multiple_graph_config WHERE edb_info_id_a=0 AND edb_info_id_b=0 AND curve !=""`
-		_, err = to.Raw(csql).QueryRows(&multipleGraphConfigList)
+		err = to.Raw(csql).Find(&multipleGraphConfigList).Error
 		if err != nil {
 			errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
 			return
@@ -171,7 +164,7 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 					updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
 				}
 				updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
-				_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+				err = to.Exec(updateSQL, time.Now(), configIds).Error
 				if err != nil {
 					errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 					return
@@ -192,7 +185,7 @@ func ReplaceEdbInfoInLineEquationMultipleGraphConfig(oldEdbInfo, newEdbInfo *Edb
 				updateSQL += `WHEN ` + strconv.Itoa(updateItem.MultipleGraphConfigId) + ` THEN '` + updateItem.Curve + `' `
 			}
 			updateSQL += `END, modify_time = ? WHERE multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(updateSQL, time.Now(), configIds).Exec()
+			err = to.Exec(updateSQL, time.Now(), configIds).Error
 			if err != nil {
 				errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 				return

+ 26 - 33
models/data_manage/multiple_graph_config_chart_mapping.go

@@ -1,10 +1,10 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -12,7 +12,7 @@ import (
 
 // MultipleGraphConfigChartMapping 图表与多图配置的关系表
 type MultipleGraphConfigChartMapping struct {
-	Id                    int       `orm:"column(id);pk"`
+	Id                    int       `orm:"column(id);pk" gorm:"primaryKey"`
 	MultipleGraphConfigId int       `description:"多图配置id"`
 	ChartInfoId           int       `description:"图表id"`
 	Source                int       `description:"来源,1:曲线图,2:相关性图;3:滚动相关性图1;4:滚动相关性图2;"`
@@ -22,46 +22,42 @@ type MultipleGraphConfigChartMapping struct {
 
 // AddMultipleGraphConfigChartMapping 新增多图配置
 func AddMultipleGraphConfigChartMapping(item *MultipleGraphConfigChartMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.Id = int(lastId)
+	err = o.Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfigChartMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigChartMappingByIdAndSource 根据配置id和来源获取关联关系
 func GetMultipleGraphConfigChartMappingByIdAndSource(configId, source int) (item *MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	err = o.Raw(sql, configId, source).QueryRow(&item)
+	err = o.Raw(sql, configId, source).Find(&item).Error
 
 	return
 }
 
 // GetMultipleGraphConfigChartMappingByChartId 根据图表id和来源获取关联关系
 func GetMultipleGraphConfigChartMappingByChartId(chartId int) (item *MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE chart_info_id = ?  `
-	err = o.Raw(sql, chartId).QueryRow(&item)
+	err = o.Raw(sql, chartId).Find(&item).Error
 
 	return
 }
 
 // GetMultipleGraphConfigChartMappingListById 根据配置id获取所有关联关系
 func GetMultipleGraphConfigChartMappingListById(configId int) (items []*MultipleGraphConfigChartMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_chart_mapping WHERE multiple_graph_config_id = ? `
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	err = o.Raw(sql, configId).Find(&items).Error
 
 	return
 }
@@ -71,11 +67,8 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 	var errmsg string
 	logMsg := `` // 记录替换的日志
 
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -95,7 +88,7 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 	//替换multiple_graph_config中的指标
 	multipleGraphConfigList := make([]*MultipleGraphConfig, 0)
 	csql := `SELECT * FROM multiple_graph_config WHERE (edb_info_id_a=? or edb_info_id_b=?)`
-	_, err = to.Raw(csql, oldEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).QueryRows(&multipleGraphConfigList)
+	err = to.Raw(csql, oldEdbInfo.EdbInfoId, oldEdbInfo.EdbInfoId).Find(&multipleGraphConfigList).Error
 	if err != nil {
 		errmsg = "获取指标关联图表配置信息失败:Err:" + err.Error()
 		return
@@ -115,14 +108,14 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 					numStr := utils.GetOrmInReplace(len(configIds))
 					//更新配置中的指标A
 					sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 						return
 					}
 					//更新配置中的指标B
 					sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
 						return
@@ -131,7 +124,7 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 					// 更新
 					// 更新指标id
 					sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
-					_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+					err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 					if err != nil {
 						errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
 						return
@@ -146,21 +139,21 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 			numStr := utils.GetOrmInReplace(len(configIds))
 			//更新配置中的指标A
 			sql := `UPDATE multiple_graph_config SET edb_info_id_a=?, modify_time=? WHERE edb_info_id_a=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标A关联图表配置信息失败:Err:" + err.Error()
 				return
 			}
 			//更新配置中的指标B
 			sql = `UPDATE multiple_graph_config SET edb_info_id_b=?, modify_time=? WHERE edb_info_id_b=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
 				return
 			}
 			// 更新指标id
 			sql = `UPDATE multiple_graph_config_edb_mapping SET edb_info_id=?, modify_time=? WHERE edb_info_id=? and multiple_graph_config_id IN (` + numStr + `)`
-			_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Exec()
+			err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId, configIds).Error
 			if err != nil {
 				errmsg = "更新指标id关联图表配置信息失败:Err:" + err.Error()
 				return
@@ -174,13 +167,13 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 
 	// 更新相关性图表中的
 	sql := `UPDATE chart_info_correlation SET edb_info_id_first=?, modify_time=? WHERE edb_info_id_first=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
 		return
 	}
 	sql = `UPDATE chart_info_correlation SET edb_info_id_second=?, modify_time=? WHERE edb_info_id_second=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新相关性图表中的指标id关联失败:Err:" + err.Error()
 		return
@@ -189,7 +182,7 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 	// 替换拟合方程曲线替换指标
 	// 替换跨品种标签绑定得到指标ID
 	sql = `UPDATE chart_tag_variety SET edb_info_id=?, modify_time=? WHERE edb_info_id=?`
-	_, err = to.Raw(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Exec()
+	err = to.Exec(sql, newEdbInfo.EdbInfoId, time.Now(), oldEdbInfo.EdbInfoId).Error
 	if err != nil {
 		errmsg = "更新指标id关联跨品种分析标签失败:Err:" + err.Error()
 		return
@@ -198,8 +191,8 @@ func ReplaceMultipleGraphConfigChartEdb(oldEdbInfo, newEdbInfo *EdbInfo) (replac
 }
 
 func RemoveMultiConfigChartMappingByChartInfoId(chartInfoId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `DELETE FROM multiple_graph_config_chart_mapping WHERE chart_info_id = ?`
-	_, err = o.Raw(sql, chartInfoId).Exec()
+	err = o.Exec(sql, chartInfoId).Error
 	return
 }

+ 21 - 28
models/data_manage/multiple_graph_config_edb_mapping.go

@@ -1,14 +1,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // MultipleGraphConfigEdbMapping 指标与多图配置的关系表
 type MultipleGraphConfigEdbMapping struct {
-	Id                    int       `orm:"column(id);pk"`
+	Id                    int       `orm:"column(id);pk" gorm:"primaryKey"`
 	MultipleGraphConfigId int       `description:"多图配置id"`
 	EdbInfoId             int       `description:"指标id"`
 	Source                int       `description:"来源,1:曲线图,2:相关性图;3:滚动相关性图1;4:滚动相关性图2;10:区间计算指标"`
@@ -18,69 +18,62 @@ type MultipleGraphConfigEdbMapping struct {
 
 // AddMultipleGraphConfigEdbMapping 新增多图配置
 func AddMultipleGraphConfigEdbMapping(item *MultipleGraphConfigEdbMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	// 表格信息入库
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.Id = int(lastId)
+	err = o.Create(item).Error
 	return
 }
 
 // Update 更新 基础信息
 func (item *MultipleGraphConfigEdbMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 
 // GetMultipleGraphConfigEdbMappingByIdAndSource 根据配置id和来源获取关联关系
 func GetMultipleGraphConfigEdbMappingByIdAndSource(configId, source int) (item *MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	err = o.Raw(sql, configId, source).QueryRow(&item)
+	err = o.Raw(sql, configId, source).Find(&item).Error
 
 	return
 }
 
 // GetMultipleGraphConfigEdbMappingListById 根据配置id获取所有关联关系
 func GetMultipleGraphConfigEdbMappingListById(configId int) (items []*MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? `
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	err = o.Raw(sql, configId).Find(&items).Error
 
 	return
 }
 
 func GetMultipleGraphConfigEdbMappingListByIdAndSource(configId, source int) (items []*MultipleGraphConfigEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? `
-	_, err = o.Raw(sql, configId, source).QueryRows(&items)
+	err = o.Raw(sql, configId, source).Find(&items).Error
 
 	return
 }
 
 // AddMultipleGraphConfigEdbMappingList 新增多图配置
 func AddMultipleGraphConfigEdbMappingList(items []*MultipleGraphConfigEdbMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 func DeleteMultipleGraphConfigEdbMappingByEdbIds(configId, source int, edbIds []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `DELETE FROM multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? AND source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbIds)) + `) `
-	_, err = o.Raw(sql, configId, source, edbIds).Exec()
+	err = o.Exec(sql, configId, source, edbIds).Error
 	return
 }
 
 func DeleteMultipleGraphConfigByChartInfoId(chartInfoId, configId, source int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -89,16 +82,16 @@ func DeleteMultipleGraphConfigByChartInfoId(chartInfoId, configId, source int) (
 		}
 	}()
 	sql := ` DELETE FROM multiple_graph_config WHERE multiple_graph_config_id = ?`
-	_, err = to.Raw(sql, configId).Exec()
+	err = to.Exec(sql, configId).Error
 	if err != nil {
 		return
 	}
 	sql = ` DELETE FROM multiple_graph_config_chart_mapping WHERE chart_info_id=? and multiple_graph_config_id = ? and	source=?`
-	_, err = to.Raw(sql, chartInfoId, configId, source).Exec()
+	err = to.Exec(sql, chartInfoId, configId, source).Error
 	if err != nil {
 		return
 	}
 	sql = ` DELETE FROM  multiple_graph_config_edb_mapping WHERE multiple_graph_config_id = ? and	source=? `
-	_, err = to.Raw(sql, configId, source).Exec()
+	err = to.Exec(sql, configId, source).Error
 	return
 }

+ 136 - 129
models/data_manage/my_chart.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -14,29 +14,30 @@ type ChartListResp struct {
 }
 
 func GetChartListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*ChartInfoView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM chart_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	//sql += " ORDER BY sort ASC,chart_info_id DESC LIMIT ?,? "
 	sql += " ORDER BY create_time DESC LIMIT ?,? "
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetChartListCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM chart_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 type MyChartClassify struct {
-	MyChartClassifyId   int `orm:"column(my_chart_classify_id);pk"`
+	MyChartClassifyId   int `orm:"column(my_chart_classify_id);pk" gorm:"primaryKey"`
 	MyChartClassifyName string
 	Sort                int       `json:"-" description:"排序字段,值越小,排的越靠前"`
 	AdminId             int       `description:"创建人id"`
@@ -49,24 +50,24 @@ type MyChartClassify struct {
 }
 
 func AddMyChartClassify(item *MyChartClassify) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	return
 }
 
 func GetMyChartClassifyAll(adminId int) (item []*MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE 1=1 AND admin_id=? `
 	sql += " ORDER BY sort asc, my_chart_classify_id asc "
-	_, err = o.Raw(sql, adminId).QueryRows(&item)
+	err = o.Raw(sql, adminId).Find(&item).Error
 	return
 }
 
 func GetPublicChartClassifyAllExceptMy(adminId int) (item []*MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE 1=1 AND is_public=1 AND admin_id !=?`
 	sql += " ORDER BY public_time asc"
-	_, err = o.Raw(sql, adminId).QueryRows(&item)
+	err = o.Raw(sql, adminId).Find(&item).Error
 	return
 }
 
@@ -103,35 +104,35 @@ type MyChartClassifyAddReq struct {
 }
 
 func GetMyChartClassifyCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM my_chart_classify WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func GetMyChartClassifyById(adminId, myChartClassifyId int) (item *MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE admin_id=? AND my_chart_classify_id=? `
-	err = o.Raw(sql, adminId, myChartClassifyId).QueryRow(&item)
+	err = o.Raw(sql, adminId, myChartClassifyId).Find(&item).Error
 	return
 }
 
 // GetMyChartClassifyMastSort 获取MY ETA 分类中排序最大的值
 func GetMyChartClassifyMastSort(adminId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT MAX(sort) sort FROM my_chart_classify WHERE admin_id=? `
-	err = o.Raw(sql, adminId).QueryRow(&sort)
+	err = o.Raw(sql, adminId).Scan(&sort).Error
 	return
 }
 
 // GetMyChartClassifyMinSort 获取MY ETA 分类中排序最小的值
 func GetMyChartClassifyMinSort(adminId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT MIN(sort) sort FROM my_chart_classify WHERE admin_id=? `
-	err = o.Raw(sql, adminId).QueryRow(&sort)
+	err = o.Raw(sql, adminId).Scan(&sort).Error
 	return
 }
 
@@ -148,9 +149,9 @@ type MyChartClassifyMoveReq struct {
 }
 
 func ModifyMyChartClassify(myChartClassifyId int, myChartClassifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE my_chart_classify SET my_chart_classify_name=?,modify_time=NOW() WHERE my_chart_classify_id=?`
-	_, err = o.Raw(sql, myChartClassifyName, myChartClassifyId).Exec()
+	err = o.Exec(sql, myChartClassifyName, myChartClassifyId).Error
 	return
 }
 
@@ -159,7 +160,7 @@ type MyChartClassifyDeleteReq struct {
 }
 
 func DeleteMyChartClassify(myChartClassifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	//o.Begin()
 	//
 	//defer func() {
@@ -171,29 +172,29 @@ func DeleteMyChartClassify(myChartClassifyId int) (err error) {
 	//}()
 
 	sql := `DELETE FROM my_chart_classify WHERE my_chart_classify_id=?`
-	_, err = o.Raw(sql, myChartClassifyId).Exec()
+	err = o.Exec(sql, myChartClassifyId).Error
 	if err != nil {
 		return err
 	}
 	mappingList := make([]*MyChartClassifyMapping, 0)
 	sql = `SELECT * FROM my_chart_classify_mapping WHERE my_chart_classify_id=?`
-	_, err = o.Raw(sql, myChartClassifyId).QueryRows(&mappingList)
+	err = o.Raw(sql, myChartClassifyId).Find(&mappingList).Error
 
 	sql = `DELETE FROM my_chart_classify_mapping WHERE my_chart_classify_id=?`
-	_, err = o.Raw(sql, myChartClassifyId).Exec()
+	err = o.Exec(sql, myChartClassifyId).Error
 	if err != nil {
 		return err
 	}
 	for _, v := range mappingList {
 		var count int
 		sql = ` SELECT COUNT(1) AS count FROM my_chart_classify_mapping WHERE my_chart_id=?`
-		err = o.Raw(sql, v.MyChartId).QueryRow(&count)
+		err = o.Raw(sql, v.MyChartId).Scan(&count).Error
 		if err != nil {
 			return err
 		}
 		if count <= 0 {
 			sql = `DELETE FROM my_chart WHERE my_chart_id=?`
-			_, err = o.Raw(sql, v.MyChartId).Exec()
+			err = o.Exec(sql, v.MyChartId).Error
 			if err != nil {
 				return err
 			}
@@ -213,7 +214,7 @@ type MyChartAddResp struct {
 }
 
 type MyChart struct {
-	MyChartId   int       `orm:"column(my_chart_id);pk"`
+	MyChartId   int       `orm:"column(my_chart_id);pk" gorm:"primaryKey"`
 	ChartInfoId int       `description:"图表id"`
 	Source      int       `description:"1:ETA图库;2:商品价格"`
 	AdminId     int       `description:"用户id"`
@@ -222,7 +223,7 @@ type MyChart struct {
 }
 
 type MyChartView struct {
-	MyChartId         int       `orm:"column(my_chart_id);pk"`
+	MyChartId         int       `orm:"column(my_chart_id);pk" gorm:"primaryKey"`
 	ChartInfoId       int       `description:"图表id"`
 	AdminId           int       `description:"用户id"`
 	CreateTime        time.Time `description:"创建时间"`
@@ -231,13 +232,17 @@ type MyChartView struct {
 }
 
 func AddMyChart(item *MyChart) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.MyChartId)
 	return
 }
 
 type MyChartClassifyMapping struct {
-	MyChartClassifyMappingId int `orm:"column(my_chart_classify_mapping_id);pk"`
+	MyChartClassifyMappingId int `orm:"column(my_chart_classify_mapping_id);pk" gorm:"primaryKey"`
 	AdminId                  int
 	MyChartId                int
 	MyChartClassifyId        int
@@ -247,15 +252,19 @@ type MyChartClassifyMapping struct {
 }
 
 func AddMyChartClassifyMapping(item *MyChartClassifyMapping) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.MyChartClassifyMappingId)
 	return
 }
 
 func GetMyChartClassifyMapping(adminId, myChartId, myChartClassifyId int) (item *MyChartClassifyMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM my_chart_classify_mapping WHERE admin_id=? AND my_chart_id=? AND my_chart_classify_id=? `
-	err = o.Raw(sql, adminId, myChartId, myChartClassifyId).QueryRow(&item)
+	err = o.Raw(sql, adminId, myChartId, myChartClassifyId).Find(&item).Error
 	return
 }
 
@@ -265,22 +274,22 @@ type MyChartDeleteReq struct {
 }
 
 func DeleteMyChart(myChartId, myChartClassifyId int) (isDelMyChart bool, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if myChartClassifyId > 0 {
 		sql := `DELETE FROM my_chart_classify_mapping WHERE my_chart_id=? AND my_chart_classify_id=? `
-		_, err = o.Raw(sql, myChartId, myChartClassifyId).Exec()
+		err = o.Exec(sql, myChartId, myChartClassifyId).Error
 		if err != nil {
 			return
 		}
 		var count int
 		sql = ` SELECT COUNT(1) AS count FROM my_chart_classify_mapping WHERE my_chart_id=? `
-		err = o.Raw(sql, myChartId).QueryRow(&count)
+		err = o.Raw(sql, myChartId).Scan(&count).Error
 		if err != nil {
 			return
 		}
 		if count <= 0 {
 			sql = `DELETE FROM my_chart WHERE my_chart_id=? `
-			_, err = o.Raw(sql, myChartId).Exec()
+			err = o.Exec(sql, myChartId).Error
 			if err != nil {
 				return
 			}
@@ -288,7 +297,7 @@ func DeleteMyChart(myChartId, myChartClassifyId int) (isDelMyChart bool, err err
 		}
 	} else {
 		sql := `DELETE FROM my_chart WHERE my_chart_id=? `
-		_, err = o.Raw(sql, myChartId).Exec()
+		err = o.Exec(sql, myChartId).Error
 		if err != nil {
 			return
 		}
@@ -338,7 +347,7 @@ type MyChartListResp struct {
 }
 
 func GetMyChartListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*MyChartList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	field := `a.my_chart_id,c.admin_id,c.sort,c.create_time as c_ctime,b.chart_info_id,b.chart_name,b.chart_name_en,b.chart_classify_id,b.sys_user_id,b.sys_user_real_name,b.unique_code,b.create_time,b.modify_time,b.date_type,b.start_date,b.end_date,b.is_set_name,b.edb_info_ids,b.chart_type,b.calendar,b.season_start_date,b.season_end_date,b.chart_image,b.edb_end_date,b.disabled,b.source,b.is_join_permission `
 	//MyChartClassifyName string `description:"分类名称,多个用英文逗号分割"`
@@ -352,12 +361,13 @@ func GetMyChartListByCondition(condition string, pars []interface{}, startSize,
 		sql += condition
 	}
 	sql += " GROUP BY a.chart_info_id) AS f ORDER BY sort ASC,c_ctime desc LIMIT ?,? "
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetMyChartListCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` select a.* from my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
 			INNER JOIN my_chart_classify_mapping AS c ON a.my_chart_id=c.my_chart_id
@@ -367,14 +377,14 @@ func GetMyChartListCountByCondition(condition string, pars []interface{}) (count
 		sql += condition
 	}
 	sql1 := ` SELECT COUNT(1) AS count FROM (` + sql + ` GROUP BY a.chart_info_id ) d`
-	err = o.Raw(sql1, pars).QueryRow(&count)
+	err = o.Raw(sql1, pars...).Scan(&count).Error
 	return
 }
 
 func GetMyChartMaxSort(adminId, myChartClassifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM my_chart_classify_mapping WHERE 1=1 AND admin_id=? AND my_chart_classify_id=? `
-	err = o.Raw(sql, adminId, myChartClassifyId).QueryRow(&count)
+	err = o.Raw(sql, adminId, myChartClassifyId).Scan(&count).Error
 	return
 }
 
@@ -386,27 +396,27 @@ type MoveMyChartReq struct {
 }
 
 func MyChartMove(sort float64, adminId int, myChartId, myChartClassifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE my_chart_classify_mapping SET sort = ?,modify_time=NOW() WHERE admin_id=? AND my_chart_id=? AND my_chart_classify_id=? `
-	_, err = o.Raw(sql, sort, adminId, myChartId, myChartClassifyId).Exec()
+	err = o.Exec(sql, sort, adminId, myChartId, myChartClassifyId).Error
 	return
 }
 
 // UpdateMyChartSortByClassifyId 根据分类id更新排序
 func UpdateMyChartSortByClassifyId(myChartClassifyId, nowSort int, prevMyChartClassifyMappingId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update my_chart_classify_mapping set sort = ` + updateSort + ` WHERE my_chart_classify_id=? AND `
 	if prevMyChartClassifyMappingId > 0 {
 		sql += ` ( sort > ? or ( my_chart_classify_mapping_id < ? and sort=? )) `
 	}
-	_, err = o.Raw(sql, myChartClassifyId, nowSort, prevMyChartClassifyMappingId, nowSort).Exec()
+	err = o.Exec(sql, myChartClassifyId, nowSort, prevMyChartClassifyMappingId, nowSort).Error
 	return
 }
 
 func GetMyChartMinSortByAdminId(adminId int) (item *MyChart, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart WHERE admin_id=? ORDER BY sort ASC LIMIT 1`
-	err = o.Raw(sql, adminId).QueryRow(&item)
+	err = o.Raw(sql, adminId).Find(&item).Error
 	return
 }
 
@@ -415,7 +425,7 @@ type ChartRecommendListResp struct {
 }
 
 func GetChartClassify(chartClassifyId int) (chart_classify_id string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT GROUP_CONCAT(t.chart_classify_id) AS chart_classify_id FROM (
 			SELECT a.chart_classify_id FROM chart_classify AS a 
 			WHERE a.chart_classify_id=?
@@ -429,24 +439,25 @@ func GetChartClassify(chartClassifyId int) (chart_classify_id string, err error)
 WHERE
 	parent_id IN ( SELECT chart_classify_id FROM chart_classify WHERE parent_id = ? )
 			)AS t`
-	err = o.Raw(sql, chartClassifyId, chartClassifyId, chartClassifyId).QueryRow(&chart_classify_id)
+	err = o.Raw(sql, chartClassifyId, chartClassifyId, chartClassifyId).Scan(&chart_classify_id).Error
 	return
 }
 
 func GetRecommendChartListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*ChartInfoView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.* FROM my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id `
 	if condition != "" {
 		sql += condition
 	}
 	sql += " ORDER BY a.create_time DESC LIMIT ?,? "
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetMyChartListByAdminId(adminId int) (item []*MyChartView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	//sql := ` SELECT * FROM my_chart WHERE 1=1 AND admin_id=? `
 
 	sql := ` SELECT a.*,GROUP_CONCAT(c.my_chart_classify_id SEPARATOR ',') AS my_chart_classify_id FROM my_chart AS a
@@ -454,12 +465,12 @@ func GetMyChartListByAdminId(adminId int) (item []*MyChartView, err error) {
 			LEFT JOIN my_chart_classify AS c ON b.my_chart_classify_id=c.my_chart_classify_id AND b.admin_id=c.admin_id
 			WHERE 1=1 AND a.admin_id=?
 			GROUP BY a.chart_info_id `
-	_, err = o.Raw(sql, adminId).QueryRows(&item)
+	err = o.Raw(sql, adminId).Find(&item).Error
 	return
 }
 
 func GetMyChartSearchByCondition(condition string, pars []interface{}) (item []*MyChartList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.my_chart_id,c.sort,b.*,GROUP_CONCAT(DISTINCT d.my_chart_classify_name) AS my_chart_classify_name,GROUP_CONCAT(DISTINCT d.my_chart_classify_id) AS my_chart_classify_id
 			FROM  my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
@@ -471,7 +482,7 @@ func GetMyChartSearchByCondition(condition string, pars []interface{}) (item []*
 		sql += condition
 	}
 	sql += " GROUP BY a.chart_info_id ORDER BY c.sort DESC "
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
@@ -487,36 +498,36 @@ type MyChartEditReq struct {
 }
 
 func GetMyChartClassifyMappingCount(adminId, myChartId, myChartClassifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count
 			FROM  my_chart_classify_mapping 
 			WHERE 1=1 AND admin_id=? AND my_chart_id=? AND my_chart_classify_id=? `
-	err = o.Raw(sql, adminId, myChartId, myChartClassifyId).QueryRow(&count)
+	err = o.Raw(sql, adminId, myChartId, myChartClassifyId).Scan(&count).Error
 	return
 }
 
 func DeleteMyChartClassifyMapping(adminId, myChartId, myChartClassifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` DELETE FROM my_chart_classify_mapping
 			WHERE admin_id=? AND my_chart_id=? AND my_chart_classify_id=? `
-	_, err = o.Raw(sql, adminId, myChartId, myChartClassifyId).Exec()
+	err = o.Exec(sql, adminId, myChartId, myChartClassifyId).Error
 	return
 }
 
 func GetMyChartSort(adminId, myChartClassifyId, sort int) (item *MyChartClassifyMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify_mapping WHERE 1=1 AND admin_id=? AND my_chart_classify_id=? `
 	if sort == 1 {
 		sql += ` ORDER BY sort DESC,my_chart_classify_mapping_id ASC LIMIT 1 `
 	} else {
 		sql += ` ORDER BY sort ASC,my_chart_classify_mapping_id DESC LIMIT 1 `
 	}
-	err = o.Raw(sql, adminId, myChartClassifyId).QueryRow(&item)
+	err = o.Raw(sql, adminId, myChartClassifyId).Find(&item).Error
 	return
 }
 
 func GetMyChartByCondition(condition string, pars []interface{}) (item []*MyChartView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	//sql := ` SELECT * FROM my_chart WHERE 1=1 `
 	sql := `SELECT a.*,GROUP_CONCAT(c.my_chart_classify_id SEPARATOR ',') AS my_chart_classify_id FROM my_chart AS a
 			LEFT JOIN  my_chart_classify_mapping AS b ON a.my_chart_id=b.my_chart_id AND a.admin_id=b.admin_id
@@ -527,26 +538,24 @@ func GetMyChartByCondition(condition string, pars []interface{}) (item []*MyChar
 		sql += condition
 	}
 	sql += ` GROUP BY a.chart_info_id  `
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetMyChartDetailByCondition(condition string, pars []interface{}) (item *MyChartView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func MoveMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -561,21 +570,21 @@ func MoveMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err e
 
 	mappingList := make([]*MyChartClassifyMapping, 0)
 	sql := `SELECT * FROM my_chart_classify_mapping WHERE admin_id=? AND my_chart_id=?`
-	_, err = to.Raw(sql, adminId, myChartId).QueryRows(&mappingList)
+	err = to.Raw(sql, adminId, myChartId).Find(&mappingList).Error
 	if err != nil {
 		return
 	}
 	for _, v := range mappingList {
 		if _, ok := classifyIdMap[v.MyChartClassifyId]; !ok {
 			sql := ` DELETE FROM my_chart_classify_mapping WHERE my_chart_classify_mapping_id=? `
-			_, err = to.Raw(sql, v.MyChartClassifyMappingId).Exec()
+			err = to.Exec(sql, v.MyChartClassifyMappingId).Error
 			if err != nil {
 				return
 			}
 		}
 	}
 	//sql := `DELETE FROM my_chart_classify_mapping WHERE admin_id=? AND my_chart_id=? `
-	//_, err = to.Raw(sql, adminId, myChartId).Exec()
+	//err = to.Exec(sql, adminId, myChartId).Error
 	//if err != nil {
 	//	return err
 	//}
@@ -583,7 +592,7 @@ func MoveMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err e
 	for _, v := range myChartClassifyId {
 		var count int
 		sql := ` SELECT COUNT(1) AS count FROM my_chart_classify_mapping WHERE my_chart_id=? AND my_chart_classify_id=? `
-		err = to.Raw(sql, myChartId, v).QueryRow(&count)
+		err = to.Raw(sql, myChartId, v).Scan(&count).Error
 		if err != nil {
 			return
 		}
@@ -601,7 +610,7 @@ func MoveMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err e
 				  create_time,
 				  modify_time,
 				  sort )VALUES (?,?,?,NOW(),NOW(),?) `
-			_, err = to.Raw(sql, adminId, myChartId, v, sort).Exec()
+			err = to.Exec(sql, adminId, myChartId, v, sort).Error
 			if err != nil {
 				return err
 			}
@@ -613,27 +622,27 @@ func MoveMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err e
 
 // Update 更新分类基础信息
 func (myChartClassify *MyChartClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(myChartClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(myChartClassify).Error
 	return
 }
 
 // GetFirstMyChartClassifyByAdminId 获取当前账号下,排序第一条的分类数据
 func GetFirstMyChartClassifyByAdminId(adminId int) (item *MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE admin_id=? order by sort asc,my_chart_classify_id asc limit 1`
-	err = o.Raw(sql, adminId).QueryRow(&item)
+	err = o.Raw(sql, adminId).Find(&item).Error
 	return
 }
 
 // UpdateMyChartClassifySortByClassifyId 根据分类id更新排序
 func UpdateMyChartClassifySortByClassifyId(adminId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update my_chart_classify set sort = ` + updateSort + ` WHERE admin_id = ? and sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( my_chart_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, adminId, nowSort).Exec()
+	err = o.Exec(sql, adminId, nowSort).Error
 	return
 }
 
@@ -650,19 +659,16 @@ type CopyChartClassifyReq struct {
 
 // GetPublicMyChartClassifyById 根据分类ID获取公开分类
 func GetPublicMyChartClassifyById(myChartClassifyId int) (item *MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE is_public=1 AND my_chart_classify_id=? `
-	err = o.Raw(sql, myChartClassifyId).QueryRow(&item)
+	err = o.Raw(sql, myChartClassifyId).Find(&item).Error
 	return
 }
 
 // CopyPublicMyChartClassifyById 根据分类ID获取公开分类
 func CopyPublicMyChartClassifyById(myChartClassifyId, adminId int, newMyChartClassifyName string) (newMyChartClassify *MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -674,7 +680,7 @@ func CopyPublicMyChartClassifyById(myChartClassifyId, adminId int, newMyChartCla
 	//获取分类里面所有的图表信息
 	fromMappingList := make([]*MyChartClassifyMapping, 0)
 	sql := `SELECT * FROM my_chart_classify_mapping WHERE my_chart_classify_id=?`
-	_, err = to.Raw(sql, myChartClassifyId).QueryRows(&fromMappingList)
+	err = to.Raw(sql, myChartClassifyId).Find(&fromMappingList).Error
 	if err != nil {
 		return
 	}
@@ -686,7 +692,7 @@ func CopyPublicMyChartClassifyById(myChartClassifyId, adminId int, newMyChartCla
 
 	var minSort int
 	sql = ` SELECT MIN(sort) sort FROM my_chart_classify WHERE admin_id=? `
-	err = o.Raw(sql, adminId).QueryRow(&minSort)
+	err = o.Raw(sql, adminId).Scan(&minSort).Error
 	if err != nil {
 		return
 	}
@@ -695,7 +701,7 @@ func CopyPublicMyChartClassifyById(myChartClassifyId, adminId int, newMyChartCla
 	fromMyChartList := make([]*MyChart, 0)
 	sql = `SELECT a.* FROM my_chart a join my_chart_classify_mapping b on a.my_chart_id=b.my_chart_id
 WHERE b.my_chart_classify_id=?`
-	_, err = to.Raw(sql, myChartClassifyId).QueryRows(&fromMyChartList)
+	err = to.Raw(sql, myChartClassifyId).Find(&fromMyChartList).Error
 	if err != nil {
 		return
 	}
@@ -708,11 +714,11 @@ WHERE b.my_chart_classify_id=?`
 		ModifyTime:          time.Now(),
 		Sort:                minSort - 1,
 	}
-	newMyChartClassifyId, err := to.Insert(newMyChartClassify)
+	err = to.Create(newMyChartClassify).Error
 	if err != nil {
 		return
 	}
-
+	newMyChartClassifyId := newMyChartClassify.MyChartClassifyId
 	newMappingList := make([]*MyChartClassifyMapping, 0)
 
 	//将图表加入我的图库
@@ -724,11 +730,11 @@ WHERE b.my_chart_classify_id=?`
 			CreateTime:  time.Now(),
 			ModifyTime:  time.Now(),
 		}
-		tmpMyChartId, tmpErr := to.Insert(tmpMyChart)
+		tmpErr := to.Create(tmpMyChart).Error
 		if tmpErr != nil {
 			err = tmpErr
 		}
-		tmpMyChart.MyChartId = int(tmpMyChartId)
+		tmpMyChartId := tmpMyChart.MyChartId
 
 		// 往自己的分类里面新增图表关系
 
@@ -749,7 +755,7 @@ WHERE b.my_chart_classify_id=?`
 	}
 
 	if len(newMappingList) > 0 {
-		_, err = to.InsertMulti(len(newMappingList), newMappingList)
+		err = to.CreateInBatches(newMappingList, utils.MultiAddNum).Error
 	}
 	return
 }
@@ -762,17 +768,17 @@ type ModifyChartClassifyCompanyPublicReq struct {
 
 // GetCompanyPublicClassifyList 获取用户可见的分类列表
 func GetCompanyPublicClassifyList(condition string, pars []interface{}) (item []*MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE 1 = 1 AND is_public = 1 AND is_company_public = 1 `
 	sql += condition
 	sql += " ORDER BY public_time asc"
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 // GetMyChartClassifyList 获取我的图表关联的分类列表数据
 func GetMyChartClassifyList(myChartClassifyId int) (mappingList []*MyChartClassifyMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	//o.Begin()
 	//
 	//defer func() {
@@ -783,13 +789,13 @@ func GetMyChartClassifyList(myChartClassifyId int) (mappingList []*MyChartClassi
 	//	}
 	//}()
 	sql := `SELECT * FROM my_chart_classify_mapping WHERE my_chart_id=?`
-	_, err = o.Raw(sql, myChartClassifyId).QueryRows(&mappingList)
+	err = o.Raw(sql, myChartClassifyId).Find(&mappingList).Error
 	return
 }
 
 // AddMyChartToMyChartClassify 添加我的图表至我的分类
 func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	//o.Begin()
 
 	//defer func() {
@@ -808,7 +814,7 @@ func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int
 	//查询已存在系统中的图表分类集合
 	mappingList := make([]*MyChartClassifyMapping, 0)
 	sql := `SELECT * FROM my_chart_classify_mapping WHERE admin_id=? AND my_chart_id=?`
-	_, err = o.Raw(sql, adminId, myChartId).QueryRows(&mappingList)
+	err = o.Raw(sql, adminId, myChartId).Find(&mappingList).Error
 	if err != nil {
 		return
 	}
@@ -823,7 +829,7 @@ func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int
 	for _, v := range myChartClassifyId {
 		var count int
 		sql := ` SELECT COUNT(1) AS count FROM my_chart_classify_mapping WHERE my_chart_id=? AND my_chart_classify_id=? `
-		err = o.Raw(sql, myChartId, v).QueryRow(&count)
+		err = o.Raw(sql, myChartId, v).Scan(&count).Error
 		if err != nil {
 			return
 		}
@@ -840,7 +846,7 @@ func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int
 				  create_time,
 				  modify_time,
 				  sort )VALUES (?,?,?,NOW(),NOW(),?) `
-			_, err = o.Raw(sql, adminId, myChartId, v, sort).Exec()
+			err = o.Exec(sql, adminId, myChartId, v, sort).Error
 			if err != nil {
 				return err
 			}
@@ -852,7 +858,7 @@ func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int
 
 // GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition 获取MY ETA 图表数据,根据图表id和操作员id
 func GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(condition string, pars []interface{}) (item []*MyChartList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.admin_id,a.my_chart_id,c.sort,b.*,GROUP_CONCAT(DISTINCT d.my_chart_classify_name) AS my_chart_classify_name,GROUP_CONCAT(DISTINCT d.my_chart_classify_id) AS my_chart_classify_id
 			FROM  my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
@@ -864,12 +870,12 @@ func GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(condition string, par
 		sql += condition
 	}
 	sql += " GROUP BY a.chart_info_id,a.admin_id ORDER BY c.sort DESC "
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetRelationChartListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*ChartInfoView, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.* FROM chart_info AS a 
 	WHERE 1=1 `
 	if condition != "" {
@@ -877,18 +883,19 @@ func GetRelationChartListByCondition(condition string, pars []interface{}, start
 	}
 	//sql += " ORDER BY sort ASC,chart_info_id DESC LIMIT ?,? "
 	sql += " ORDER BY a.create_time DESC LIMIT ?,? "
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetRelationChartListCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM chart_info AS a 
 	WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
@@ -898,9 +905,9 @@ func GetChartInfoByIdList(chartInfoIdList []int) (items []*ChartInfo, err error)
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM chart_info WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, chartInfoIdList).QueryRows(&items)
+	err = o.Raw(sql, chartInfoIdList).Find(&items).Error
 	return
 }
 
@@ -909,17 +916,17 @@ func GetChartInfoViewByIdList(chartInfoIdList []int) (items []*ChartInfoView, er
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM chart_info WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, chartInfoIdList).QueryRows(&items)
+	err = o.Raw(sql, chartInfoIdList).Find(&items).Error
 	return
 }
 
 // GetMyChartClassifyByClassifyId 主键获取分类
 func GetMyChartClassifyByClassifyId(classifyId int) (item *MyChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM my_chart_classify WHERE my_chart_classify_id = ? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).Find(&item).Error
 	return
 }
 
@@ -956,7 +963,7 @@ type MyChartClassifyIdAndNum struct {
 
 // GetMyChartClassifyIdAndNum 我的图表-获取分类ID及图表数
 func GetMyChartClassifyIdAndNum(cond string, pars []interface{}) (items []*MyChartClassifyIdAndNum, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := fmt.Sprintf(`SELECT
 			a.my_chart_classify_id,
 			COUNT(1) AS chart_num
@@ -969,12 +976,12 @@ func GetMyChartClassifyIdAndNum(cond string, pars []interface{}) (items []*MyCha
 			1 = 1 %s
 		GROUP BY
 			a.my_chart_classify_id`, cond)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func GetChartClassifyByIds(chartClassifyIds []string) (chart_classify_ids string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT GROUP_CONCAT(DISTINCT t.chart_classify_id) AS chart_classify_ids
 FROM (
     SELECT chart_classify_id
@@ -987,18 +994,18 @@ FROM (
         WHERE parent_id IN (` + utils.GetOrmInReplace(len(chartClassifyIds)) + `)
     )
 ) AS t;`
-	err = o.Raw(sql, chartClassifyIds, chartClassifyIds, chartClassifyIds).QueryRow(&chart_classify_ids)
+	err = o.Raw(sql, chartClassifyIds, chartClassifyIds, chartClassifyIds).Scan(&chart_classify_ids).Error
 	return
 }
 
 func GetChartClassifyByIdsNoSubClassify(chartClassifyIds []string) (chart_classify_ids string, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT GROUP_CONCAT(DISTINCT t.chart_classify_id) AS chart_classify_ids
 FROM (
     SELECT chart_classify_id
     FROM chart_classify
     WHERE chart_classify_id IN (` + utils.GetOrmInReplace(len(chartClassifyIds)) + `)
 ) AS t;`
-	err = o.Raw(sql, chartClassifyIds).QueryRow(&chart_classify_ids)
+	err = o.Raw(sql, chartClassifyIds).Scan(&chart_classify_ids).Error
 	return
 }

+ 9 - 4
models/data_manage/my_chart_log.go

@@ -1,12 +1,13 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 type MyChartLog struct {
-	MyChartLogId    int `orm:"column(my_chart_log_id);pk"`
+	MyChartLogId    int `orm:"column(my_chart_log_id);pk" gorm:"primaryKey"`
 	MyChartId       int
 	ChartInfoId     int `description:"图表id"`
 	SysUserId       int
@@ -18,7 +19,11 @@ type MyChartLog struct {
 }
 
 func AddMyChartLog(item *MyChartLog) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.MyChartLogId)
 	return
 }

+ 42 - 44
models/data_manage/mysteel_chemical_classify.go

@@ -1,15 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // BaseFromMysteelChemicalClassify 钢联化工分类表
 type BaseFromMysteelChemicalClassify struct {
-	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id);pk"`
+	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName                      string    `description:"分类名称"`
 	ParentId                          int       `description:"父级id"`
 	SysUserId                         int       `description:"创建人id"`
@@ -23,8 +23,12 @@ type BaseFromMysteelChemicalClassify struct {
 
 // AddBaseFromMysteelChemicalClassify 添加钢联化工分类
 func AddBaseFromMysteelChemicalClassify(item *BaseFromMysteelChemicalClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.BaseFromMysteelChemicalClassifyId)
 	return
 }
 
@@ -37,9 +41,9 @@ func AddBaseFromMysteelChemicalClassify(item *BaseFromMysteelChemicalClassify) (
 // @return count int
 // @return err error
 func GetBaseFromMysteelChemicalClassifyCount(classifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_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
 }
 
@@ -52,25 +56,25 @@ func GetBaseFromMysteelChemicalClassifyCount(classifyName string, parentId int)
 // @return count int
 // @return err error
 func GetBaseFromMysteelChemicalClassifyEnCount(classifyNameEn string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_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
 }
 
 // GetBaseFromMysteelChemicalClassifyById 通过分类id的获取分类信息
 func GetBaseFromMysteelChemicalClassifyById(classifyId int) (item *BaseFromMysteelChemicalClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_classify WHERE base_from_mysteel_chemical_classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).Find(&item).Error
 	return
 }
 
 // EditBaseFromMysteelChemicalClassify 修改钢联化工分类
 func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name=?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyName, classifyId).Exec()
+	err = o.Exec(sql, classifyName, classifyId).Error
 	return
 }
 
@@ -82,9 +86,9 @@ func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (e
 // @param classifyNameEn string
 // @return err error
 func EditBaseFromMysteelChemicalClassifyEn(classifyId int, classifyNameEn string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name_en = ?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyNameEn, classifyId).Exec()
+	err = o.Exec(sql, classifyNameEn, classifyId).Error
 	return
 }
 
@@ -118,25 +122,25 @@ type BaseFromMysteelChemicalClassifyItemsButton struct {
 
 // GetBaseFromMysteelChemicalClassifyByParentId 根据上级id获取当下的分类列表数据
 func GetBaseFromMysteelChemicalClassifyByParentId(parentId int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id=? order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = o.Raw(sql, parentId).Find(&items).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalClassifyByIds 根据id获取当下的分类列表数据
 func GetBaseFromMysteelChemicalClassifyByIds(classifyIds []int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id > 0 and base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	err = o.Raw(sql, classifyIds).Find(&items).Error
 	return
 }
 
 // GetAllBaseFromMysteelChemicalClassify 获取所有的分类列表数据
 func GetAllBaseFromMysteelChemicalClassify() (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id <> 0 order by sort asc,base_from_mysteel_chemical_classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -158,45 +162,42 @@ type BaseFromMysteelChemicalClassifySimplify struct {
 
 // GetFirstBaseFromMysteelChemicalClassify 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromMysteelChemicalClassify() (item *BaseFromMysteelChemicalClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_classify order by sort asc,base_from_mysteel_chemical_classify_id asc limit 1`
-	err = o.Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).Find(&item).Error
 	return
 }
 
 // UpdateBaseFromMysteelChemicalClassifySortByClassifyId 根据分类id更新排序
 func UpdateBaseFromMysteelChemicalClassifySortByClassifyId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_mysteel_chemical_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
 	if classifyId > 0 {
 		sql += ` or ( base_from_mysteel_chemical_classify_id > ` + fmt.Sprint(classifyId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = o.Exec(sql, parentId, nowSort).Error
 	return
 }
 
 // Update 更新分类基础信息
 func (BaseFromMysteelChemicalClassify *BaseFromMysteelChemicalClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(BaseFromMysteelChemicalClassify, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(BaseFromMysteelChemicalClassify).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalClassifyMaxSort 获取分类下最大的排序数
 func GetBaseFromMysteelChemicalClassifyMaxSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT Max(sort) AS sort FROM base_from_mysteel_chemical_classify WHERE parent_id=? `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM base_from_mysteel_chemical_classify WHERE parent_id=? `
+	err = o.Raw(sql, parentId).Scan(&sort).Error
 	return
 }
 
 // DeleteMysteelChemicalByClassifyId 根据分类id删除对应的指标分类、指标、指标数据
 func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalIndexIdList []int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -211,14 +212,14 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 
 	//删除分类
 	sql := `DELETE FROM base_from_mysteel_chemical_classify  WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = to.Raw(sql, classifyIdList).Exec()
+	err = to.Exec(sql, classifyIdList).Error
 	if err != nil {
 		return
 	}
 
 	//删除指标
 	sql = `DELETE FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = to.Raw(sql, classifyIdList).Exec()
+	err = to.Exec(sql, classifyIdList).Error
 	if err != nil {
 		return
 	}
@@ -227,7 +228,7 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 	indexNum := len(mysteelChemicalIndexIdList)
 	if indexNum > 0 {
 		sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(indexNum) + `) `
-		_, err = to.Raw(sql, mysteelChemicalIndexIdList).Exec()
+		err = to.Exec(sql, mysteelChemicalIndexIdList).Error
 		if err != nil {
 			return
 		}
@@ -238,11 +239,8 @@ func DeleteMysteelChemicalByClassifyId(classifyIdList []int, mysteelChemicalInde
 
 // DeleteMysteelChemical 根据指标id删除对应的指标指标、指标数据
 func DeleteMysteelChemical(mysteelChemicalIndexId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	to := o.Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -253,14 +251,14 @@ func DeleteMysteelChemical(mysteelChemicalIndexId int) (err error) {
 
 	//删除指标
 	sql := `DELETE FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id = ? `
-	_, err = to.Raw(sql, mysteelChemicalIndexId).Exec()
+	err = to.Exec(sql, mysteelChemicalIndexId).Error
 	if err != nil {
 		return
 	}
 
 	//删除指标数据
 	sql = `DELETE FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id = ? `
-	_, err = to.Raw(sql, mysteelChemicalIndexId).Exec()
+	err = to.Exec(sql, mysteelChemicalIndexId).Error
 	if err != nil {
 		return
 	}

+ 89 - 97
models/data_manage/mysteel_chemical_index.go

@@ -1,18 +1,18 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"strings"
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // BaseFromMysteelChemicalIndex 钢联化工指标表
 type BaseFromMysteelChemicalIndex struct {
-	BaseFromMysteelChemicalIndexId    int       `orm:"column(base_from_mysteel_chemical_index_id);pk"`
+	BaseFromMysteelChemicalIndexId    int       `orm:"column(base_from_mysteel_chemical_index_id);pk" gorm:"primaryKey"`
 	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id)" description:"钢联化工指标分类id"`
 	IndexCode                         string    `description:"指标编码"`
 	IndexName                         string    `description:"指标名称"`
@@ -39,7 +39,7 @@ type BaseFromMysteelChemicalIndex struct {
 }
 
 type BaseFromMysteelChemicalIndexItem struct {
-	BaseFromMysteelChemicalIndexId int64  `orm:"column(base_from_mysteel_chemical_index_id);pk"`
+	BaseFromMysteelChemicalIndexId int64  `orm:"column(base_from_mysteel_chemical_index_id);pk" gorm:"primaryKey"`
 	IndexCode                      string `description:"指标编码"`
 	IndexName                      string `description:"指标名称"`
 	Unit                           string `description:"单位"`
@@ -82,15 +82,15 @@ var BaseFromMysteelChemicalIndexCols = struct {
 
 // Update 更新钢联化工指标基础信息
 func (item *BaseFromMysteelChemicalIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Select(cols).Updates(item).Error
 	return
 }
 func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars []interface{}, limitSize int) (items []*BaseFromMysteelChemicalIndexItem, err error) {
 	if pars == nil {
 		pars = make([]interface{}, 0)
 	}
-
+	pars = append(pars, utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
 	sql := `select a.*,b.edb_info_id,b.unique_code as edb_unique_code,b.classify_id as edb_classify_id FROM base_from_mysteel_chemical_index AS a LEFT JOIN edb_info b on a.index_code=b.edb_code AND b.source=? WHERE 1=1 `
 	if condition != "" {
 		sql += condition
@@ -102,34 +102,33 @@ func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars
 		pars = append(pars, limitSize)
 	}
 
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, pars).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, pars...).Find(&items).Error
 
 	return
 }
 
 // AddBaseFromMysteelChemicalIndex 添加钢联化工指标
 func AddBaseFromMysteelChemicalIndex(item *BaseFromMysteelChemicalIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	if err != nil {
 		return
 	}
-	item.BaseFromMysteelChemicalIndexId = int(lastId)
-
+	lastId = int64(item.BaseFromMysteelChemicalIndexId)
 	return
 }
 
 // AddBaseFromMysteelChemicalIndex 添加钢联化工指标
 func BatchAddBaseFromMysteelChemicalIndex(items []*BaseFromMysteelChemicalIndex) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
 // BaseFromMysteelChemicalData 钢联化工指标数据表
 type BaseFromMysteelChemicalData struct {
-	BaseFromMysteelChemicalDataId  int       `orm:"column(base_from_mysteel_chemical_data_id);pk"`
+	BaseFromMysteelChemicalDataId  int       `orm:"column(base_from_mysteel_chemical_data_id);pk" gorm:"primaryKey"`
 	BaseFromMysteelChemicalIndexId int       `orm:"column(base_from_mysteel_chemical_index_id)" description:"钢联化工指标id"`
 	IndexCode                      string    `description:"指标编码"`
 	DataTime                       time.Time `description:"数据日期"`
@@ -145,37 +144,37 @@ type MysteelChemicalFrequency struct {
 
 // GetMysteelChemicalIndexByClassifyId 用于分类展示
 func GetMysteelChemicalIndexByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT base_from_mysteel_chemical_index_id,base_from_mysteel_chemical_classify_id,index_name AS classify_name,
              sys_user_id,sys_user_real_name,sort,index_code 
             FROM base_from_mysteel_chemical_index where base_from_mysteel_chemical_classify_id=? ORDER BY sort asc, create_time ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 // MysteelChemicalFrequencyByClassifyId 根据分类id获取钢联化工频度数据列表
 func MysteelChemicalFrequencyByClassifyId(classifyId int) (items []*MysteelChemicalFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if classifyId == 0 {
 		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE frequency != "" GROUP BY frequency ORDER BY frequency ASC `
-		_, err = o.Raw(sql).QueryRows(&items)
+		err = o.Raw(sql).Find(&items).Error
 		return
 	} else {
 		sql := ` SELECT frequency  FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? AND frequency != "" GROUP BY frequency ORDER BY frequency ASC `
-		_, err = o.Raw(sql, classifyId).QueryRows(&items)
+		err = o.Raw(sql, classifyId).Find(&items).Error
 		return
 	}
 }
 
 // GetMysteelChemicalFrequency 获取钢联化工频度数据列表
 func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []*MysteelChemicalFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT frequency FROM base_from_mysteel_chemical_index WHERE 1=1 AND frequency != "" `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -205,14 +204,14 @@ type MysteelChemicalData struct {
 
 // GetMysteelChemicalIndex 根据分类id获取钢联化工频度数据列表
 func GetMysteelChemicalIndex(condition string, pars []interface{}) (items []*MysteelChemicalList, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -224,8 +223,8 @@ func GetMysteelChemicalIndexData(indexCode string, startSize, pageSize int) (ite
 	)AS t
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC LIMIT ?,? `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
@@ -239,24 +238,24 @@ func GetMysteelChemicalIndexDataCount(indexCode string) (count int, err error) {
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC
 			)AS n `
-	o := orm.NewOrmUsingDB("data")
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexByIndexId 根据指标id获取指标信息
 func GetBaseFromMysteelChemicalIndexByIndexId(indexId int) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id=? `
-	err = o.Raw(sql, indexId).QueryRow(&item)
+	err = o.Raw(sql, indexId).Find(&item).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexByCode 根据指标code获取指标信息
 func GetBaseFromMysteelChemicalIndexByCode(indexCode string) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = o.Raw(sql, indexCode).Find(&item).Error
 	return
 }
 
@@ -265,30 +264,30 @@ func GetBaseFromMysteelChemicalIndexByCodeList(indexCodeList []string) (items []
 	if len(indexCodeList) <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code IN (%s) `
 	holder := make([]string, 0)
 	for range indexCodeList {
 		holder = append(holder, "?")
 	}
 	sql = fmt.Sprintf(sql, strings.Join(holder, ","))
-	_, err = o.Raw(sql, indexCodeList).QueryRows(&items)
+	err = o.Raw(sql, indexCodeList).Find(&items).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexByClassifyIdAndName 根据分类id和指标名名获取指标信息
 func GetBaseFromMysteelChemicalIndexByClassifyIdAndName(classifyId int, chartName string) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id = ? and index_name = ? `
-	err = o.Raw(sql, classifyId, chartName).QueryRow(&item)
+	err = o.Raw(sql, classifyId, chartName).Find(&item).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalIndexListByClassifyId 根据指标分类id获取指标列表信息
 func GetBaseFromMysteelChemicalIndexListByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
@@ -298,22 +297,22 @@ func GetBaseFromMysteelChemicalIndexListByClassifyIdList(classifyIdList []int) (
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+	err = o.Raw(sql, classifyIdList).Find(&items).Error
 	return
 }
 
 // GetBaseFromMysteelChemicalDataMaxCount 获取分类下指标的最大数量
 func GetBaseFromMysteelChemicalDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_mysteel_chemical_index AS a
 				INNER JOIN base_from_mysteel_chemical_data AS b ON a.base_from_mysteel_chemical_index_id=b.base_from_mysteel_chemical_index_id
 				WHERE a.base_from_mysteel_chemical_classify_id=?
 				GROUP BY a.base_from_mysteel_chemical_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
@@ -322,9 +321,9 @@ func GetBaseFromMysteelChemicalDataTimeByIndexId(indexIdList []int) (items []str
 	if len(indexIdList) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT DISTINCT data_time FROM base_from_mysteel_chemical_data WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(len(indexIdList)) + `) ORDER BY data_time DESC`
-	_, err = o.Raw(sql, indexIdList).QueryRows(&items)
+	err = o.Raw(sql, indexIdList).Find(&items).Error
 	return
 }
 
@@ -336,57 +335,57 @@ func GetMysteelChemicalIndexDataByCode(indexCode string) (items []*MysteelChemic
 	)AS t
 	GROUP BY t.data_time
 	ORDER BY t.data_time DESC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 // MoveBaseFromMysteelChemicalIndex 移动钢联化工指标分类
 func MoveBaseFromMysteelChemicalIndex(chartInfoId, classifyId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_mysteel_chemical_index
 			SET
 			  base_from_mysteel_chemical_classify_id = ?
 			WHERE base_from_mysteel_chemical_index_id = ?`
-	_, err = o.Raw(sql, classifyId, chartInfoId).Exec()
+	err = o.Exec(sql, classifyId, chartInfoId).Error
 	return
 }
 
 // UpdateBaseFromMysteelChemicalIndexByClassifyId 根据指标id更新排序
 func UpdateBaseFromMysteelChemicalIndexByClassifyId(classifyId, nowSort, prevIndexInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` update base_from_mysteel_chemical_index set sort = ` + updateSort + ` WHERE base_from_mysteel_chemical_classify_id=? AND  `
 	if prevIndexInfoId > 0 {
 		sql += ` ( sort > ? or (base_from_mysteel_chemical_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
 }
 
 // GetFirstBaseFromMysteelChemicalIndexByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstBaseFromMysteelChemicalIndexByClassifyId(classifyId int) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_classify_id=? order by sort asc,base_from_mysteel_chemical_index_id asc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = o.Raw(sql, classifyId).Find(&item).Error
 	return
 }
 
 // GetMysteelChemicalIndexCount 根据条件获取钢联化工数据
 func GetMysteelChemicalIndexCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id ASC `
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = o.Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 // GetMysteelChemicalIndexList 根据分类id获取钢联化工频度数据列表
 func GetMysteelChemicalIndexList(condition string, pars []interface{}, startSize, pageSize int, orderDesc string) (items []*BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
 
 	if condition != "" {
@@ -399,7 +398,8 @@ func GetMysteelChemicalIndexList(condition string, pars []interface{}, startSize
 	sql += ` ORDER BY base_from_mysteel_chemical_index_id `
 	sql += orderDesc
 	sql += ` LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&items).Error
 
 	return
 }
@@ -410,9 +410,9 @@ func GetMysteelChemicalIndexListGroupByUserId(edbIdList []string) (items []*Base
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY sys_user_id `
-	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
+	err = o.Raw(sql, edbIdList).Find(&items).Error
 
 	return
 }
@@ -427,9 +427,9 @@ func GetMysteelChemicalIndexListByIndexId(edbIdList []string) (items []*BaseFrom
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
+	err = o.Raw(sql, edbIdList).Find(&items).Error
 
 	return
 }
@@ -444,9 +444,9 @@ func GetMysteelChemicalIndexListByUserId(userIdList []int) (items []*BaseFromMys
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userIdList).QueryRows(&items)
+	err = o.Raw(sql, userIdList).Find(&items).Error
 
 	return
 }
@@ -457,9 +457,9 @@ func ModifyMysteelChemicalIndexUserIdByCodeList(edbIdList []string, userId int,
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE base_from_mysteel_chemical_index_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userId, userName, edbIdList).Exec()
+	err = o.Exec(sql, userId, userName, edbIdList).Error
 	return
 }
 
@@ -476,19 +476,19 @@ func ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserIdList []int, userId int
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
-	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+	err = o.Exec(sql, userId, userName, oldUserIdList).Error
 
 	return
 }
 
 // GetMysteelChemicalIndexAdminList 获取所有指标创建人
 func GetMysteelChemicalIndexAdminList() (list []int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT sys_user_id FROM base_from_mysteel_chemical_index GROUP BY sys_user_id `
 
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = o.Raw(sql).Find(&list).Error
 	return
 }
 
@@ -499,9 +499,9 @@ type TerminalNum struct {
 
 // GetMysteelChemicalGroupTerminalNum 获取钢联化工指标的终端分布
 func GetMysteelChemicalGroupTerminalNum() (items []*TerminalNum, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT terminal_code,count(1) num FROM base_from_mysteel_chemical_index GROUP BY terminal_code ORDER BY num ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -542,14 +542,14 @@ type RefreshBaseEdbInfoResp struct {
 // @return items []*BaseRefreshEdbInfo
 // @return err error
 func GetMysteelChemicalBaseInfoList(condition string, pars []interface{}, orderBy string, startSize, pageSize int) (total int, items []*BaseRefreshEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 数量汇总
 	totalSql := ` SELECT count(1) FROM base_from_mysteel_chemical_index WHERE 1=1 `
 	if condition != "" {
 		totalSql += condition
 	}
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	err = o.Raw(totalSql, pars...).Scan(&total).Error
 	if err != nil {
 		return
 	}
@@ -567,7 +567,8 @@ func GetMysteelChemicalBaseInfoList(condition string, pars []interface{}, orderB
 	}
 	sql += `  LIMIT ?,? `
 
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -584,10 +585,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 	if idNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -598,7 +596,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 
 	// 更改数据源的更新状态
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-	_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	err = o.Exec(sql, isStop, edbIdList).Error
 	if err != nil {
 		return
 	}
@@ -607,7 +605,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 	if codeNum <= 0 {
 		// 需要通过指标id列表查找code列表
 		sql := ` SELECT index_code FROM base_from_mysteel_chemical_index WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-		_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		err = o.Raw(sql, edbIdList).Find(&indexCodeList).Error
 		if err != nil {
 			return
 		}
@@ -621,7 +619,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 
 	// 更改指标的更新状态
 	sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
-	_, err = o.Raw(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, indexCodeList).Exec()
+	err = o.Exec(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, indexCodeList).Error
 	if err != nil {
 		return
 	}
@@ -638,10 +636,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 // @param isStop int
 // @return err error
 func ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfoId, isStop int, edbCode string, calculateEdbInfoIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -652,21 +647,21 @@ func ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfoId, isStop int, edbCode
 
 	// 更改数据源的更新状态
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code = ? `
-	_, err = o.Raw(sql, isStop, edbCode).Exec()
+	err = o.Exec(sql, isStop, edbCode).Error
 	if err != nil {
 		return
 	}
 
 	// 更改指标的更新状态
 	sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE source = ? AND sub_source= ? AND edb_info_id=? `
-	_, err = o.Raw(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, edbInfoId).Exec()
+	err = o.Exec(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, 0, edbInfoId).Error
 	if err != nil {
 		return
 	}
 	if len(calculateEdbInfoIds) > 0 {
 		// 批量更新相关联的指标ID
 		sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
-		_, err = o.Raw(sql, isStop, time.Now(), calculateEdbInfoIds).Exec()
+		err = o.Exec(sql, isStop, time.Now(), calculateEdbInfoIds).Error
 		if err != nil {
 			return
 		}
@@ -676,10 +671,7 @@ func ModifyMysteelChemicalUpdateStatusByEdbInfoId(edbInfoId, isStop int, edbCode
 }
 
 func ModifyMysteelChemicalUpdateStatusByEdbInfoIds(edbInfoIds []int, isStop int, edbCodes []string, calculateEdbInfoIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -690,21 +682,21 @@ func ModifyMysteelChemicalUpdateStatusByEdbInfoIds(edbInfoIds []int, isStop int,
 
 	// 更改数据源的更新状态
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code IN (` + utils.GetOrmInReplace(len(edbCodes)) + `) `
-	_, err = o.Raw(sql, isStop, edbCodes).Exec()
+	err = o.Exec(sql, isStop, edbCodes).Error
 	if err != nil {
 		return
 	}
 
 	// 更改指标的更新状态
 	sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE source = ? AND edb_info_id IN (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
-	_, err = o.Raw(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbInfoIds).Exec()
+	err = o.Exec(sql, isStop, time.Now(), utils.DATA_SOURCE_MYSTEEL_CHEMICAL, edbInfoIds).Error
 	if err != nil {
 		return
 	}
 	if len(calculateEdbInfoIds) > 0 {
 		// 批量更新相关联的指标ID
 		sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
-		_, err = o.Raw(sql, isStop, time.Now(), calculateEdbInfoIds).Exec()
+		err = o.Exec(sql, isStop, time.Now(), calculateEdbInfoIds).Error
 		if err != nil {
 			return
 		}
@@ -727,9 +719,9 @@ func GetNotIsSupplierStopIndexByCodeList(codeList []string, isStop int) (items [
 		return
 	}
 
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE is_supplier_stop = ? AND index_code in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, isStop, codeList).QueryRows(&items)
+	err = o.Raw(sql, isStop, codeList).Find(&items).Error
 
 	return
 }

+ 38 - 46
models/data_manage/predict_edb_conf.go

@@ -1,14 +1,13 @@
 package data_manage
 
 import (
-	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 type PredictEdbConf struct {
-	ConfigId         int       `orm:"column(config_id);pk" description:"规则id"`
+	ConfigId         int       `orm:"column(config_id);pk" gorm:"primaryKey" description:"规则id"`
 	PredictEdbInfoId int       `orm:"column(predict_edb_info_id)" description:"预测指标id"`
 	SourceEdbInfoId  int       `description:"来源指标id"`
 	RuleType         int       `description:"预测规则,1:最新,2:固定值,3:同比,4:同差,5:环比,6:环差,7:N期移动均值,8:N期段线性外推值,9:动态环差"`
@@ -24,7 +23,7 @@ type PredictEdbConf struct {
 
 // PredictEdbConfDetail 预测规则 和 规则相关联的指标
 type PredictEdbConfDetail struct {
-	ConfigId         int                                     `orm:"column(config_id);pk" description:"规则id"`
+	ConfigId         int                                     `orm:"column(config_id);pk" gorm:"primaryKey" description:"规则id"`
 	PredictEdbInfoId int                                     `orm:"column(predict_edb_info_id)" description:"预测指标id"`
 	SourceEdbInfoId  int                                     `description:"来源指标id"`
 	RuleType         int                                     `description:"预测规则,1:最新,2:固定值,3:同比,4:同差,5:环比,6:环差,7:N期移动均值,8:N期段线性外推值,9:动态环差"`
@@ -41,7 +40,7 @@ type PredictEdbConfDetail struct {
 
 // PredictEdbConfAndData 预测规则和其对应的动态数据
 type PredictEdbConfAndData struct {
-	ConfigId         int            `orm:"column(config_id);pk" description:"规则id"`
+	ConfigId         int            `orm:"column(config_id);pk" gorm:"primaryKey" description:"规则id"`
 	PredictEdbInfoId int            `orm:"column(predict_edb_info_id)" description:"预测指标id"`
 	SourceEdbInfoId  int            `description:"来源指标id"`
 	RuleType         int            `description:"预测规则,1:最新,2:固定值,3:同比,4:同差,5:环比,6:环差,7:N期移动均值,8:N期段线性外推值,9:动态环差"`
@@ -56,62 +55,60 @@ type PredictEdbConfAndData struct {
 
 // GetPredictEdbConfById 根据预测指标id获取预测指标配置信息
 func GetPredictEdbConfById(edbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+	err = o.Raw(sql, edbInfoId).Find(&item).Error
 	return
 }
 
 // GetPredictEdbConfBySourceEdbInfoId 根据来源指标id获取配置
 func GetPredictEdbConfBySourceEdbInfoId(sourceEdbInfoId int) (item *PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&item)
+	err = o.Raw(sql, sourceEdbInfoId).Find(&item).Error
 	return
 }
 
 // GetPredictEdbConfCount 根据来源指标id获取被引用的次数
 func GetPredictEdbConfCount(sourceEdbInfoId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM predict_edb_conf WHERE source_edb_info_id=? `
-	err = o.Raw(sql, sourceEdbInfoId).QueryRow(&count)
+	err = o.Raw(sql, sourceEdbInfoId).Scan(&count).Error
 	return
 }
 
 // AddPredictEdbConf 添加预测指标规则
 func AddPredictEdbConf(item *PredictEdbConf) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
+	if err != nil {
+		return
+	}
+	lastId = int64(item.ConfigId)
 	return
 }
 
 // AddPredictEdb 添加预测指标
 func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping, predictEdbConfList []*PredictEdbConf) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
 	defer func() {
 		if err != nil {
-			tmpErr := tx.Rollback()
-			if tmpErr != nil {
-				go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
-			}
+			_ = tx.Rollback()
+			return
 		} else {
-			err = tx.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	// 新增预测指标
-	edbInfoId, err := o.Insert(item)
+	err = o.Create(item).Error
 	if err != nil {
 		return
 	}
-	item.EdbInfoId = int(edbInfoId)
 
 	// 新增预测指标
 	calculateMappingItem.EdbInfoId = item.EdbInfoId
-	_, err = o.Insert(calculateMappingItem)
+	err = o.Create(calculateMappingItem).Error
 	if err != nil {
 		return
 	}
@@ -122,7 +119,7 @@ func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping,
 		for _, v := range predictEdbConfList {
 			v.PredictEdbInfoId = item.EdbInfoId
 		}
-		_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		err = o.CreateInBatches(predictEdbConfList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -132,30 +129,25 @@ func AddPredictEdb(item *EdbInfo, calculateMappingItem *EdbInfoCalculateMapping,
 
 // EditPredictEdb 修改预测指标
 func EditPredictEdb(edbInfo *EdbInfo, predictEdbConfList []*PredictEdbConf, updateEdbInfoCol []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex]
+	tx := o.Begin()
 	defer func() {
 		if err != nil {
-			tmpErr := tx.Rollback()
-			if tmpErr != nil {
-				go alarm_msg.SendAlarmMsg("AddPredictEdb 事务回滚失败,Err:"+tmpErr.Error(), 3)
-			}
+			_ = tx.Rollback()
+			return
 		} else {
-			err = tx.Commit()
+			_ = tx.Commit()
 		}
 	}()
 	// 修改预测指标
-	_, err = o.Update(edbInfo, updateEdbInfoCol...)
+	err = o.Select(updateEdbInfoCol).Updates(edbInfo).Error
 	if err != nil {
 		return
 	}
 
 	// 先删除原有的配置
 	sql := ` DELETE FROM predict_edb_conf WHERE predict_edb_info_id = ?`
-	_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+	err = o.Exec(sql, edbInfo.EdbInfoId).Error
 	if err != nil {
 		return
 	}
@@ -163,7 +155,7 @@ func EditPredictEdb(edbInfo *EdbInfo, predictEdbConfList []*PredictEdbConf, upda
 	// 新增新有的预测指标配置
 	lenPredictEdbConf := len(predictEdbConfList)
 	if lenPredictEdbConf > 0 {
-		_, err = o.InsertMulti(lenPredictEdbConf, predictEdbConfList)
+		err = o.CreateInBatches(predictEdbConfList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -177,30 +169,30 @@ func GetPredictEdbInfoAllCalculate(edbInfoIdList []int) (list []*EdbInfo, err er
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT b.* FROM predict_edb_conf AS a
 			 INNER JOIN edb_info AS b ON a.source_edb_info_id=b.edb_info_id
              WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
 			 GROUP BY a.source_edb_info_id
 			 ORDER BY a.source_edb_info_id ASC `
-	_, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
+	err = o.Raw(sql, edbInfoIdList).Find(&list).Error
 	return
 }
 
 // GetPredictEdbConfListById 根据预测指标id获取预测指标配置信息列表
 func GetPredictEdbConfListById(edbInfoId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM predict_edb_conf WHERE predict_edb_info_id=? ORDER BY config_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = o.Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
 // GetGroupPredictEdbBySourceEdbInfoId 根据来源指标id获取配置
 func GetGroupPredictEdbBySourceEdbInfoId(sourceEdbInfoId int) (items []*EdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.* FROM edb_info AS a 
      JOIN predict_edb_conf AS b  on a.edb_info_id = b.predict_edb_info_id
           WHERE b.source_edb_info_id=? group by a.edb_info_id`
-	_, err = o.Raw(sql, sourceEdbInfoId).QueryRows(&items)
+	err = o.Raw(sql, sourceEdbInfoId).Find(&items).Error
 	return
 }

+ 13 - 13
models/data_manage/predict_edb_conf_calculate_mapping.go

@@ -1,14 +1,14 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // PredictEdbConfCalculateMapping 预测基础指标规则 与 计算预测指标关联关系表
 type PredictEdbConfCalculateMapping struct {
-	PredictEdbConfCalculateMappingId int       `orm:"column(predict_edb_conf_calculate_mapping_id);pk"`
+	PredictEdbConfCalculateMappingId int       `orm:"column(predict_edb_conf_calculate_mapping_id);pk" gorm:"primaryKey"`
 	EdbInfoId                        int       `description:"指标id"`
 	ConfigId                         int       `description:"配置id"`
 	FromEdbInfoId                    int       `description:"基础指标id"`
@@ -24,22 +24,22 @@ type PredictEdbConfCalculateMapping struct {
 
 // GetPredictEdbConfCalculateMappingListById 根据预测指标id获取预测指标配置的关联指标信息列表
 func GetPredictEdbConfCalculateMappingListById(edbInfoId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	err = o.Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
 // GetPredictEdbConfCalculateMappingListByConfigId 根据预测指标配置id获取预测指标配置的关联指标信息列表
 func GetPredictEdbConfCalculateMappingListByConfigId(edbInfoId, configId int) (items []*PredictEdbConf, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM predict_edb_conf_calculate_mapping WHERE edb_info_id=? AND config_id=? ORDER BY predict_edb_conf_calculate_mapping_id ASC`
-	_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&items)
+	err = o.Raw(sql, edbInfoId, configId).Find(&items).Error
 	return
 }
 
 type PredictEdbConfCalculateMappingDetail struct {
-	PredictEdbConfCalculateMappingId int       `orm:"column(predict_edb_conf_calculate_mapping_id);pk"`
+	PredictEdbConfCalculateMappingId int       `orm:"column(predict_edb_conf_calculate_mapping_id);pk" gorm:"primaryKey"`
 	EdbInfoId                        int       `description:"指标id"`
 	ConfigId                         int       `description:"配置id"`
 	FromEdbInfoId                    int       `description:"基础指标id"`
@@ -59,23 +59,23 @@ type PredictEdbConfCalculateMappingDetail struct {
 
 // GetPredictEdbConfCalculateMappingDetailListById 根据配置id获取 配置关联指标信息
 func GetPredictEdbConfCalculateMappingDetailListById(edbInfoId int) (list []*PredictEdbConfCalculateMappingDetail, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&list)
+	err = o.Raw(sql, edbInfoId).Find(&list).Error
 	return
 }
 
 // GetPredictEdbConfCalculateMappingDetailListByConfigId 根据配置id和指标id获取 配置关联指标信息
 func GetPredictEdbConfCalculateMappingDetailListByConfigId(edbInfoId, configId int) (list []*PredictEdbConfCalculateMappingDetail, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id=? AND a.config_id=?  ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, edbInfoId, configId).QueryRows(&list)
+	err = o.Raw(sql, edbInfoId, configId).Find(&list).Error
 	return
 }
 
@@ -85,11 +85,11 @@ func GetPredictEdbConfCalculateMappingDetailListByEdbInfoId(fromEdbInfoIdList []
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type,b.edb_code FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
 			WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC `
 
-	_, err = o.Raw(sql, fromEdbInfoIdList).QueryRows(&list)
+	err = o.Raw(sql, fromEdbInfoIdList).Find(&list).Error
 	return
 }

+ 6 - 4
models/data_manage/predict_edb_rule_data.go

@@ -1,13 +1,14 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // PredictEdbRuleData 预测指标,动态规则的计算数据
 type PredictEdbRuleData struct {
-	PredictEdbRuleDataId int `orm:"column(predict_edb_rule_data_id);pk"`
+	PredictEdbRuleDataId int `orm:"column(predict_edb_rule_data_id);pk" gorm:"primaryKey"`
 	EdbInfoId            int
 	ConfigId             int
 	DataTime             string
@@ -19,8 +20,9 @@ type PredictEdbRuleData struct {
 
 // GetPredictEdbRuleDataList 根据基础预测指标id集合 获取 所有的普通指标列表数据
 func GetPredictEdbRuleDataList(edbInfoId, configId int, startDate, endDate string) (list []*PredictEdbRuleData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	var pars []interface{}
+	pars = append(pars, edbInfoId, configId)
 	sql := ` SELECT * FROM predict_edb_rule_data WHERE edb_info_id = ? AND config_id = ? `
 	if startDate != "" {
 		sql += ` AND data_time>=? `
@@ -31,6 +33,6 @@ func GetPredictEdbRuleDataList(edbInfoId, configId int, startDate, endDate strin
 		pars = append(pars, endDate)
 	}
 	sql += ` ORDER BY data_time ASC `
-	_, err = o.Raw(sql, edbInfoId, configId, pars).QueryRows(&list)
+	err = o.Raw(sql, pars...).Find(&list).Error
 	return
 }

+ 31 - 31
models/data_manage/sci_data.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -13,8 +13,8 @@ type SciClassify struct {
 
 func GetSciClassify() (items []*SciClassify, err error) {
 	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_sci_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
-	o := orm.NewOrmUsingDB("data")
-	o.Raw(sql).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -23,15 +23,15 @@ type SciFrequency struct {
 }
 
 func GetSciFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT frequency FROM base_from_sci_index WHERE classify_id = ? `
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 type SciIndex struct {
-	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk"`
+	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk" gorm:"primaryKey"`
 	Interface          string
 	Name               string
 	IndexCode          string
@@ -50,13 +50,13 @@ type SciIndex struct {
 }
 
 func GetSciIndex(condition string, pars interface{}) (items []*SciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_sci_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY sort ASC, base_from_sci_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -76,28 +76,28 @@ func GetExportSciIndex(typeCodes []string) (items []*SciExportIndex, err error)
 	if len(typeCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_sci_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+	err = o.Raw(sql, typeCodes).Find(&items).Error
 	return
 }
 
 func GetSciFrequency(classifyId int) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetSciFrequencyByCode(code string) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_sci_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, code).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, code).Find(&items).Error
 	return
 }
 
 type SciIndexList struct {
-	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk"`
+	BaseFromSciIndexId int `orm:"column(base_from_sci_index_id);pk" gorm:"primaryKey"`
 	Interface          string
 	Name               string
 	IndexCode          string
@@ -122,43 +122,43 @@ type SciIndexData struct {
 }
 
 func GetSciIndexData(indexCode string, startSize, pageSize int) (items []*SciIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetSciIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_sci_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetSciItemList 模糊查询Sci数据库指标列表
 func GetSciItemList(keyword string) (items []*SciIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_sci_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
 func GetSciIndexDataByCode(indexCode string) (items []*SciIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_sci_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetSciDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_sci_index AS a
 				INNER JOIN base_from_sci_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_sci_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
@@ -171,9 +171,9 @@ func GetExportSciDataMaxCount(typeCodes []string) (items []*ExportSciDataMaxCoun
 	if len(typeCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT
-				MAX(t.num) AS count,
+				COALESCE(MAX(t.num), 0) AS count,
 				t.type_name
 			FROM
 				(
@@ -190,7 +190,7 @@ func GetExportSciDataMaxCount(typeCodes []string) (items []*ExportSciDataMaxCoun
 				) AS t
 			GROUP BY
 				type_name `
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+	err = o.Raw(sql, typeCodes).Find(&items).Error
 	return
 }
 
@@ -204,8 +204,8 @@ func GetExportSciIndexDataByCodes(indexCodes []string) (items []*ExportSciIndexD
 	if len(indexCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT index_code,data_time,value FROM base_from_sci_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	return
 }

+ 5 - 4
models/data_manage/search_keyword.go

@@ -1,18 +1,19 @@
 package data_manage
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 type SearchKeyword struct {
-	Id         int `orm:"column(id);pk"`
+	Id         int `orm:"column(id);pk" gorm:"primaryKey"`
 	KeyWord    string
 	CreateTime time.Time
 }
 
 func AddSearchKeyword(item *SearchKeyword) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(item)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Create(item).Error
 	return
 }

+ 42 - 44
models/data_manage/smm_data.go

@@ -1,8 +1,8 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -14,8 +14,8 @@ type SmmClassify struct {
 
 func GetSmmClassify() (items []*SmmClassify, err error) {
 	sql := `SELECT CONCAT(type_2,type_3) AS type_name,CONCAT(type_2,'#',type_3) type_code  FROM base_from_smm_index GROUP BY CONCAT(type_2,type_3) ORDER BY CONCAT(type_2,type_3) ASC `
-	o := orm.NewOrmUsingDB("data")
-	o.Raw(sql).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql).Find(&items).Error
 	return
 }
 
@@ -24,15 +24,15 @@ type SmmFrequency struct {
 }
 
 func GetSmmFrequencyByClassifyId(classifyId int) (items []*GlFrequency, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT frequency FROM base_from_smm_index WHERE classify_id = ? `
 	sql += ` GROUP BY frequency ORDER BY frequency ASC `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 type SmmIndex struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey"`
 	Interface          string
 	Name               string
 	IndexCode          string
@@ -53,7 +53,7 @@ type SmmIndex struct {
 }
 
 type SmmIndexItem struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey"`
 	ClassifyId         int
 	ParentClassifyId   int
 	Interface          string
@@ -76,13 +76,13 @@ type SmmIndexItem struct {
 }
 
 func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY sort ASC, base_from_smm_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = o.Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -94,9 +94,9 @@ func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err err
 // @return item *SmmIndex
 // @return err error
 func GetSmmIndexById(basFromSmmIndexId int) (item *SmmIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_smm_index WHERE base_from_smm_index_id = ?  `
-	err = o.Raw(sql, basFromSmmIndexId).QueryRow(&item)
+	err = o.Raw(sql, basFromSmmIndexId).Find(&item).Error
 
 	return
 }
@@ -117,28 +117,28 @@ func GetExportSmmIndex(typeCodes []string) (items []*SmmExportIndex, err error)
 	if len(typeCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *,CONCAT(type_2, "#", type_3) AS type_name FROM base_from_smm_index WHERE CONCAT(type_2, "#", type_3) IN (` + utils.GetOrmInReplace(len(typeCodes)) + `) ORDER BY frequency ASC,index_code ASC`
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+	err = o.Raw(sql, typeCodes).Find(&items).Error
 	return
 }
 
 func GetSmmFrequency(classifyId int) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE classify_id=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetSmmFrequencyByCode(code string) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_smm_index WHERE index_code=? ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年','年度') `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, code).QueryRows(&items)
+	o := global.DbMap[utils.DbNameIndex]
+	err = o.Raw(sql, code).Find(&items).Error
 	return
 }
 
 type SmmIndexList struct {
-	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk" gorm:"primaryKey"`
 	Interface          string
 	Name               string
 	IndexCode          string
@@ -163,43 +163,43 @@ type SmmIndexData struct {
 }
 
 func GetSmmIndexData(indexCode string, startSize, pageSize int) (items []*SmmIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
 	return
 }
 
 func GetSmmIndexDataCount(indexCode string) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_smm_data WHERE index_code=? `
-	err = o.Raw(sql, indexCode).QueryRow(&count)
+	err = o.Raw(sql, indexCode).Scan(&count).Error
 	return
 }
 
 // GetSmmItemList 模糊查询Smm数据库指标列表
 func GetSmmItemList(keyword string) (items []*SmmIndexItem, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE ? "
-	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
+	err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
 	return
 }
 
 func GetSmmIndexDataByCode(indexCode string) (items []*SmmIndexData, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT *  FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	err = o.Raw(sql, indexCode).Find(&items).Error
 	return
 }
 
 func GetSmmDataMaxCount(classifyId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT MAX(t.num) AS count FROM (
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM (
 				SELECT COUNT(1) AS num  FROM base_from_smm_index AS a
 				INNER JOIN base_from_smm_data AS b ON a.index_code=b.index_code
 				WHERE a.classify_id=?
 				GROUP BY a.base_from_smm_index_id
 			)AS t `
-	err = o.Raw(sql, classifyId).QueryRow(&count)
+	err = o.Raw(sql, classifyId).Scan(&count).Error
 	return
 }
 
@@ -212,9 +212,9 @@ func GetExportSmmDataMaxCount(typeCodes []string) (items []*ExportSmmDataMaxCoun
 	if len(typeCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT
-				MAX(t.num) AS count,
+				COALESCE(MAX(t.num), 0) AS count,
 				t.type_name
 			FROM
 				(
@@ -231,7 +231,7 @@ func GetExportSmmDataMaxCount(typeCodes []string) (items []*ExportSmmDataMaxCoun
 				) AS t
 			GROUP BY
 				type_name `
-	_, err = o.Raw(sql, typeCodes).QueryRows(&items)
+	err = o.Raw(sql, typeCodes).Find(&items).Error
 	return
 }
 
@@ -245,9 +245,9 @@ func GetExportSmmIndexDataByCodes(indexCodes []string) (items []*ExportSmmIndexD
 	if len(indexCodes) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT index_code,data_time,value FROM base_from_smm_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCodes).QueryRows(&items)
+	err = o.Raw(sql, indexCodes).Find(&items).Error
 	return
 }
 
@@ -264,14 +264,14 @@ func GetExportSmmIndexDataByCodes(indexCodes []string) (items []*ExportSmmIndexD
 // @return items []*BaseRefreshEdbInfo
 // @return err error
 func GetSmmBaseInfoList(condition string, pars []interface{}, orderBy string, startSize, pageSize int) (total int, items []*BaseRefreshEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 数量汇总
 	totalSql := ` SELECT count(1) FROM base_from_smm_index WHERE 1=1 `
 	if condition != "" {
 		totalSql += condition
 	}
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	err = o.Raw(totalSql, pars...).Scan(&total).Error
 	if err != nil {
 		return
 	}
@@ -289,7 +289,8 @@ func GetSmmBaseInfoList(condition string, pars []interface{}, orderBy string, st
 	}
 	sql += `  LIMIT ?,? `
 
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize, pageSize)
+	err = o.Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -306,10 +307,7 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 	if idNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -320,7 +318,7 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 
 	// 更改数据源的更新状态
 	sql := ` UPDATE base_from_smm_index SET is_stop = ? WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-	_, err = o.Raw(sql, isStop, edbIdList).Exec()
+	err = o.Exec(sql, isStop, edbIdList).Error
 	if err != nil {
 		return
 	}
@@ -329,7 +327,7 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 	if codeNum <= 0 {
 		// 需要通过指标id列表查找code列表
 		sql := ` SELECT index_code FROM base_from_smm_index WHERE base_from_smm_index_id IN (` + utils.GetOrmInReplace(idNum) + `) `
-		_, err = o.Raw(sql, edbIdList).QueryRows(&indexCodeList)
+		err = o.Raw(sql, edbIdList).Scan(&indexCodeList).Error
 		if err != nil {
 			return
 		}
@@ -343,7 +341,7 @@ func ModifySmmUpdateStatus(edbIdList []int, indexCodeList []string, isStop int)
 
 	// 更改指标的更新状态
 	sql = ` UPDATE edb_info SET no_update = ?, set_update_time=? WHERE source = ? AND sub_source= ? AND edb_code IN (` + utils.GetOrmInReplace(codeNum) + `) `
-	_, err = o.Raw(sql, isStop, time.Now(), utils.DATA_SOURCE_YS, 0, indexCodeList).Exec()
+	err = o.Exec(sql, isStop, time.Now(), utils.DATA_SOURCE_YS, 0, indexCodeList).Error
 	if err != nil {
 		return
 	}

+ 24 - 30
models/data_manage/trade_position_analysis.go

@@ -1,15 +1,15 @@
 package data_manage
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 	"unsafe"
 )
 
 // 持仓榜单表
 type TradePositionTop struct {
-	Id            uint64    `orm:"column(id);pk"`
+	Id            uint64    `orm:"column(id);pk" gorm:"primaryKey"`
 	ClassifyName  string    //分类名称
 	ClassifyType  string    //分类名称下的类型
 	DataTime      string    //数据日期
@@ -44,14 +44,14 @@ type TradePositionIneTop struct {
 }
 
 func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	if exchange == "dalian" {
 		list := make([]*TradePositionDalianTop, 0)
 		for _, v := range items {
 			tmp := (*TradePositionDalianTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		err = o.CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "zhengzhou" {
 		list := make([]*TradePositionZhengzhouTop, 0)
@@ -59,7 +59,7 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionZhengzhouTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		err = o.CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "cffex" {
 		list := make([]*TradePositionCffexTop, 0)
@@ -67,7 +67,7 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionCffexTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		err = o.CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "shanghai" {
 		list := make([]*TradePositionShanghaiTop, 0)
@@ -75,7 +75,7 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionShanghaiTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		err = o.CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	} else if exchange == "ine" {
 		list := make([]*TradePositionIneTop, 0)
@@ -83,7 +83,7 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 			tmp := (*TradePositionIneTop)(unsafe.Pointer(v))
 			list = append(list, tmp)
 		}
-		_, err = o.InsertMulti(len(list), list)
+		err = o.CreateInBatches(list, utils.MultiAddNum).Error
 		return
 	}
 
@@ -91,23 +91,23 @@ func InsertMultiTradePositionTop(exchange string, items []*TradePositionTop) (er
 }
 
 func GetTradePositionTopByExchangeDataTime(exchange string, startDate, endDate string) (list []*TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
-	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+	err = o.Raw(sql, startDate, endDate).Find(&list).Error
 	return
 }
 
 func GetTradePositionTopCountByExchangeDataTime(exchange string, startDate, endDate string) (count int64, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT count(*) FROM trade_position_" + exchange + "_top where data_time >= ? and data_time <= ? and deal_type in (1,2) ORDER BY classify_name, classify_type, deal_type, data_time, deal_value desc"
-	err = o.Raw(sql, startDate, endDate).QueryRow(&count)
+	err = o.Raw(sql, startDate, endDate).Scan(&count).Error
 	return
 }
 
 func GetTradePositionTopByExchangeSourceType(exchange string, dataTime string, sourceType int) (list []*TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "SELECT * FROM trade_position_" + exchange + "_top where data_time= ? and source_type = ? ORDER BY classify_name, classify_type, deal_type, deal_value desc"
-	_, err = o.Raw(sql, dataTime, sourceType).QueryRows(&list)
+	err = o.Raw(sql, dataTime, sourceType).Find(&list).Error
 	return
 }
 
@@ -148,16 +148,10 @@ type UpdateDealValueChange struct {
 }
 
 func MultiUpdatePositionTop(exchange string, updates []UpdateDealValueChange) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	p, err := o.Raw("UPDATE trade_position_" + exchange + "_top SET deal_value=?, deal_change=?, source_type=?, modify_time=? WHERE id = ?").Prepare()
-	if err != nil {
-		return
-	}
-	defer func() {
-		_ = p.Close() // 别忘记关闭 statement
-	}()
+	o := global.DbMap[utils.DbNameIndex]
+	sql := "UPDATE trade_position_" + exchange + "_top SET deal_value=?, deal_change=?, source_type=?, modify_time=? WHERE id = ?"
 	for _, v := range updates {
-		_, err = p.Exec(v.DealValue, v.DealChange, v.SourceType, v.ModifyTime, v.Id)
+		err = o.Exec(sql, v.DealValue, v.DealChange, v.SourceType, v.ModifyTime, v.Id).Error
 		if err != nil {
 			return
 		}
@@ -166,30 +160,30 @@ func MultiUpdatePositionTop(exchange string, updates []UpdateDealValueChange) (e
 }
 
 func DeletePositionTopByDataTime(exchange string, dataTime string, dealType int) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "delete from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
-	_, err = o.Raw(sql, dataTime, dealType).Exec()
+	err = o.Exec(sql, dataTime, dealType).Error
 	return
 }
 
 func GetTradePositionTopByExchangeDataTimeType(exchange string, dataTime string, dealType int) (list []TradePositionTop, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	sql := "select * from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
-	_, err = o.Raw(sql, dataTime, dealType).QueryRows(&list)
+	err = o.Raw(sql, dataTime, dealType).Find(&list).Error
 	return
 }
 
 func MultiInsertTradeBaseDataToTop(exchange string, startDate, endDate string) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 	now := time.Now().Format(utils.FormatDateTime)
 	sql1 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
 	SELECT classify_name,classify_type,buy_short_name,buy_value,buy_change,data_time,1,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and buy_short_name !="" and data_time between ? and ?`
-	_, err = o.Raw(sql1, now, now, startDate, endDate).Exec()
+	err = o.Exec(sql1, now, now, startDate, endDate).Error
 	if err != nil {
 		return
 	}
 	sql2 := `INSERT INTO trade_position_` + exchange + `_top(classify_name,classify_type,deal_short_name,deal_value,deal_change,data_time,deal_type,source_type,rank,create_time,modify_time)
 SELECT classify_name,classify_type,sold_short_name,sold_value,sold_change,data_time,2,0,rank,?,? FROM base_from_trade_` + exchange + `_index where rank <50 and sold_short_name !="" and data_time between ? and ?`
-	_, err = o.Raw(sql2, now, now, startDate, endDate).Exec()
+	err = o.Exec(sql2, now, now, startDate, endDate).Error
 	return
 }