Browse Source

Merge branch 'dm' of http://8.136.199.33:3000/eta_server/eta_api into dm

xyxie 1 month ago
parent
commit
8330955ab5
52 changed files with 1154 additions and 1585 deletions
  1. 44 68
      models/data_manage/cross_variety/chart_info_cross_variety.go
  2. 9 19
      models/data_manage/cross_variety/chart_tag.go
  3. 18 27
      models/data_manage/cross_variety/chart_tag_variety.go
  4. 10 27
      models/data_manage/cross_variety/chart_variety.go
  5. 6 9
      models/data_manage/cross_variety/chart_variety_mapping.go
  6. 84 140
      models/data_manage/data_manage_permission/chart.go
  7. 8 8
      models/data_manage/data_manage_permission/classify_no_auth_record.go
  8. 94 161
      models/data_manage/data_manage_permission/edb.go
  9. 74 131
      models/data_manage/data_manage_permission/excel.go
  10. 20 22
      models/data_manage/data_manage_permission/message.go
  11. 9 15
      models/data_manage/data_manage_permission/move.go
  12. 20 22
      models/data_manage/data_manage_permission/move_record.go
  13. 9 9
      models/data_manage/data_manage_permission/no_auth_record.go
  14. 1 1
      models/data_manage/data_manage_permission/req_and_resp.go
  15. 24 38
      models/data_manage/edb_refresh/edb_refresh_config.go
  16. 21 33
      models/data_manage/edb_refresh/edb_refresh_default_config.go
  17. 7 13
      models/data_manage/edb_refresh/edb_refresh_mapping.go
  18. 13 13
      models/data_manage/edb_refresh/edb_refresh_source.go
  19. 20 26
      models/data_manage/excel/excel_chart_data.go
  20. 100 74
      models/data_manage/excel/excel_chart_edb.go
  21. 37 62
      models/data_manage/excel/excel_classify.go
  22. 4 8
      models/data_manage/excel/excel_draft.go
  23. 23 32
      models/data_manage/excel/excel_edb_mapping.go
  24. 97 137
      models/data_manage/excel/excel_info.go
  25. 9 13
      models/data_manage/excel/excel_info_rule_mapping.go
  26. 13 16
      models/data_manage/excel/excel_sheet.go
  27. 6 8
      models/data_manage/excel/excel_sheet_data.go
  28. 17 19
      models/data_manage/excel/excel_worker.go
  29. 1 1
      models/data_manage/excel/response/excel_info.go
  30. 1 1
      models/data_manage/excel/response/sheet.go
  31. 29 43
      models/data_manage/future_good/chart_info_future_good_profit.go
  32. 42 42
      models/data_manage/future_good/future_good_chart_classify.go
  33. 18 23
      models/data_manage/future_good/future_good_edb_info.go
  34. 13 11
      models/data_manage/future_good/future_good_edb_info_data.go
  35. 20 35
      models/data_manage/line_equation/line_equation.go
  36. 12 46
      models/data_manage/line_feature/line_feature.go
  37. 5 7
      models/data_manage/stl/calculate_stl_config.go
  38. 5 4
      models/data_manage/stl/calculate_stl_config_mapping.go
  39. 6 8
      models/data_manage/stl/edb_data_calculate_stl.go
  40. 4 2
      models/data_manage/supply_analysis/base_from_stock_plant_data.go
  41. 45 40
      models/data_manage/supply_analysis/variety.go
  42. 5 4
      models/data_manage/supply_analysis/variety_admin_permission.go
  43. 23 19
      models/data_manage/supply_analysis/variety_edb_info.go
  44. 22 31
      models/data_manage/supply_analysis/variety_plant.go
  45. 14 11
      models/data_manage/trade_analysis/base_from_trade_exchange.go
  46. 11 14
      models/data_manage/trade_analysis/trade_analysis.go
  47. 20 28
      models/data_manage/trade_analysis/trade_analysis_table_column.go
  48. 7 13
      models/data_manage/trade_analysis/trade_classify.go
  49. 14 11
      models/data_manage/trade_analysis/trade_futures_company.go
  50. 9 16
      models/data_manage/trade_analysis/warehouse.go
  51. 19 24
      models/data_manage/trade_analysis/warehouse_process_classify.go
  52. 12 0
      utils/common.go

+ 44 - 68
models/data_manage/cross_variety/chart_info_cross_variety.go

@@ -1,11 +1,11 @@
 package cross_variety
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/models/data_manage/cross_variety/request"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -13,7 +13,7 @@ import (
 // ChartInfoCrossVariety
 // @Description: 跨品种分析配置表
 type ChartInfoCrossVariety struct {
-	Id             int       `orm:"column(id);pk"`
+	Id             int       `orm:"column(id);pk" gorm:"primaryKey" `
 	ChartInfoId    int       `description:"图表id"`
 	ChartXTagId    int       `description:"X轴的标签ID"`
 	ChartYTagId    int       `description:"X轴的标签ID"`
@@ -31,12 +31,10 @@ type ChartInfoCrossVariety struct {
 // @return total int64
 // @return err error
 func GetCountChartByTagId(tagId int) (total int64, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT count(1) total FROM chart_info AS a JOIN
-    chart_info_cross_variety AS b on a.chart_info_id = b.chart_info_id 
-    WHERE b.chart_x_tag_id = ? or b.chart_y_tag_id=?`
-	err = o.Raw(sql, tagId, tagId).QueryRow(&total)
-
+	chart_info_cross_variety AS b on a.chart_info_id = b.chart_info_id
+	WHERE b.chart_x_tag_id = ? or b.chart_y_tag_id=?`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, tagId, tagId).Scan(&total).Error
 	return
 }
 
@@ -48,11 +46,10 @@ func GetCountChartByTagId(tagId int) (total int64, err error) {
 // @return items []*ChartInfoCrossVariety
 // @return err error
 func GeChartInfoCrossVarietyListByTagId(tagId int) (items []*ChartInfoCrossVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT b.* FROM chart_info AS a JOIN
-    chart_info_cross_variety AS b on a.chart_info_id = b.chart_info_id 
-    WHERE b.chart_x_tag_id = ? or b.chart_y_tag_id=?`
-	_, err = o.Raw(sql, tagId, tagId).QueryRows(&items)
+	chart_info_cross_variety AS b on a.chart_info_id = b.chart_info_id 
+	WHERE b.chart_x_tag_id = ? or b.chart_y_tag_id=?`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, tagId, tagId).Find(&items).Error
 
 	return
 }
@@ -65,26 +62,22 @@ func GeChartInfoCrossVarietyListByTagId(tagId int) (items []*ChartInfoCrossVarie
 // @return item *ChartInfoCrossVariety
 // @return err error
 func GetChartInfoCrossVarietyByChartInfoId(id int) (item *ChartInfoCrossVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_info_cross_variety WHERE chart_info_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
 func GetChartInfoCrossVarietyByXEdbInfoId(edbInfoId int) (items []*ChartInfoCrossVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT a.* FROM chart_info_cross_variety a 
-         join chart_tag_variety b on a.chart_x_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	sql := `SELECT a.* FROM chart_info_cross_variety a
+	    join chart_tag_variety b on a.chart_x_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
 func GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId int) (items []*ChartInfoCrossVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT a.* FROM chart_info_cross_variety a 
-         join chart_tag_variety b on a.chart_y_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	sql := `SELECT a.* FROM chart_info_cross_variety a
+	    join chart_tag_variety b on a.chart_y_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
@@ -99,44 +92,39 @@ func GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId int) (items []*ChartInfoCros
 // @return chartInfoId int
 // @return err error
 func CreateChart(chartInfo *data_manage.ChartInfo, classify *data_manage.ChartClassify, chartVarietyMappingList []*ChartVarietyMapping, chartInfoCrossVariety *ChartInfoCrossVariety) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
-			_ = tx.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = tx.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 判断是否分类已存在,不存在的话,先添加分类
 	if classify.ChartClassifyId <= 0 {
-		newId, tmpErr := tx.Insert(classify)
+		tmpErr := to.Create(classify).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		classify.ChartClassifyId = int(newId)
 	}
 
 	// 新增图表信息
 	chartInfo.ChartClassifyId = classify.ChartClassifyId
-	newId, err := tx.Insert(chartInfo)
+	err = to.Create(chartInfo).Error
 	if err != nil {
 		return
 	}
 	// 品种列表
-	chartInfo.ChartInfoId = int(newId)
-	chartInfoId = int(newId)
+	//chartInfo.ChartInfoId = int(newId)
+	chartInfoId = chartInfo.ChartInfoId
 
 	if len(chartVarietyMappingList) > 0 {
 		for i := range chartVarietyMappingList {
 			chartVarietyMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, err = tx.InsertMulti(len(chartVarietyMappingList), chartVarietyMappingList)
+		err = to.CreateInBatches(chartVarietyMappingList, len(chartVarietyMappingList)).Error
 		if err != nil {
 			return
 		}
@@ -144,7 +132,7 @@ func CreateChart(chartInfo *data_manage.ChartInfo, classify *data_manage.ChartCl
 
 	// 图表配置
 	chartInfoCrossVariety.ChartInfoId = chartInfoId
-	if _, err = tx.Insert(chartInfoCrossVariety); err != nil {
+	if err = to.Create(chartInfoCrossVariety).Error; err != nil {
 		return
 	}
 
@@ -153,11 +141,8 @@ func CreateChart(chartInfo *data_manage.ChartInfo, classify *data_manage.ChartCl
 
 // EditChart 修改相关性图表的 图表与指标 的关系
 func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*ChartVarietyMapping, chartInfoCrossVariety *ChartInfoCrossVariety, chartUpdateCols, chartInfoCrossVarietyUpdateCols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -167,7 +152,7 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 	}()
 
 	// 更新图表信息
-	_, err = to.Update(chartInfo, chartUpdateCols...)
+	err = to.Select(chartUpdateCols).Updates(chartInfo).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
@@ -175,8 +160,9 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 
 	// 查找现有的品种列表
 	currVarietyMappingList := make([]*ChartVarietyMapping, 0)
+	//sql := `SELECT * FROM chart_variety_mapping WHERE chart_info_id = ? `
 	sql := `SELECT * FROM chart_variety_mapping WHERE chart_info_id = ? `
-	_, err = to.Raw(sql, chartInfo.ChartInfoId).QueryRows(&currVarietyMappingList)
+	err = to.Raw(sql, chartInfo.ChartInfoId).Find(&currVarietyMappingList).Error
 	if err != nil {
 		return
 	}
@@ -203,7 +189,7 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 
 	// 添加品种
 	if len(addVarietyMappingList) > 0 {
-		_, err = to.InsertMulti(len(addVarietyMappingList), addVarietyMappingList)
+		err = to.CreateInBatches(addVarietyMappingList, len(addVarietyMappingList)).Error
 		if err != nil {
 			return
 		}
@@ -216,16 +202,15 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 			idStrList = append(idStrList, fmt.Sprint(id))
 		}
 		removeIdStr := strings.Join(idStrList, `,`)
+		//sql = fmt.Sprintf(` DELETE FROM chart_variety_mapping WHERE id in (%s) `, removeIdStr)
 		sql = fmt.Sprintf(` DELETE FROM chart_variety_mapping WHERE id in (%s) `, removeIdStr)
-		_, err = to.Raw(sql).Exec()
+		err = to.Exec(sql).Error
 		if err != nil {
 			return
 		}
 	}
 
-	// 跨品种分析图表配置
-	_, err = to.Update(chartInfoCrossVariety, chartInfoCrossVarietyUpdateCols...)
-
+	err = to.Select(chartInfoCrossVarietyUpdateCols).Updates(chartInfoCrossVariety).Error
 	return
 }
 
@@ -237,11 +222,8 @@ func EditChart(chartInfo *data_manage.ChartInfo, chartVarietyMappingList []*Char
 // @param req request.EditChartEnInfoReq
 // @return err error
 func EditChartEn(chartInfo *data_manage.ChartInfo, req request.EditChartEnInfoReq) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -253,16 +235,13 @@ func EditChartEn(chartInfo *data_manage.ChartInfo, req request.EditChartEnInfoRe
 	// 更新图表信息
 	chartInfo.ChartNameEn = req.ChartNameEn
 	chartInfo.ModifyTime = time.Now().Local()
-	_, err = to.Update(chartInfo, "ChartNameEn", "ModifyTime")
-	if err != nil {
-		fmt.Println("UPDATE  chart_info Err:", err.Error())
-		return err
-	}
+	err = to.Select("ChartNameEn", "ModifyTime").Updates(chartInfo).Error
 
 	// 更新标签英文名
 	for _, v := range req.TagList {
 		sql := `UPDATE chart_tag SET chart_tag_name_en = ?,modify_time= NOW() WHERE chart_tag_id = ? `
-		_, err = o.Raw(sql, v.TagNameEn, v.ChartTagId).Exec()
+
+		err = to.Exec(sql, v.TagNameEn, v.ChartTagId).Error
 		if err != nil {
 			return
 		}
@@ -271,7 +250,7 @@ func EditChartEn(chartInfo *data_manage.ChartInfo, req request.EditChartEnInfoRe
 	// 更新品种英文名
 	for _, v := range req.VarietyList {
 		sql := `UPDATE chart_variety SET chart_variety_name_en = ?,modify_time= NOW() WHERE chart_variety_id = ? `
-		_, err = o.Raw(sql, v.VarietyNameEn, v.ChartVarietyId).Exec()
+		err = to.Exec(sql, v.VarietyNameEn, v.ChartVarietyId).Error
 		if err != nil {
 			return
 		}
@@ -289,11 +268,8 @@ func EditChartEn(chartInfo *data_manage.ChartInfo, req request.EditChartEnInfoRe
 // @param lang string
 // @return err error
 func EditChartBase(chartInfo *data_manage.ChartInfo, req request.EditChartBaseInfoReq, lang string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -310,7 +286,7 @@ func EditChartBase(chartInfo *data_manage.ChartInfo, req request.EditChartBaseIn
 		chartInfo.ChartName = req.ChartName
 	}
 	chartInfo.ModifyTime = time.Now().Local()
-	_, err = to.Update(chartInfo, "ChartName", "ChartNameEn", "ModifyTime")
+	err = to.Select("ChartName", "ChartNameEn", "ModifyTime").Updates(chartInfo).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
@@ -326,7 +302,7 @@ func EditChartBase(chartInfo *data_manage.ChartInfo, req request.EditChartBaseIn
 			sql = `UPDATE chart_tag SET chart_tag_name = ?,modify_time= NOW() WHERE chart_tag_id = ? `
 		}
 		if sql != `` {
-			_, err = o.Raw(sql, v.TagName, v.ChartTagId).Exec()
+			err = to.Exec(sql, v.TagName, v.ChartTagId).Error
 			if err != nil {
 				return
 			}
@@ -342,7 +318,7 @@ func EditChartBase(chartInfo *data_manage.ChartInfo, req request.EditChartBaseIn
 		default:
 			sql = `UPDATE chart_variety SET chart_variety_name = ?,modify_time= NOW() WHERE chart_variety_id = ? `
 		}
-		_, err = o.Raw(sql, v.VarietyName, v.ChartVarietyId).Exec()
+		err = to.Exec(sql, v.VarietyName, v.ChartVarietyId).Error
 		if err != nil {
 			return
 		}

+ 9 - 19
models/data_manage/cross_variety/chart_tag.go

@@ -1,6 +1,7 @@
 package cross_variety
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -9,7 +10,7 @@ import (
 // ChartTag
 // @Description: chart_tag 图表标签表
 type ChartTag struct {
-	ChartTagId      int       `orm:"column(chart_tag_id);pk"`
+	ChartTagId      int       `orm:"column(chart_tag_id);pk" gorm:"primaryKey" `
 	ChartTagName    string    `description:"标签名称"`
 	ChartTagNameEn  string    `description:"标签名称(英文)"`
 	SysUserId       int       `description:"创建人id"`
@@ -26,10 +27,8 @@ type ChartTag struct {
 // @return item *ChartTag
 // @return err error
 func GetTagById(id int) (item *ChartTag, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_tag WHERE chart_tag_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -41,10 +40,8 @@ func GetTagById(id int) (item *ChartTag, err error) {
 // @return item *ChartTag
 // @return err error
 func GetTagByName(name string) (item *ChartTag, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_tag WHERE chart_tag_name = ?`
-	err = o.Raw(sql, name).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, name).First(&item).Error
 	return
 }
 
@@ -88,16 +85,13 @@ func GetTagList() (items []*ChartTag, err error) {
 // @param updateColList []string
 // @return err error
 func (item *ChartTag) Update(updateColList []string) (err error) {
-	to := orm.NewOrmUsingDB("data")
-	_, err = to.Update(item, updateColList...)
-
+	err = global.DbMap[utils.DbNameIndex].Select(updateColList).Updates(item).Error
 	return
 }
 
 // Delete 删除
 func (item *ChartTag) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(item)
+	err = global.DbMap[utils.DbNameIndex].Exec("DELETE FROM chart_tag WHERE chart_tag_id = ?", item.ChartTagId).Error
 	return
 }
 
@@ -113,17 +107,15 @@ func GetTagListByIdList(idList []int) (items []*ChartTag, err error) {
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_tag WHERE 1 = 1 AND chart_tag_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, idList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, idList).Find(&items).Error
 	return
 }
 
 // ChartTagItem
 // @Description: chart_tag 图表标签表
 type ChartTagItem struct {
-	ChartTagId      int       `orm:"column(chart_tag_id);pk"`
+	ChartTagId      int       `orm:"column(chart_tag_id);pk" gorm:"primaryKey" `
 	ChartTagName    string    `description:"标签名称"`
 	ChartTagNameEn  string    `description:"标签名称(英文)"`
 	SysUserId       int       `description:"创建人id"`
@@ -140,9 +132,7 @@ type ChartTagItem struct {
 // @return items []*ChartTag
 // @return err error
 func GetTagItemList() (items []*ChartTagItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_tag WHERE 1 = 1 `
-	_, err = o.Raw(sql).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }

+ 18 - 27
models/data_manage/cross_variety/chart_tag_variety.go

@@ -1,6 +1,7 @@
 package cross_variety
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage/cross_variety/request"
 	"eta/eta_api/utils"
 	"fmt"
@@ -12,7 +13,7 @@ import (
 // ChartTagVariety
 // @Description: chart_tag_variety 图表标签品种关系表
 type ChartTagVariety struct {
-	Id                        int       `orm:"column(id);pk"`
+	Id                        int       `orm:"column(id);pk" gorm:"primaryKey" `
 	ChartTagId                int       `description:"标签id"`
 	ChartVarietyId            int       `description:"品种id"`
 	EdbInfoId                 int       `description:"指标id"`
@@ -67,17 +68,15 @@ func GetChartTagVarietyListByTagAndVariety(chartTagId int, varietyIdList []int)
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_tag_variety WHERE chart_tag_id = ? AND chart_variety_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, chartTagId, varietyIdList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartTagId, varietyIdList).Find(&items).Error
 	return
 }
 
 // ChartTagVarietyItem
 // @Description: 图表标签/品种/指标数据
 type ChartTagVarietyItem struct {
-	Id             int     `orm:"column(id);pk"`
+	Id             int     `orm:"column(id);pk" gorm:"primaryKey" `
 	ChartTagId     int     `description:"标签id"`
 	ChartVarietyId int     `description:"品种id"`
 	EdbInfoId      int     `description:"指标id"`
@@ -96,11 +95,9 @@ type ChartTagVarietyItem struct {
 // @return items []*ChartTagVariety
 // @return err error
 func GetChartTagVarietyItemListByTag(chartTagId int) (items []*ChartTagVarietyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.*,b.edb_code,b.edb_name,b.end_date,b.end_value FROM chart_tag_variety a 
-         join edb_info b on a.edb_info_id=b.edb_info_id WHERE chart_tag_id = ? `
-	_, err = o.Raw(sql, chartTagId).QueryRows(&items)
-
+	    join edb_info b on a.edb_info_id=b.edb_info_id WHERE chart_tag_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartTagId).Find(&items).Error
 	return
 }
 
@@ -118,11 +115,9 @@ type ChartTagVarietyCount struct {
 // @return items []*ChartTagVarietyCount
 // @return err error
 func GetCountChartTagVarietyItemListByTag() (items []*ChartTagVarietyCount, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT chart_tag_id,count(1) total FROM chart_tag_variety a 
-         join edb_info b on a.edb_info_id=b.edb_info_id  group by chart_tag_id`
-	_, err = o.Raw(sql).QueryRows(&items)
-
+	    join edb_info b on a.edb_info_id=b.edb_info_id  group by chart_tag_id`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -136,22 +131,20 @@ func GetCountChartTagVarietyItemListByTag() (items []*ChartTagVarietyCount, err
 // @param sysUserName string
 // @return err error
 func SaveVarietyEdb(chartTagId int, list []request.VarietyEdbReq, sysUserId int, sysUserName string) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 查找现在已经存在的品种和指标的关系
 	var items []*ChartTagVariety
 	sql := `SELECT * FROM chart_tag_variety WHERE chart_tag_id = ? `
-	_, err = o.Raw(sql, chartTagId).QueryRows(&items)
+	err = to.Raw(sql, chartTagId).Find(&items).Error
 	if err != nil {
 		return
 	}
@@ -191,7 +184,7 @@ func SaveVarietyEdb(chartTagId int, list []request.VarietyEdbReq, sysUserId int,
 			tmpChartTagVariety.LastUpdateSysUserId = sysUserId
 			tmpChartTagVariety.LastUpdateSysUserRealName = sysUserName
 			tmpChartTagVariety.ModifyTime = time.Now()
-			_, err = o.Update(tmpChartTagVariety, "EdbInfoId", "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime")
+			err = to.Select("EdbInfoId", "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime").Updates(tmpChartTagVariety).Error
 			if err != nil {
 				return
 			}
@@ -206,7 +199,7 @@ func SaveVarietyEdb(chartTagId int, list []request.VarietyEdbReq, sysUserId int,
 		}
 		removeIdStr := strings.Join(idStrList, `,`)
 		sql = fmt.Sprintf(` DELETE FROM chart_tag_variety WHERE id in (%s) `, removeIdStr)
-		_, err = o.Raw(sql).Exec()
+		err = to.Exec(sql).Error
 		if err != nil {
 			return
 		}
@@ -214,7 +207,7 @@ func SaveVarietyEdb(chartTagId int, list []request.VarietyEdbReq, sysUserId int,
 
 	// 添加配置
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(len(addList), addList)
+		err = to.CreateInBatches(addList, len(addList)).Error
 		if err != nil {
 			return
 		}
@@ -253,11 +246,9 @@ func GetChartTagVarietyListByTagIdList(chartTagIdList []int) (items []*ChartTagV
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.* FROM chart_tag_variety a 
-         join chart_variety b on a.chart_variety_id=b.chart_variety_id WHERE chart_tag_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, chartTagIdList).QueryRows(&items)
-
+	     join chart_variety b on a.chart_variety_id=b.chart_variety_id WHERE chart_tag_id in (` + utils.GetOrmInReplace(num) + `) `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }
 

+ 10 - 27
models/data_manage/cross_variety/chart_variety.go

@@ -1,15 +1,15 @@
 package cross_variety
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // ChartVariety
 // @Description: chart_variety 图表品种表
 type ChartVariety struct {
-	ChartVarietyId     int       `orm:"column(chart_variety_id);pk"`
+	ChartVarietyId     int       `orm:"column(chart_variety_id);pk" gorm:"primaryKey" `
 	ChartVarietyName   string    `description:"品种名称"`
 	ChartVarietyNameEn string    `description:"品种名称(英文)"`
 	SysUserId          int       `description:"创建人id"`
@@ -26,10 +26,8 @@ type ChartVariety struct {
 // @return item *ChartVariety
 // @return err error
 func GetVarietyById(id int) (item *ChartVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_variety WHERE chart_variety_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -41,10 +39,8 @@ func GetVarietyById(id int) (item *ChartVariety, err error) {
 // @return item *ChartVariety
 // @return err error
 func GetVarietyByName(name string) (item *ChartVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_variety WHERE chart_variety_name = ?`
-	err = o.Raw(sql, name).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, name).First(&item).Error
 	return
 }
 
@@ -55,14 +51,7 @@ func GetVarietyByName(name string) (item *ChartVariety, err error) {
 // @param item *ChartVariety
 // @return err error
 func AddVariety(item *ChartVariety) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-
-	item.ChartVarietyId = int(lastId)
-
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 	return
 }
 
@@ -74,16 +63,14 @@ func AddVariety(item *ChartVariety) (err error) {
 // @param updateColList []string
 // @return err error
 func (item *ChartVariety) Update(updateColList []string) (err error) {
-	to := orm.NewOrmUsingDB("data")
-	_, err = to.Update(item, updateColList...)
-
+	err = global.DbMap[utils.DbNameIndex].Select(updateColList).Updates(item).Error
 	return
 }
 
 // Delete 删除
 func (item *ChartVariety) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(item)
+	sql := ` DELETE FROM chart_variety WHERE chart_variety_id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, item.ChartVarietyId).Error
 	return
 }
 
@@ -94,10 +81,8 @@ func (item *ChartVariety) Delete() (err error) {
 // @return items []*ChartVariety
 // @return err error
 func GetVarietyList() (items []*ChartVariety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_variety WHERE 1 = 1 `
-	_, err = o.Raw(sql).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -113,9 +98,7 @@ func GetVarietyListByIdList(idList []int) (items []*ChartVariety, err error) {
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_variety WHERE 1 = 1 AND chart_variety_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, idList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, idList).Find(&items).Error
 	return
 }

+ 6 - 9
models/data_manage/cross_variety/chart_variety_mapping.go

@@ -1,6 +1,7 @@
 package cross_variety
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -9,7 +10,7 @@ import (
 // ChartVarietyMapping
 // @Description: 图表与品种的关系表
 type ChartVarietyMapping struct {
-	Id             int       `orm:"column(id);pk"`
+	Id             int       `orm:"column(id);pk" gorm:"primaryKey" `
 	ChartInfoId    int       `description:"图表id"`
 	ChartVarietyId int       `description:"品种id"`
 	ModifyTime     time.Time `description:"修改时间"`
@@ -38,12 +39,10 @@ func GetChartVarietyMappingList(chartInfoId int) (items []*ChartVarietyMapping,
 // @return total int64
 // @return err error
 func GetCountChartByVarietyId(varietyId int) (total int64, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT count(1) total FROM chart_info AS a JOIN
-    chart_variety_mapping AS b on a.chart_info_id = b.chart_info_id 
-    WHERE b.chart_variety_id = ? `
-	err = o.Raw(sql, varietyId).QueryRow(&total)
-
+	chart_variety_mapping AS b on a.chart_info_id = b.chart_info_id
+	WHERE b.chart_variety_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&total).Error
 	return
 }
 
@@ -59,9 +58,7 @@ func GetChartVarietyMappingListByChartInfoIdList(chartInfoIdList []int) (items [
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_variety_mapping WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, chartInfoIdList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartInfoIdList).Find(&chartInfoIdList).Error
 	return
 }

+ 84 - 140
models/data_manage/data_manage_permission/chart.go

@@ -1,9 +1,9 @@
 package data_manage_permission
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"time"
 )
@@ -11,7 +11,7 @@ import (
 // ChartInfoPermission
 // @Description: 图表信息权限表
 type ChartInfoPermission struct {
-	ChartInfoPermissionId int64     `json:"chart_info_permission_id" orm:"column(chart_info_permission_id);pk"`
+	ChartInfoPermissionId int64     `json:"chart_info_permission_id" orm:"column(chart_info_permission_id);pk" gorm:"primaryKey" `
 	ChartInfoId           int32     `json:"chart_info_id"` // 图表id
 	Source                int32     `json:"source"`        // 1:ETA图库;2:商品价格曲线;3:相关性图
 	SysUserId             int32     `json:"sys_user_id"`   // 系统用户id
@@ -22,7 +22,7 @@ type ChartInfoPermission struct {
 // ChartClassifyPermission
 // @Description: 图表分类权限表
 type ChartClassifyPermission struct {
-	ChartClassifyPermissionId int64     `json:"chart_classify_permission_id" orm:"column(chart_classify_permission_id);pk"`
+	ChartClassifyPermissionId int64     `json:"chart_classify_permission_id" orm:"column(chart_classify_permission_id);pk" gorm:"primaryKey" `
 	ChartClassifyId           int32     `json:"chart_classify_id"` // 分类id
 	Source                    int32     `json:"source"`            // 分类来源: 1-图库; 2-商品价格曲线; 3-相关性图表; 6-拟合方程图表; 7-统计特征
 	SysUserId                 int32     `json:"sys_user_id"`       // 系统用户id
@@ -39,41 +39,25 @@ type ChartClassifyPermission struct {
 // @return err error
 func SetIsPermissionByChartClassifyIdList(classifyIdList []int, chartClassifySource int) (err error) {
 	num := len(classifyIdList)
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
-	//// 获取已经配置涉密的分类权限
-	//chartClassifyList := make([]*ChartClassify, 0)
-	//sql := `SELECT * FROM chart_classify WHERE is_join_permission = ? `
-	//_, err = o.Raw(sql, 1).QueryRows(&chartClassifyList)
-	//if err != nil {
-	//	return
-	//}
-	//chartClassifyMap := make(map[int]*ChartClassify)
-	//for _, v := range chartClassifyList {
-	//	chartClassifyMap[v.ClassifyId] = v
-	//}
-
-	// 先将所有已经设置了涉密的分类设置为不涉密
 	sql := `UPDATE chart_classify SET is_join_permission=?,modify_time=now() WHERE is_join_permission = 1 AND source = ?`
-	_, err = o.Raw(sql, 0, chartClassifySource).Exec()
+	err = to.Exec(sql, 0, chartClassifySource).Error
 	if err != nil {
 		return
 	}
-
 	if num > 0 {
-		// 将对应的分类设置为涉密
 		sql = `UPDATE chart_classify SET is_join_permission=?,modify_time=now() WHERE source = ? AND chart_classify_id in (` + utils.GetOrmInReplace(num) + `) `
-		_, err = o.Raw(sql, 1, chartClassifySource, classifyIdList).Exec()
+		err = to.Exec(sql, 1, chartClassifySource, classifyIdList).Error
 		if err != nil {
 			return
 		}
@@ -95,22 +79,20 @@ func SetPermissionByChartIdList(chartIdList []string, userIdList []int, source i
 	if chartNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 获取已经配置的图表权限用户
 	chartInfoPermissionList := make([]*ChartInfoPermission, 0)
 	sql := `SELECT * FROM chart_info_permission WHERE source = ? AND chart_info_id in (` + utils.GetOrmInReplace(chartNum) + `) `
-	_, err = o.Raw(sql, source, chartIdList).QueryRows(&chartInfoPermissionList)
+	err = to.Raw(sql, source, chartIdList).Find(&chartInfoPermissionList).Error
 	if err != nil {
 		return
 	}
@@ -129,7 +111,7 @@ func SetPermissionByChartIdList(chartIdList []string, userIdList []int, source i
 			isJoinPermission = 0
 		}
 		sql = `UPDATE chart_info SET is_join_permission=?,modify_time=now() WHERE source = ? AND chart_info_id in (` + utils.GetOrmInReplace(chartNum) + `) `
-		_, err = o.Raw(sql, isJoinPermission, source, chartIdList).Exec()
+		err = to.Exec(sql, isJoinPermission, source, chartIdList).Error
 		if err != nil {
 			return
 		}
@@ -166,7 +148,7 @@ func SetPermissionByChartIdList(chartIdList []string, userIdList []int, source i
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -183,7 +165,7 @@ func SetPermissionByChartIdList(chartIdList []string, userIdList []int, source i
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
 			sql = "DELETE FROM chart_info_permission WHERE chart_info_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			err = to.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -205,22 +187,20 @@ func SetPermissionByChartClassifyIdList(classifyIdList []int, userIdList []int,
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 获取当前选择用户已经配置的图表分类权限
 	classifyPermissionList := make([]*ChartClassifyPermission, 0)
 	sql := `SELECT * FROM chart_classify_permission WHERE source = ? AND sys_user_id in (` + utils.GetOrmInReplace(userNum) + `) `
-	_, err = o.Raw(sql, classifyType, userIdList).QueryRows(&classifyPermissionList)
+	err = to.Raw(sql, classifyType, userIdList).Find(&classifyPermissionList).Error
 	if err != nil {
 		return
 	}
@@ -255,7 +235,7 @@ func SetPermissionByChartClassifyIdList(classifyIdList []int, userIdList []int,
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -272,7 +252,7 @@ func SetPermissionByChartClassifyIdList(classifyIdList []int, userIdList []int,
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
 			sql = "DELETE FROM chart_classify_permission WHERE chart_classify_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			err = to.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -291,10 +271,8 @@ func SetPermissionByChartClassifyIdList(classifyIdList []int, userIdList []int,
 // @return chartClassifyIdList []int
 // @return err error
 func GetPermissionChartClassifyIdListByUserId(userId int, classifyType int) (chartClassifyIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT chart_classify_id FROM chart_classify_permission WHERE source = ? AND sys_user_id = ? `
-	_, err = o.Raw(sql, classifyType, userId).QueryRows(&chartClassifyIdList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyType, userId).Find(&chartClassifyIdList).Error
 	return
 }
 
@@ -307,10 +285,8 @@ func GetPermissionChartClassifyIdListByUserId(userId int, classifyType int) (cha
 // @return chartIdList []int
 // @return err error
 func GetPermissionUserIdListByChartId(dataId int, source int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM chart_info_permission WHERE source = ? AND chart_info_id= ? `
-	_, err = o.Raw(sql, source, dataId).QueryRows(&userIdList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, dataId).Find(&userIdList).Error
 	return
 }
 
@@ -323,10 +299,8 @@ func GetPermissionUserIdListByChartId(dataId int, source int) (userIdList []int,
 // @return userIdList []int
 // @return err error
 func GetPermissionUserIdListByChartClassifyId(classifyId int, source int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM chart_classify_permission WHERE source = ? AND chart_classify_id= ? `
-	_, err = o.Raw(sql, source, classifyId).QueryRows(&userIdList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, classifyId).Find(&userIdList).Error
 	return
 }
 
@@ -340,14 +314,12 @@ func GetPermissionUserIdListByChartClassifyId(classifyId int, source int) (userI
 // @return err error
 func GetPermissionChartIdList(userId, chartInfoId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT chart_info_id FROM chart_info_permission WHERE sys_user_id = ? `
 	if chartInfoId > 0 {
 		sql += ` AND chart_info_id = ? `
 		pars = append(pars, chartInfoId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&idList).Error
 	return
 }
 
@@ -361,14 +333,12 @@ func GetPermissionChartIdList(userId, chartInfoId int) (idList []int, err error)
 // @return err error
 func GetPermissionChartClassifyIdList(userId, classifyId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT chart_classify_id FROM chart_classify_permission WHERE sys_user_id = ? `
 	if classifyId > 0 {
 		sql += ` AND chart_classify_id = ? `
 		pars = append(pars, classifyId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&idList).Error
 	return
 }
 
@@ -384,21 +354,18 @@ func GetPermissionChartClassifyIdList(userId, classifyId int) (idList []int, err
 // @param uniqueCode string
 // @return err error
 func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId, parentClassifyId int, classifyName, uniqueCode string) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
-	// 将对应的分类设置为涉密
 	sql := `UPDATE chart_classify SET is_join_permission=?,modify_time=now() WHERE source = ? AND chart_classify_id = ? `
-	_, err = o.Raw(sql, 1, chartSource, classifyId).Exec()
+	err = to.Exec(sql, 1, chartSource, classifyId).Error
 	if err != nil {
 		return
 	}
@@ -407,8 +374,9 @@ func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId,
 	{
 		// 获取父级未授权的用户记录
 		var parentRecordItems []*ChartInfoClassifyPermissionNoAuthRecord
+
 		sql = `SELECT * FROM data_permission_classify_no_auth_record WHERE classify_id = ? AND source = ? AND sub_source = ? ORDER BY data_permission_classify_no_auth_record_id desc LIMIT ?,? `
-		_, err = o.Raw(sql, parentClassifyId, dataSource, chartSource).QueryRows(&parentRecordItems)
+		err = to.Raw(sql, parentClassifyId, dataSource, chartSource).Find(&parentRecordItems).Error
 
 		addNoAuthRecordItems := make([]*ChartInfoClassifyPermissionNoAuthRecord, 0)
 		for _, v := range parentRecordItems {
@@ -425,7 +393,8 @@ func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId,
 
 		// 添加待配置项
 		if len(addNoAuthRecordItems) > 0 {
-			_, err = o.InsertMulti(500, addNoAuthRecordItems)
+
+			err = to.CreateInBatches(addNoAuthRecordItems, len(addNoAuthRecordItems)).Error
 			if err != nil {
 				return
 			}
@@ -438,7 +407,7 @@ func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId,
 		// 获取父级分类已经授权的用户
 		parentClassifyPermissionList := make([]*ChartClassifyPermission, 0)
 		sql = `SELECT * FROM chart_classify_permission WHERE source = ? AND chart_classify_id = ? `
-		_, err = o.Raw(sql, chartSource, parentClassifyId).QueryRows(&parentClassifyPermissionList)
+		err = to.Raw(sql, chartSource, parentClassifyId).Find(&parentClassifyPermissionList).Error
 		if err != nil {
 			return
 		}
@@ -457,7 +426,7 @@ func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId,
 		}
 		// 添加待配置项
 		if len(addList) > 0 {
-			_, err = o.InsertMulti(500, addList)
+			err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -470,13 +439,13 @@ func InheritParentClassifyByChartClassifyId(dataSource, chartSource, classifyId,
 // ChartInfoPermissionNoAuthRecord
 // @Description: 图表数据权限未授权记录表
 type ChartInfoPermissionNoAuthRecord struct {
-	ChartInfoPermissionNoAuthRecordId int64     `json:"chart_info_permission_no_auth_record_id"  orm:"column(chart_info_permission_no_auth_record_id);pk"` // 资产数据操作记录id
-	OpUniqueCode                      string    `json:"op_unique_code"`                                                                                    // 操作的唯一编码,主要是记录统一操作的日志
-	Source                            int32     `json:"source"`                                                                                            // 1:ETA图库;2:商品价格曲线;3:相关性图
-	ChartInfoId                       int32     `json:"chart_info_id"`                                                                                     // 指标id
-	ChartName                         string    `json:"chart_name"`                                                                                        // 图表名称
-	SysUserId                         int32     `json:"sys_user_id"`                                                                                       // 系统用户id
-	CreateTime                        time.Time `json:"create_time"`                                                                                       // 创建时间
+	ChartInfoPermissionNoAuthRecordId int64     `json:"chart_info_permission_no_auth_record_id"  orm:"column(chart_info_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产数据操作记录id
+	OpUniqueCode                      string    `json:"op_unique_code"`                                                                                                       // 操作的唯一编码,主要是记录统一操作的日志
+	Source                            int32     `json:"source"`                                                                                                               // 1:ETA图库;2:商品价格曲线;3:相关性图
+	ChartInfoId                       int32     `json:"chart_info_id"`                                                                                                        // 指标id
+	ChartName                         string    `json:"chart_name"`                                                                                                           // 图表名称
+	SysUserId                         int32     `json:"sys_user_id"`                                                                                                          // 系统用户id
+	CreateTime                        time.Time `json:"create_time"`                                                                                                          // 创建时间
 }
 
 // AddChartInfoPermissionNoAuthRecordBySourceAndDataIdList
@@ -505,22 +474,20 @@ func AddChartInfoPermissionNoAuthRecordBySourceAndDataIdList(source, chartSource
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据指标获取已经存在的未授权记录
 	var existList []*ChartInfoPermissionNoAuthRecord
 	sql := `SELECT * FROM chart_info_permission_no_auth_record WHERE  source = ? AND chart_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, chartSource, dataIdList).QueryRows(&existList)
+	err = to.Raw(sql, chartSource, dataIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -588,7 +555,7 @@ func AddChartInfoPermissionNoAuthRecordBySourceAndDataIdList(source, chartSource
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -596,7 +563,7 @@ func AddChartInfoPermissionNoAuthRecordBySourceAndDataIdList(source, chartSource
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -606,7 +573,7 @@ func AddChartInfoPermissionNoAuthRecordBySourceAndDataIdList(source, chartSource
 	authUserIdNum := len(authUserIdList)
 	if authUserIdNum > 0 {
 		sql = `DELETE FROM chart_info_permission_no_auth_record WHERE  source = ? AND sys_user_id in (` + utils.GetOrmInReplace(authUserIdNum) + `) AND chart_info_id in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, chartSource, authUserIdList, dataIdList).Exec()
+		err = to.Exec(sql, chartSource, authUserIdList, dataIdList).Error
 	}
 
 	return
@@ -624,38 +591,32 @@ func DeleteChartInfoPermissionNoAuthRecordBySourceAndDataIdList(chartSource int,
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-
 	sql := `DELETE FROM chart_info_permission_no_auth_record WHERE source = ? AND chart_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, chartSource, dataIdList).Exec()
-
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, chartSource, dataIdList).Error
 	return
 }
 
 func GetChartInfoDataPermissionNoAuthRecordListByUserId(userId int32, chartSource, startSize, pageSize int) (total int, items []*DataPermissionNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM chart_info_permission_no_auth_record WHERE sys_user_id = ? AND source = ? `
-	err = o.Raw(sql, userId, chartSource).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, chartSource).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT chart_info_permission_no_auth_record_id as data_permission_no_auth_record_id,op_unique_code,source as sub_source,chart_info_id as data_id,chart_name as data_name,sys_user_id,create_time FROM chart_info_permission_no_auth_record WHERE sys_user_id = ? AND source = ? ORDER BY chart_info_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, chartSource, startSize, pageSize).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, chartSource, startSize, pageSize).Find(&items).Error
 	return
 }
 
 type ChartInfoClassifyPermissionNoAuthRecord struct {
-	ChartInfoClassifyPermissionNoAuthRecordId int64     `json:"chart_info_classify_permission_no_auth_record_id" orm:"column(chart_info_classify_permission_no_auth_record_id);pk"` // 资产分类数据操作记录id
-	Source                                    int32     `json:"source"`                                                                                                             // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode                              string    `json:"op_unique_code"`                                                                                                     // 操作的唯一编码,主要是记录统一操作的日志
-	ClassifyId                                string    `json:"classify_id"`                                                                                                        // 图表资产分类id
-	ClassifyName                              string    `json:"classify_name"`                                                                                                      // 图表资产分类名称
-	SysUserId                                 int32     `json:"sys_user_id"`                                                                                                        // 系统用户id
-	CreateTime                                time.Time `json:"create_time"`                                                                                                        // 创建时间
+	ChartInfoClassifyPermissionNoAuthRecordId int64     `json:"chart_info_classify_permission_no_auth_record_id" orm:"column(chart_info_classify_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产分类数据操作记录id
+	Source                                    int32     `json:"source"`                                                                                                                                // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode                              string    `json:"op_unique_code"`                                                                                                                        // 操作的唯一编码,主要是记录统一操作的日志
+	ClassifyId                                string    `json:"classify_id"`                                                                                                                           // 图表资产分类id
+	ClassifyName                              string    `json:"classify_name"`                                                                                                                         // 图表资产分类名称
+	SysUserId                                 int32     `json:"sys_user_id"`                                                                                                                           // 系统用户id
+	CreateTime                                time.Time `json:"create_time"`                                                                                                                           // 创建时间
 }
 
 // AddChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList
@@ -685,22 +646,20 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, chartSour
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据分类获取已经存在的未授权记录
 	var existList []*ChartInfoClassifyPermissionNoAuthRecord
 	sql := `SELECT * FROM chart_info_classify_permission_no_auth_record WHERE source = ? AND classify_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, chartSource, classifyIdList).QueryRows(&existList)
+	err = to.Raw(sql, chartSource, classifyIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -768,7 +727,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, chartSour
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -776,7 +735,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, chartSour
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -786,7 +745,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, chartSour
 	authUserIdNum := len(classifyIdList)
 	if authUserIdNum > 0 {
 		sql = `DELETE FROM chart_info_classify_permission_no_auth_record WHERE source = ? AND classify_id not in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, chartSource, classifyIdList).Exec()
+		err = to.Exec(sql, chartSource, classifyIdList).Error
 	}
 
 	return
@@ -811,28 +770,20 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndUserIdList(source, chartSource i
 		return
 	}
 
-	//// 总共的涉密分类
-	//noAuthClassifyInfoNum := len(noAuthClassifyMap)
-	//if noAuthClassifyInfoNum <= 0 {
-	//	return
-	//}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据当前配置用户获取已经存在的未授权记录
 	var existList []*ChartInfoClassifyPermissionNoAuthRecord
 	sql := `SELECT * FROM chart_info_classify_permission_no_auth_record WHERE source = ? AND sys_user_id in (` + utils.GetOrmInReplace(configUserNum) + `)`
-	_, err = o.Raw(sql, chartSource, configUserIdList).QueryRows(&existList)
+	err = to.Raw(sql, chartSource, configUserIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -904,7 +855,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndUserIdList(source, chartSource i
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -912,7 +863,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndUserIdList(source, chartSource i
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -926,7 +877,7 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndUserIdList(source, chartSource i
 			delRecordIdList = append(delRecordIdList, v)
 		}
 		sql = `DELETE FROM chart_info_classify_permission_no_auth_record WHERE chart_info_classify_permission_no_auth_record_id in (` + utils.GetOrmInReplace(delRecordIdNum) + `) `
-		_, err = o.Raw(sql, delRecordIdList).Exec()
+		err = to.Exec(sql, delRecordIdList).Error
 	}
 
 	return
@@ -939,11 +890,8 @@ func AddChartInfoClassifyNoAuthRecordBySourceAndUserIdList(source, chartSource i
 // @param chartSource int
 // @return err error
 func DeleteChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(chartSource int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	sql := `DELETE FROM chart_info_classify_permission_no_auth_record WHERE source = ?`
-	_, err = o.Raw(sql, chartSource).Exec()
-
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, chartSource).Error
 	return
 }
 
@@ -960,17 +908,13 @@ func DeleteChartInfoClassifyNoAuthRecordBySourceAndClassifyIdList(chartSource in
 // @return items []*DataPermissionClassifyNoAuthRecord
 // @return err error
 func GetChartInfoDataPermissionClassifyNoAuthRecordListByUserId(userId int32, chartSource, startSize, pageSize int) (total int, items []*DataPermissionClassifyNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
-	// 获取总数
 	sql := `SELECT count(1) AS total FROM chart_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND source = ? `
-	err = o.Raw(sql, userId, chartSource).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, chartSource).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT chart_info_classify_permission_no_auth_record_id as data_permission_classify_no_auth_record_id,source as sub_source,op_unique_code,classify_id,classify_name,sys_user_id,create_time  FROM chart_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND source = ? ORDER BY chart_info_classify_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, chartSource, startSize, pageSize).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, chartSource, startSize, pageSize).Find(&items).Error
 	return
 }

+ 8 - 8
models/data_manage/data_manage_permission/classify_no_auth_record.go

@@ -9,14 +9,14 @@ import (
 // DataPermissionClassifyNoAuthRecord
 // @Description: 资产分类数据权限未授权记录表
 type DataPermissionClassifyNoAuthRecord struct {
-	DataPermissionClassifyNoAuthRecordId int64     `json:"data_permission_classify_no_auth_record_id" orm:"column(data_permission_classify_no_auth_record_id);pk"` // 资产分类数据操作记录id
-	Source                               int32     `json:"source"`                                                                                                 // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
-	SubSource                            int32     `json:"sub_source"`                                                                                             // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode                         string    `json:"op_unique_code"`                                                                                         // 操作的唯一编码,主要是记录统一操作的日志
-	ClassifyId                           string    `json:"classify_id"`                                                                                            // 资产分类id(指标、图表、表格)
-	ClassifyName                         string    `json:"classify_name"`                                                                                          // 资产分类名称(指标、图表、表格)
-	SysUserId                            int32     `json:"sys_user_id"`                                                                                            // 系统用户id
-	CreateTime                           time.Time `json:"create_time"`                                                                                            // 创建时间
+	DataPermissionClassifyNoAuthRecordId int64     `json:"data_permission_classify_no_auth_record_id" orm:"column(data_permission_classify_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产分类数据操作记录id
+	Source                               int32     `json:"source"`                                                                                                                    // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	SubSource                            int32     `json:"sub_source"`                                                                                                                // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode                         string    `json:"op_unique_code"`                                                                                                            // 操作的唯一编码,主要是记录统一操作的日志
+	ClassifyId                           string    `json:"classify_id"`                                                                                                               // 资产分类id(指标、图表、表格)
+	ClassifyName                         string    `json:"classify_name"`                                                                                                             // 资产分类名称(指标、图表、表格)
+	SysUserId                            int32     `json:"sys_user_id"`                                                                                                               // 系统用户id
+	CreateTime                           time.Time `json:"create_time"`                                                                                                               // 创建时间
 }
 
 type ClassifyDataItem struct {

+ 94 - 161
models/data_manage/data_manage_permission/edb.go

@@ -1,9 +1,9 @@
 package data_manage_permission
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"time"
 )
@@ -11,7 +11,7 @@ import (
 // EdbInfoPermission
 // @Description: 指标权限表
 type EdbInfoPermission struct {
-	EdbInfoPermissionId int64     `json:"edb_info_permission_id" orm:"column(edb_info_permission_id);pk"`
+	EdbInfoPermissionId int64     `json:"edb_info_permission_id" orm:"column(edb_info_permission_id);pk" gorm:"primaryKey" `
 	EdbInfoId           int32     `json:"edb_info_id"`   // 指标id
 	EdbInfoType         int32     `json:"edb_info_type"` // 指标类型,0:普通指标,1:预测指标
 	SysUserId           int32     `json:"sys_user_id"`   // 系统用户id
@@ -22,7 +22,7 @@ type EdbInfoPermission struct {
 // EdbClassifyPermission
 // @Description: 指标分类权限表
 type EdbClassifyPermission struct {
-	EdbClassifyPermissionId int64     `json:"edb_classify_permission_id" orm:"column(edb_classify_permission_id);pk"`
+	EdbClassifyPermissionId int64     `json:"edb_classify_permission_id" orm:"column(edb_classify_permission_id);pk" gorm:"primaryKey" `
 	EdbClassifyId           int32     `json:"edb_classify_id"`   // 分类id
 	EdbClassifyType         int32     `json:"edb_classify_type"` // 分类类型,0:普通指标分类,1:预测指标分类
 	SysUserId               int32     `json:"sys_user_id"`       // 系统用户id
@@ -37,41 +37,25 @@ type EdbClassifyPermission struct {
 // @param classifyIdList []int
 func SetIsPermissionEdbChartByEdbClassifyIdList(classifyIdList []int, classifyType int) (err error) {
 	num := len(classifyIdList)
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
-	//// 获取已经配置涉密的分类权限
-	//edbClassifyList := make([]*EdbClassify, 0)
-	//sql := `SELECT * FROM edb_classify WHERE is_join_permission = ? `
-	//_, err = o.Raw(sql, 1).QueryRows(&edbClassifyList)
-	//if err != nil {
-	//	return
-	//}
-	//edbClassifyMap := make(map[int]*EdbClassify)
-	//for _, v := range edbClassifyList {
-	//	edbClassifyMap[v.ClassifyId] = v
-	//}
-
-	// 先将所有已经设置了涉密的分类设置为不涉密
 	sql := `UPDATE edb_classify SET is_join_permission=?,modify_time=now() WHERE is_join_permission = 1 AND classify_type = ?`
-	_, err = o.Raw(sql, 0, classifyType).Exec()
+	err = to.Exec(sql, 0, classifyType).Error
 	if err != nil {
 		return
 	}
 
 	if num > 0 {
-		// 将对应的分类设置为涉密
 		sql = `UPDATE edb_classify SET is_join_permission=?,modify_time=now() WHERE classify_type = ? AND classify_id in (` + utils.GetOrmInReplace(num) + `) `
-		_, err = o.Raw(sql, 1, classifyType, classifyIdList).Exec()
+		err = to.Exec(sql, 1, classifyType, classifyIdList).Error
 		if err != nil {
 			return
 		}
@@ -93,45 +77,22 @@ func SetPermissionByEdbIdList(edbIdList []string, userIdList []int, edbInfoType
 	if edbNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 获取已经配置的指标权限用户
 	edbInfoPermissionList := make([]*EdbInfoPermission, 0)
-	// 定义批次大小
-	batchSize := 500
-	var sql string
-	for i := 0; i < edbNum; i += batchSize {
-		// 确定当前批次的结束索引
-		end := i + batchSize
-		if end > edbNum {
-			end = edbNum
-		}
-
-		// 获取当前批次的 ID 列表
-		batch := edbIdList[i:end]
-
-		// 生成批次查询 SQL
-		sql = `SELECT * FROM edb_info_permission WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(len(batch)) + `)`
-
-		// 执行查询
-		var batchResult []*EdbInfoPermission
-		_, err = o.Raw(sql, edbInfoType, batch).QueryRows(&batchResult)
-		if err != nil {
-			return
-		}
-
-		// 将批次结果追加到总列表中
-		edbInfoPermissionList = append(edbInfoPermissionList, batchResult...)
+	sql := `SELECT * FROM edb_info_permission WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(edbNum) + `) `
+	err = to.Raw(sql, edbInfoType, edbIdList).Find(&edbInfoPermissionList).Error
+	if err != nil {
+		return
 	}
 
 	edbInfoPermissionMap := make(map[string]*EdbInfoPermission)
@@ -148,8 +109,8 @@ func SetPermissionByEdbIdList(edbIdList []string, userIdList []int, edbInfoType
 			// 标记指标为不纳入权限管控
 			isJoinPermission = 0
 		}
-		sql = `UPDATE edb_info SET is_join_permission=?,modify_time=now() WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(edbNum) + `) `
-		_, err = o.Raw(sql, isJoinPermission, edbInfoType, edbIdList).Exec()
+		sql = `UPDATE edb_info SET is_join_permission=?,modify_time=now() WHERE edb_info_type = ? AND edb_info_id in (?) `
+		err = to.Exec(sql, isJoinPermission, edbInfoType, edbIdList).Error
 		if err != nil {
 			return
 		}
@@ -186,10 +147,11 @@ func SetPermissionByEdbIdList(edbIdList []string, userIdList []int, edbInfoType
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
+
 	}
 
 	// 移除废弃的配置项
@@ -202,8 +164,8 @@ func SetPermissionByEdbIdList(edbIdList []string, userIdList []int, edbInfoType
 
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
-			sql = "DELETE FROM edb_info_permission WHERE edb_info_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			sql = `DELETE FROM edb_info_permission WHERE edb_info_permission_id in (?)`
+			err = to.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -225,22 +187,20 @@ func SetPermissionByEdbClassifyIdList(classifyIdList []int, userIdList []int, cl
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 获取当前选择用户已经配置的指标分类权限
 	classifyPermissionList := make([]*EdbClassifyPermission, 0)
 	sql := `SELECT * FROM edb_classify_permission WHERE edb_classify_type = ? AND sys_user_id in (` + utils.GetOrmInReplace(userNum) + `) `
-	_, err = o.Raw(sql, classifyType, userIdList).QueryRows(&classifyPermissionList)
+	err = to.Raw(sql, classifyType, userIdList).Find(&classifyPermissionList).Error
 	if err != nil {
 		return
 	}
@@ -275,7 +235,7 @@ func SetPermissionByEdbClassifyIdList(classifyIdList []int, userIdList []int, cl
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -292,7 +252,7 @@ func SetPermissionByEdbClassifyIdList(classifyIdList []int, userIdList []int, cl
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
 			sql = "DELETE FROM edb_classify_permission WHERE edb_classify_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			err = to.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -311,10 +271,8 @@ func SetPermissionByEdbClassifyIdList(classifyIdList []int, userIdList []int, cl
 // @return edbClassifyIdList []int
 // @return err error
 func GetPermissionEdbClassifyIdListByUserId(userId int, classifyType int) (edbClassifyIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT edb_classify_id FROM edb_classify_permission WHERE edb_classify_type = ? AND sys_user_id = ? `
-	_, err = o.Raw(sql, classifyType, userId).QueryRows(&edbClassifyIdList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyType, userId).Find(&edbClassifyIdList).Error
 	return
 }
 
@@ -327,9 +285,8 @@ func GetPermissionEdbClassifyIdListByUserId(userId int, classifyType int) (edbCl
 // @return userIdList []int
 // @return err error
 func GetPermissionUserIdListByEdbId(dataId int, edbInfoType int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM edb_info_permission WHERE edb_info_type = ? AND edb_info_id= ? `
-	_, err = o.Raw(sql, edbInfoType, dataId).QueryRows(&userIdList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoType, dataId).Find(&userIdList).Error
 
 	return
 }
@@ -343,9 +300,8 @@ func GetPermissionUserIdListByEdbId(dataId int, edbInfoType int) (userIdList []i
 // @return userIdList []int
 // @return err error
 func GetPermissionUserIdListByEdbClassifyId(classifyId int, edbClassifyType int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM edb_classify_permission WHERE edb_classify_type = ? AND edb_classify_id= ? `
-	_, err = o.Raw(sql, edbClassifyType, classifyId).QueryRows(&userIdList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbClassifyType, classifyId).Find(&userIdList).Error
 
 	return
 }
@@ -360,13 +316,12 @@ func GetPermissionUserIdListByEdbClassifyId(classifyId int, edbClassifyType int)
 // @return err error
 func GetPermissionEdbIdList(userId, edbInfoId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT edb_info_id FROM edb_info_permission WHERE sys_user_id = ? `
 	if edbInfoId > 0 {
 		sql += ` AND edb_info_id = ? `
 		pars = append(pars, edbInfoId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&idList).Error
 
 	return
 }
@@ -381,14 +336,13 @@ func GetPermissionEdbIdList(userId, edbInfoId int) (idList []int, err error) {
 // @return err error
 func GetPermissionEdbClassifyIdList(userId, classifyId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
+
 	sql := `SELECT edb_classify_id FROM edb_classify_permission WHERE sys_user_id = ? `
 	if classifyId > 0 {
 		sql += ` AND edb_classify_id = ? `
 		pars = append(pars, classifyId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&idList).Error
 	return
 }
 
@@ -404,21 +358,18 @@ func GetPermissionEdbClassifyIdList(userId, classifyId int) (idList []int, err e
 // @param uniqueCode string
 // @return err error
 func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, parentClassifyId int, classifyName, uniqueCode string) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
-	// 将对应的分类设置为涉密
 	sql := `UPDATE edb_classify SET is_join_permission=?,modify_time=now() WHERE classify_type = ? AND classify_id = ? `
-	_, err = o.Raw(sql, 1, classifyType, classifyId).Exec()
+	err = to.Exec(sql, 1, classifyType, classifyId).Error
 	if err != nil {
 		return
 	}
@@ -428,7 +379,7 @@ func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, pare
 		// 获取父级未授权的用户记录
 		var parentRecordItems []*EdbInfoClassifyPermissionNoAuthRecord
 		sql = `SELECT * FROM edb_info_classify_permission_no_auth_record WHERE classify_id = ? AND edb_classify_type = ? ORDER BY edb_info_classify_permission_no_auth_record_id desc LIMIT ?,? `
-		_, err = o.Raw(sql, parentClassifyId, source, classifyType).QueryRows(&parentRecordItems)
+		err = to.Raw(sql, parentClassifyId, source, classifyType).Find(&parentRecordItems).Error
 
 		addNoAuthRecordItems := make([]*EdbInfoClassifyPermissionNoAuthRecord, 0)
 		for _, v := range parentRecordItems {
@@ -445,7 +396,7 @@ func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, pare
 
 		// 添加待配置项
 		if len(addNoAuthRecordItems) > 0 {
-			_, err = o.InsertMulti(500, addNoAuthRecordItems)
+			err = to.CreateInBatches(addNoAuthRecordItems, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -458,7 +409,7 @@ func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, pare
 		// 获取父级分类已经授权的用户
 		parentClassifyPermissionList := make([]*EdbClassifyPermission, 0)
 		sql = `SELECT * FROM edb_classify_permission WHERE edb_classify_type = ? AND edb_classify_id = ? `
-		_, err = o.Raw(sql, classifyType, parentClassifyId).QueryRows(&parentClassifyPermissionList)
+		err = to.Raw(sql, classifyType, parentClassifyId).Find(&parentClassifyPermissionList).Error
 		if err != nil {
 			return
 		}
@@ -477,7 +428,7 @@ func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, pare
 		}
 		// 添加待配置项
 		if len(addList) > 0 {
-			_, err = o.InsertMulti(500, addList)
+			err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -490,14 +441,14 @@ func InheritParentClassifyByEdbClassifyId(source, classifyType, classifyId, pare
 // EdbInfoPermissionNoAuthRecord
 // @Description: 指标数据权限未授权记录表
 type EdbInfoPermissionNoAuthRecord struct {
-	EdbInfoPermissionNoAuthRecordId int64     `json:"edb_info_permission_no_auth_record_id"  orm:"column(edb_info_permission_no_auth_record_id);pk"` // 资产数据操作记录id
-	OpUniqueCode                    string    `json:"op_unique_code"`                                                                                // 操作的唯一编码,主要是记录统一操作的日志
-	EdbInfoType                     int32     `json:"edb_info_type"`                                                                                 // 指标类型,0:普通指标,1:预测指标
-	EdbInfoId                       int32     `json:"edb_info_id"`                                                                                   // 指标id
-	EdbCode                         string    `json:"edb_code"`                                                                                      // 指标编码
-	EdbName                         string    `json:"edb_name"`                                                                                      // 指标名称
-	SysUserId                       int32     `json:"sys_user_id"`                                                                                   // 系统用户id
-	CreateTime                      time.Time `json:"create_time"`                                                                                   // 创建时间
+	EdbInfoPermissionNoAuthRecordId int64     `json:"edb_info_permission_no_auth_record_id"  orm:"column(edb_info_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产数据操作记录id
+	OpUniqueCode                    string    `json:"op_unique_code"`                                                                                                   // 操作的唯一编码,主要是记录统一操作的日志
+	EdbInfoType                     int32     `json:"edb_info_type"`                                                                                                    // 指标类型,0:普通指标,1:预测指标
+	EdbInfoId                       int32     `json:"edb_info_id"`                                                                                                      // 指标id
+	EdbCode                         string    `json:"edb_code"`                                                                                                         // 指标编码
+	EdbName                         string    `json:"edb_name"`                                                                                                         // 指标名称
+	SysUserId                       int32     `json:"sys_user_id"`                                                                                                      // 系统用户id
+	CreateTime                      time.Time `json:"create_time"`                                                                                                      // 创建时间
 }
 
 // AddEdbInfoPermissionNoAuthRecordBySourceAndDataIdList
@@ -526,22 +477,20 @@ func AddEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(source, edbInfoType i
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据指标获取已经存在的未授权记录
 	var existList []*EdbInfoPermissionNoAuthRecord
 	sql := `SELECT * FROM edb_info_permission_no_auth_record WHERE  edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, edbInfoType, dataIdList).QueryRows(&existList)
+	err = to.Raw(sql, edbInfoType, dataIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -610,7 +559,7 @@ func AddEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(source, edbInfoType i
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -618,7 +567,8 @@ func AddEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(source, edbInfoType i
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -628,7 +578,7 @@ func AddEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(source, edbInfoType i
 	authUserIdNum := len(authUserIdList)
 	if authUserIdNum > 0 {
 		sql = `DELETE FROM edb_info_permission_no_auth_record WHERE  edb_info_type = ? AND sys_user_id in (` + utils.GetOrmInReplace(authUserIdNum) + `) AND edb_info_id in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, edbInfoType, authUserIdList, dataIdList).Exec()
+		err = to.Exec(sql, edbInfoType, authUserIdList, dataIdList).Error
 	}
 
 	return
@@ -647,11 +597,8 @@ func DeleteEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(edbInfoType int, d
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-
 	sql := `DELETE FROM edb_info_permission_no_auth_record WHERE edb_info_type = ? AND edb_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, edbInfoType, dataIdList).Exec()
-
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, edbInfoType, dataIdList).Error
 	return
 }
 
@@ -667,29 +614,26 @@ func DeleteEdbInfoPermissionNoAuthRecordBySourceAndDataIdList(edbInfoType int, d
 // @return items []*DataPermissionNoAuthRecord
 // @return err error
 func GetEdbInfoDataPermissionNoAuthRecordListByUserId(userId int32, edbInfoType, startSize, pageSize int) (total int, items []*DataPermissionNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM edb_info_permission_no_auth_record WHERE sys_user_id = ? AND edb_info_type = ? `
-	err = o.Raw(sql, userId, edbInfoType).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, edbInfoType).First(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT edb_info_permission_no_auth_record_id as data_permission_no_auth_record_id,op_unique_code,edb_info_type as sub_source,edb_info_id as data_id,edb_code as data_code,edb_name as data_name,sys_user_id,create_time FROM edb_info_permission_no_auth_record WHERE sys_user_id = ? AND edb_info_type = ? ORDER BY edb_info_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, edbInfoType, startSize, pageSize).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, edbInfoType, startSize, pageSize).Find(&items).Error
 	return
 }
 
 type EdbInfoClassifyPermissionNoAuthRecord struct {
-	EdbInfoClassifyPermissionNoAuthRecordId int64     `json:"edb_info_classify_permission_no_auth_record_id" orm:"column(edb_info_classify_permission_no_auth_record_id);pk"` // 资产分类数据操作记录id
-	EdbClassifyType                         int32     `json:"edb_classify_type"`                                                                                              // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode                            string    `json:"op_unique_code"`                                                                                                 // 操作的唯一编码,主要是记录统一操作的日志
-	ClassifyId                              string    `json:"classify_id"`                                                                                                    // 资产分类id(指标、图表、表格)
-	ClassifyName                            string    `json:"classify_name"`                                                                                                  // 资产分类名称(指标、图表、表格)
-	SysUserId                               int32     `json:"sys_user_id"`                                                                                                    // 系统用户id
-	CreateTime                              time.Time `json:"create_time"`                                                                                                    // 创建时间
+	EdbInfoClassifyPermissionNoAuthRecordId int64     `json:"edb_info_classify_permission_no_auth_record_id" orm:"column(edb_info_classify_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产分类数据操作记录id
+	EdbClassifyType                         int32     `json:"edb_classify_type"`                                                                                                                 // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode                            string    `json:"op_unique_code"`                                                                                                                    // 操作的唯一编码,主要是记录统一操作的日志
+	ClassifyId                              string    `json:"classify_id"`                                                                                                                       // 资产分类id(指标、图表、表格)
+	ClassifyName                            string    `json:"classify_name"`                                                                                                                     // 资产分类名称(指标、图表、表格)
+	SysUserId                               int32     `json:"sys_user_id"`                                                                                                                       // 系统用户id
+	CreateTime                              time.Time `json:"create_time"`                                                                                                                       // 创建时间
 }
 
 // AddEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList
@@ -719,22 +663,21 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, edbClassify
 	if userNum <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据分类获取已经存在的未授权记录
 	var existList []*EdbInfoClassifyPermissionNoAuthRecord
+
 	sql := `SELECT * FROM edb_info_classify_permission_no_auth_record WHERE edb_classify_type = ? AND classify_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, edbClassifyType, classifyIdList).QueryRows(&existList)
+	err = to.Raw(sql, edbClassifyType, classifyIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -802,15 +745,16 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, edbClassify
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
+
 	}
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -819,8 +763,9 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, edbClassify
 	// 移除已经公开了的分类权限,需要删除未授权记录
 	authUserIdNum := len(classifyIdList)
 	if authUserIdNum > 0 {
+
 		sql = `DELETE FROM edb_info_classify_permission_no_auth_record WHERE edb_classify_type = ? AND classify_id not in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, edbClassifyType, classifyIdList).Exec()
+		err = to.Exec(sql, edbClassifyType, classifyIdList).Error
 	}
 
 	return
@@ -845,28 +790,21 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndUserIdList(source, edbClassifyType
 		return
 	}
 
-	//// 总共的涉密分类
-	//noAuthClassifyInfoNum := len(noAuthClassifyMap)
-	//if noAuthClassifyInfoNum <= 0 {
-	//	return
-	//}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 根据当前配置用户获取已经存在的未授权记录
 	var existList []*EdbInfoClassifyPermissionNoAuthRecord
+
 	sql := `SELECT * FROM edb_info_classify_permission_no_auth_record WHERE edb_classify_type = ? AND sys_user_id in (` + utils.GetOrmInReplace(configUserNum) + `)`
-	_, err = o.Raw(sql, edbClassifyType, configUserIdList).QueryRows(&existList)
+	err = to.Raw(sql, edbClassifyType, configUserIdList).Find(&existList).Error
 	if err != nil {
 		return
 	}
@@ -938,7 +876,7 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndUserIdList(source, edbClassifyType
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = to.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -946,7 +884,7 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndUserIdList(source, edbClassifyType
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = to.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -960,7 +898,7 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndUserIdList(source, edbClassifyType
 			delRecordIdList = append(delRecordIdList, v)
 		}
 		sql = `DELETE FROM edb_info_classify_permission_no_auth_record WHERE edb_info_classify_permission_no_auth_record_id in (` + utils.GetOrmInReplace(delRecordIdNum) + `) `
-		_, err = o.Raw(sql, delRecordIdList).Exec()
+		err = to.Exec(sql, delRecordIdList).Error
 	}
 
 	return
@@ -974,10 +912,8 @@ func AddEdbInfoClassifyNoAuthRecordBySourceAndUserIdList(source, edbClassifyType
 // @param edbClassifyType int
 // @return err error
 func DeleteEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList(edbClassifyType int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	sql := `DELETE FROM edb_info_classify_permission_no_auth_record WHERE edb_classify_type = ?`
-	_, err = o.Raw(sql, edbClassifyType).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, edbClassifyType).Error
 
 	return
 }
@@ -995,17 +931,14 @@ func DeleteEdbInfoClassifyNoAuthRecordBySourceAndClassifyIdList(edbClassifyType
 // @return items []*DataPermissionClassifyNoAuthRecord
 // @return err error
 func GetEdbInfoDataPermissionClassifyNoAuthRecordListByUserId(userId int32, edbClassifyType, startSize, pageSize int) (total int, items []*DataPermissionClassifyNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM edb_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND edb_classify_type = ? `
-	err = o.Raw(sql, userId, edbClassifyType).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, edbClassifyType).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT edb_info_classify_permission_no_auth_record_id as data_permission_classify_no_auth_record_id,edb_classify_type as sub_source,op_unique_code,classify_id,classify_name,sys_user_id,create_time  FROM edb_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND edb_classify_type = ? ORDER BY edb_info_classify_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, edbClassifyType, startSize, pageSize).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, edbClassifyType, startSize, pageSize).Find(&items).Error
 	return
 }

+ 74 - 131
models/data_manage/data_manage_permission/excel.go

@@ -1,15 +1,15 @@
 package data_manage_permission
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"time"
 )
 
 type ExcelInfoPermission struct {
-	ExcelInfoPermissionId int64     `json:"excel_info_permission_id" orm:"column(excel_info_permission_id);pk"`
+	ExcelInfoPermissionId int64     `json:"excel_info_permission_id" orm:"column(excel_info_permission_id);pk" gorm:"primaryKey" `
 	ExcelInfoId           int32     `json:"excel_info_id"`   // ETA表格id
 	Source                int32     `json:"source"`          // 表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1
 	SysUserId             int32     `json:"sys_user_id"`     // 系统用户id
@@ -19,7 +19,7 @@ type ExcelInfoPermission struct {
 }
 
 type ExcelClassifyPermission struct {
-	ExcelClassifyPermissionId int64     `json:"excel_classify_permission_id" orm:"column(excel_classify_permission_id);pk"`
+	ExcelClassifyPermissionId int64     `json:"excel_classify_permission_id" orm:"column(excel_classify_permission_id);pk" gorm:"primaryKey" `
 	ExcelClassifyId           int32     `json:"excel_classify_id"` // 分类id
 	Source                    int32     `json:"source"`            // 表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1
 	SysUserId                 int32     `json:"sys_user_id"`       // 系统用户id
@@ -36,10 +36,7 @@ type ExcelClassifyPermission struct {
 // @return err error
 func SetIsPermissionByExcelClassifyIdList(classifyIdList []int, excelClassifySource int) (err error) {
 	num := len(classifyIdList)
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -47,22 +44,9 @@ func SetIsPermissionByExcelClassifyIdList(classifyIdList []int, excelClassifySou
 			_ = o.Commit()
 		}
 	}()
-
-	//// 获取已经配置涉密的分类权限
-	//excelClassifyList := make([]*ExcelClassify, 0)
-	//sql := `SELECT * FROM excel_classify WHERE is_join_permission = ? `
-	//_, err = o.Raw(sql, 1).QueryRows(&excelClassifyList)
-	//if err != nil {
-	//	return
-	//}
-	//excelClassifyMap := make(map[int]*ExcelClassify)
-	//for _, v := range excelClassifyList {
-	//	excelClassifyMap[v.ClassifyId] = v
-	//}
-
 	// 先将所有已经设置了涉密的分类设置为不涉密
 	sql := `UPDATE excel_classify SET is_join_permission=?,modify_time=now() WHERE is_join_permission = 1 AND source = ?`
-	_, err = o.Raw(sql, 0, excelClassifySource).Exec()
+	err = o.Exec(sql, 0, excelClassifySource).Error
 	if err != nil {
 		return
 	}
@@ -70,7 +54,7 @@ func SetIsPermissionByExcelClassifyIdList(classifyIdList []int, excelClassifySou
 	if num > 0 {
 		// 将对应的分类设置为涉密
 		sql = `UPDATE excel_classify SET is_join_permission=?,modify_time=now() WHERE source = ? AND excel_classify_id in (` + utils.GetOrmInReplace(num) + `) `
-		_, err = o.Raw(sql, 1, excelClassifySource, classifyIdList).Exec()
+		err = o.Exec(sql, 1, excelClassifySource, classifyIdList).Error
 		if err != nil {
 			return
 		}
@@ -92,10 +76,7 @@ func SetPermissionByExcelIdList(excelIdList []string, userIdList []int, source i
 	if excelNum <= 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()
@@ -107,7 +88,7 @@ func SetPermissionByExcelIdList(excelIdList []string, userIdList []int, source i
 	// 获取已经配置的表格权限用户
 	excelInfoPermissionList := make([]*ExcelInfoPermission, 0)
 	sql := `SELECT * FROM excel_info_permission WHERE source = ? AND excel_info_id in (` + utils.GetOrmInReplace(excelNum) + `) `
-	_, err = o.Raw(sql, source, excelIdList).QueryRows(&excelInfoPermissionList)
+	err = o.Raw(sql, source, excelIdList).Scan(&excelInfoPermissionList).Error
 	if err != nil {
 		return
 	}
@@ -126,7 +107,7 @@ func SetPermissionByExcelIdList(excelIdList []string, userIdList []int, source i
 			isJoinPermission = 0
 		}
 		sql = `UPDATE excel_info SET is_join_permission=?,modify_time=now() WHERE source = ? AND excel_info_id in (` + utils.GetOrmInReplace(excelNum) + `) `
-		_, err = o.Raw(sql, isJoinPermission, source, excelIdList).Exec()
+		err = global.DbMap[utils.DbNameIndex].Exec(sql, isJoinPermission, source, excelIdList).Error
 		if err != nil {
 			return
 		}
@@ -163,7 +144,7 @@ func SetPermissionByExcelIdList(excelIdList []string, userIdList []int, source i
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = o.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -180,7 +161,7 @@ func SetPermissionByExcelIdList(excelIdList []string, userIdList []int, source i
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
 			sql = "DELETE FROM excel_info_permission WHERE excel_info_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			err = o.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -202,10 +183,7 @@ func SetPermissionByExcelClassifyIdList(classifyIdList []int, userIdList []int,
 	if userNum <= 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()
@@ -217,7 +195,7 @@ func SetPermissionByExcelClassifyIdList(classifyIdList []int, userIdList []int,
 	// 获取当前选择用户已经配置的表格分类权限
 	classifyPermissionList := make([]*ExcelClassifyPermission, 0)
 	sql := `SELECT * FROM excel_classify_permission WHERE source = ? AND sys_user_id in (` + utils.GetOrmInReplace(userNum) + `) `
-	_, err = o.Raw(sql, classifyType, userIdList).QueryRows(&classifyPermissionList)
+	err = o.Raw(sql, classifyType, userIdList).Scan(&classifyPermissionList).Error
 	if err != nil {
 		return
 	}
@@ -252,7 +230,7 @@ func SetPermissionByExcelClassifyIdList(classifyIdList []int, userIdList []int,
 
 	// 添加待配置项
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(500, addList)
+		err = o.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -269,7 +247,7 @@ func SetPermissionByExcelClassifyIdList(classifyIdList []int, userIdList []int,
 		deletePermissionIdNum := len(deletePermissionIdList)
 		if deletePermissionIdNum > 0 {
 			sql = "DELETE FROM excel_classify_permission WHERE excel_classify_permission_id in (" + utils.GetOrmInReplace(deletePermissionIdNum) + ")"
-			_, err = o.Raw(sql, deletePermissionIdList).Exec()
+			err = o.Exec(sql, deletePermissionIdList).Error
 			if err != nil {
 				return
 			}
@@ -288,9 +266,8 @@ func SetPermissionByExcelClassifyIdList(classifyIdList []int, userIdList []int,
 // @return excelClassifyIdList []int
 // @return err error
 func GetPermissionExcelClassifyIdListByUserId(userId int, classifyType int) (excelClassifyIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_classify_id FROM excel_classify_permission WHERE source = ? AND sys_user_id = ? `
-	_, err = o.Raw(sql, classifyType, userId).QueryRows(&excelClassifyIdList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyType, userId).Scan(&excelClassifyIdList).Error
 
 	return
 }
@@ -304,9 +281,8 @@ func GetPermissionExcelClassifyIdListByUserId(userId int, classifyType int) (exc
 // @return userIdList []int
 // @return err error
 func GetPermissionUserIdListByExcelId(dataId int, source int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM excel_info_permission WHERE source = ? AND excel_info_id= ? `
-	_, err = o.Raw(sql, source, dataId).QueryRows(&userIdList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, dataId).Scan(&userIdList).Error
 
 	return
 }
@@ -320,9 +296,8 @@ func GetPermissionUserIdListByExcelId(dataId int, source int) (userIdList []int,
 // @return userIdList []int
 // @return err error
 func GetPermissionUserIdListByExcelClassifyId(classifyId int, source int) (userIdList []int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT sys_user_id FROM excel_classify_permission WHERE source = ? AND excel_classify_id= ? `
-	_, err = o.Raw(sql, source, classifyId).QueryRows(&userIdList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, classifyId).Scan(&userIdList).Error
 
 	return
 }
@@ -337,13 +312,12 @@ func GetPermissionUserIdListByExcelClassifyId(classifyId int, source int) (userI
 // @return err error
 func GetPermissionExcelIdList(userId, excelInfoId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_info_id FROM excel_info_permission WHERE sys_user_id = ? `
 	if excelInfoId > 0 {
 		sql += ` AND excel_info_id = ? `
 		pars = append(pars, excelInfoId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&idList).Error
 
 	return
 }
@@ -358,13 +332,12 @@ func GetPermissionExcelIdList(userId, excelInfoId int) (idList []int, err error)
 // @return err error
 func GetPermissionExcelClassifyIdList(userId, classifyId int) (idList []int, err error) {
 	pars := []interface{}{userId}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_classify_id FROM excel_classify_permission WHERE sys_user_id = ? `
 	if classifyId > 0 {
 		sql += ` AND excel_classify_id = ? `
 		pars = append(pars, classifyId)
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&idList)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&idList).Error
 
 	return
 }
@@ -381,10 +354,7 @@ func GetPermissionExcelClassifyIdList(userId, classifyId int) (idList []int, err
 // @param uniqueCode string
 // @return err error
 func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId, parentClassifyId int, classifyName, uniqueCode string) (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()
@@ -395,7 +365,7 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 
 	// 将对应的分类设置为涉密
 	sql := `UPDATE excel_classify SET is_join_permission=?,modify_time=now() WHERE source = ? AND excel_classify_id = ? `
-	_, err = o.Raw(sql, 1, excelSource, classifyId).Exec()
+	err = o.Exec(sql, 1, excelSource, classifyId).Error
 	if err != nil {
 		return
 	}
@@ -405,7 +375,7 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 		// 获取父级未授权的用户记录
 		var parentRecordItems []*ExcelInfoClassifyPermissionNoAuthRecord
 		sql = `SELECT * FROM data_permission_classify_no_auth_record WHERE classify_id = ? AND source = ? AND sub_source = ? ORDER BY data_permission_classify_no_auth_record_id desc LIMIT ?,? `
-		_, err = o.Raw(sql, parentClassifyId, dataSource, excelSource).QueryRows(&parentRecordItems)
+		err = o.Raw(sql, parentClassifyId, dataSource, excelSource).Scan(&parentRecordItems).Error
 
 		addNoAuthRecordItems := make([]*ExcelInfoClassifyPermissionNoAuthRecord, 0)
 		for _, v := range parentRecordItems {
@@ -422,7 +392,7 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 
 		// 添加待配置项
 		if len(addNoAuthRecordItems) > 0 {
-			_, err = o.InsertMulti(500, addNoAuthRecordItems)
+			err = o.CreateInBatches(addNoAuthRecordItems, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -435,7 +405,7 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 		// 获取父级分类已经授权的用户
 		parentClassifyPermissionList := make([]*ExcelClassifyPermission, 0)
 		sql = `SELECT * FROM excel_classify_permission WHERE source = ? AND excel_classify_id = ? `
-		_, err = o.Raw(sql, excelSource, parentClassifyId).QueryRows(&parentClassifyPermissionList)
+		err = o.Raw(sql, excelSource, parentClassifyId).Scan(&parentClassifyPermissionList).Error
 		if err != nil {
 			return
 		}
@@ -454,7 +424,7 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 		}
 		// 添加待配置项
 		if len(addList) > 0 {
-			_, err = o.InsertMulti(500, addList)
+			err = o.CreateInBatches(addList, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -467,13 +437,13 @@ func InheritParentClassifyByExcelClassifyId(dataSource, excelSource, classifyId,
 // ExcelInfoPermissionNoAuthRecord
 // @Description: ETA表格数据权限未授权记录表
 type ExcelInfoPermissionNoAuthRecord struct {
-	ExcelInfoPermissionNoAuthRecordId int64     `json:"excel_info_permission_no_auth_record_id"  orm:"column(excel_info_permission_no_auth_record_id);pk"` // 资产数据操作记录id
-	OpUniqueCode                      string    `json:"op_unique_code"`                                                                                    // 操作的唯一编码,主要是记录统一操作的日志
-	Source                            int32     `json:"source"`                                                                                            // 表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1
-	ExcelInfoId                       int32     `json:"excel_info_id"`                                                                                     // 指标id
-	ExcelName                         string    `json:"excel_name"`                                                                                        // 图表名称
-	SysUserId                         int32     `json:"sys_user_id"`                                                                                       // 系统用户id
-	CreateTime                        time.Time `json:"create_time"`                                                                                       // 创建时间
+	ExcelInfoPermissionNoAuthRecordId int64     `json:"excel_info_permission_no_auth_record_id"  orm:"column(excel_info_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产数据操作记录id
+	OpUniqueCode                      string    `json:"op_unique_code"`                                                                                                       // 操作的唯一编码,主要是记录统一操作的日志
+	Source                            int32     `json:"source"`                                                                                                               // 表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1
+	ExcelInfoId                       int32     `json:"excel_info_id"`                                                                                                        // 指标id
+	ExcelName                         string    `json:"excel_name"`                                                                                                           // 图表名称
+	SysUserId                         int32     `json:"sys_user_id"`                                                                                                          // 系统用户id
+	CreateTime                        time.Time `json:"create_time"`                                                                                                          // 创建时间
 }
 
 // AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList
@@ -502,10 +472,7 @@ func AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(source, excelSource
 	if userNum <= 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()
@@ -517,7 +484,7 @@ func AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(source, excelSource
 	// 根据指标获取已经存在的未授权记录
 	var existList []*ExcelInfoPermissionNoAuthRecord
 	sql := `SELECT * FROM excel_info_permission_no_auth_record WHERE  source = ? AND excel_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, excelSource, dataIdList).QueryRows(&existList)
+	err = o.Raw(sql, excelSource, dataIdList).Scan(&existList).Error
 	if err != nil {
 		return
 	}
@@ -585,7 +552,7 @@ func AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(source, excelSource
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = o.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -593,7 +560,7 @@ func AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(source, excelSource
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = o.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -603,7 +570,7 @@ func AddExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(source, excelSource
 	authUserIdNum := len(authUserIdList)
 	if authUserIdNum > 0 {
 		sql = `DELETE FROM excel_info_permission_no_auth_record WHERE  source = ? AND sys_user_id in (` + utils.GetOrmInReplace(authUserIdNum) + `) AND excel_info_id in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, excelSource, authUserIdList, dataIdList).Exec()
+		err = o.Exec(sql, excelSource, authUserIdList, dataIdList).Error
 	}
 
 	return
@@ -621,38 +588,35 @@ func DeleteExcelInfoPermissionNoAuthRecordBySourceAndDataIdList(excelSource int,
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 
 	sql := `DELETE FROM excel_info_permission_no_auth_record WHERE source = ? AND excel_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, excelSource, dataIdList).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, excelSource, dataIdList).Error
 
 	return
 }
 
 func GetExcelInfoDataPermissionNoAuthRecordListByUserId(userId, excelSource int32, startSize, pageSize int) (total int, items []*DataPermissionNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM excel_info_permission_no_auth_record WHERE sys_user_id = ? AND source = ? `
-	err = o.Raw(sql, userId, excelSource).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, excelSource).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT excel_info_permission_no_auth_record_id as data_permission_no_auth_record_id,op_unique_code,source as sub_source,excel_info_id as data_id,excel_name as data_name,sys_user_id,create_time FROM excel_info_permission_no_auth_record WHERE sys_user_id = ? AND source = ? ORDER BY excel_info_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, excelSource, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, excelSource, startSize, pageSize).Scan(&items).Error
 
 	return
 }
 
 type ExcelInfoClassifyPermissionNoAuthRecord struct {
-	ExcelInfoClassifyPermissionNoAuthRecordId int64     `json:"excel_info_classify_permission_no_auth_record_id" orm:"column(excel_info_classify_permission_no_auth_record_id);pk"` // 资产分类数据操作记录id
-	Source                                    int32     `json:"source"`                                                                                                             // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode                              string    `json:"op_unique_code"`                                                                                                     // 操作的唯一编码,主要是记录统一操作的日志
-	ClassifyId                                string    `json:"classify_id"`                                                                                                        // ETA表格资产分类id
-	ClassifyName                              string    `json:"classify_name"`                                                                                                      // ETA表格资产分类名称
-	SysUserId                                 int32     `json:"sys_user_id"`                                                                                                        // 系统用户id
-	CreateTime                                time.Time `json:"create_time"`                                                                                                        // 创建时间
+	ExcelInfoClassifyPermissionNoAuthRecordId int64     `json:"excel_info_classify_permission_no_auth_record_id" orm:"column(excel_info_classify_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产分类数据操作记录id
+	Source                                    int32     `json:"source"`                                                                                                                                // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode                              string    `json:"op_unique_code"`                                                                                                                        // 操作的唯一编码,主要是记录统一操作的日志
+	ClassifyId                                string    `json:"classify_id"`                                                                                                                           // ETA表格资产分类id
+	ClassifyName                              string    `json:"classify_name"`                                                                                                                         // ETA表格资产分类名称
+	SysUserId                                 int32     `json:"sys_user_id"`                                                                                                                           // 系统用户id
+	CreateTime                                time.Time `json:"create_time"`                                                                                                                           // 创建时间
 }
 
 // AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList
@@ -682,10 +646,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, excelSour
 	if userNum <= 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()
@@ -697,7 +658,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, excelSour
 	// 根据分类获取已经存在的未授权记录
 	var existList []*ExcelInfoClassifyPermissionNoAuthRecord
 	sql := `SELECT * FROM excel_info_classify_permission_no_auth_record WHERE source = ? AND classify_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, excelSource, classifyIdList).QueryRows(&existList)
+	err = o.Raw(sql, excelSource, classifyIdList).Scan(&existList).Error
 	if err != nil {
 		return
 	}
@@ -765,7 +726,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, excelSour
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = o.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -773,7 +734,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, excelSour
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = o.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -783,7 +744,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(source, excelSour
 	authUserIdNum := len(classifyIdList)
 	if authUserIdNum > 0 {
 		sql = `DELETE FROM excel_info_classify_permission_no_auth_record WHERE source = ? AND classify_id not in (` + utils.GetOrmInReplace(num) + `)`
-		_, err = o.Raw(sql, excelSource, classifyIdList).Exec()
+		err = o.Exec(sql, excelSource, classifyIdList).Error
 	}
 
 	return
@@ -809,15 +770,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 	}
 
 	//// 总共的涉密分类
-	//noAuthClassifyInfoNum := len(noAuthClassifyMap)
-	//if noAuthClassifyInfoNum <= 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()
@@ -829,7 +782,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 	// 根据当前配置用户获取已经存在的未授权记录
 	var existList []*ExcelInfoClassifyPermissionNoAuthRecord
 	sql := `SELECT * FROM excel_info_classify_permission_no_auth_record WHERE source = ? AND sys_user_id in (` + utils.GetOrmInReplace(configUserNum) + `)`
-	_, err = o.Raw(sql, excelSource, configUserIdList).QueryRows(&existList)
+	err = o.Raw(sql, excelSource, configUserIdList).Scan(&existList).Error
 	if err != nil {
 		return
 	}
@@ -901,7 +854,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 
 	// 添加消息
 	if len(addMessageList) > 0 {
-		_, err = o.InsertMulti(500, addMessageList)
+		err = o.CreateInBatches(addMessageList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -909,7 +862,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 
 	// 添加记录
 	if len(addRecordList) > 0 {
-		_, err = o.InsertMulti(500, addRecordList)
+		err = o.CreateInBatches(addRecordList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -923,7 +876,7 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 			delRecordIdList = append(delRecordIdList, v)
 		}
 		sql = `DELETE FROM excel_info_classify_permission_no_auth_record WHERE excel_info_classify_permission_no_auth_record_id in (` + utils.GetOrmInReplace(delRecordIdNum) + `) `
-		_, err = o.Raw(sql, delRecordIdList).Exec()
+		err = o.Exec(sql, delRecordIdList).Error
 	}
 
 	return
@@ -937,10 +890,8 @@ func AddExcelInfoClassifyNoAuthRecordBySourceAndUserIdList(source, excelSource i
 // @param excelSource int
 // @return err error
 func DeleteExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(excelSource int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	sql := `DELETE FROM excel_info_classify_permission_no_auth_record WHERE source = ?`
-	_, err = o.Raw(sql, excelSource).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, excelSource).Error
 
 	return
 }
@@ -958,17 +909,15 @@ func DeleteExcelInfoClassifyNoAuthRecordBySourceAndClassifyIdList(excelSource in
 // @return items []*DataPermissionClassifyNoAuthRecord
 // @return err error
 func GetExcelInfoDataPermissionClassifyNoAuthRecordListByUserId(userId, excelSource int32, startSize, pageSize int) (total int, items []*DataPermissionClassifyNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
-
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM excel_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND source = ? `
-	err = o.Raw(sql, userId, excelSource).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, excelSource).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT excel_info_classify_permission_no_auth_record_id as data_permission_classify_no_auth_record_id,source as sub_source,op_unique_code,classify_id,classify_name,sys_user_id,create_time  FROM excel_info_classify_permission_no_auth_record WHERE sys_user_id = ? AND source = ? ORDER BY excel_info_classify_permission_no_auth_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, userId, excelSource, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, excelSource, startSize, pageSize).Scan(&items).Error
 
 	return
 }
@@ -983,7 +932,6 @@ type ExcelInfoPermissionAdminAuth struct {
 
 // GetAdminAuthExcelInfoPermission 获取用户有权限的表格
 func GetAdminAuthExcelInfoPermission(source, adminId int, keywords string) (items []*ExcelInfoPermissionAdminAuth, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.*, b.sys_user_id AS create_user_id, b.excel_name, b.unique_code FROM excel_info_permission AS a
 		JOIN excel_info AS b ON a.excel_info_id = b.excel_info_id
 		WHERE a.source = ? AND (b.sys_user_id = ? OR a.sys_user_id = ?)`
@@ -994,7 +942,8 @@ func GetAdminAuthExcelInfoPermission(source, adminId int, keywords string) (item
 		pars = append(pars, keywords)
 	}
 	sql += ` ORDER BY a.create_time ASC`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&items).Error
+
 	return
 }
 
@@ -1002,11 +951,7 @@ func ClearAndSetExcelInfoPermission(source, excelInfoId int, permissions []*Exce
 	if excelInfoId <= 0 {
 		return
 	}
-	tx, e := orm.NewOrmUsingDB("data").Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %v", e)
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -1016,15 +961,15 @@ func ClearAndSetExcelInfoPermission(source, excelInfoId int, permissions []*Exce
 	}()
 
 	sql := `DELETE FROM excel_info_permission WHERE excel_info_id = ? AND source = ?`
-	_, e = tx.Raw(sql, excelInfoId, source).Exec()
-	if e != nil {
-		err = fmt.Errorf("clear permission err: %v", e)
+	err = tx.Exec(sql, excelInfoId, source).Error
+	if err != nil {
+		err = fmt.Errorf("clear permission err: %v", err)
 		return
 	}
 	if len(permissions) > 0 {
-		_, e = tx.InsertMulti(500, permissions)
-		if e != nil {
-			err = fmt.Errorf("insert permissions err: %v", e)
+		err = tx.CreateInBatches(permissions, utils.MultiAddNum).Error
+		if err != nil {
+			err = fmt.Errorf("insert permissions err: %v", err)
 			return
 		}
 	}
@@ -1032,23 +977,21 @@ func ClearAndSetExcelInfoPermission(source, excelInfoId int, permissions []*Exce
 }
 
 func GetExcelPermissionBySourceAndId(excelId, source int) (items []*ExcelInfoPermission, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_info_permission WHERE source = ? AND excel_info_id = ?`
-	_, err = o.Raw(sql, source, excelId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, excelId).Scan(&items).Error
+
 	return
 }
 
 func GetExcelPermissionByExcelIdAndUserId(excelId, userId int) (items []*ExcelInfoPermission, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_info_permission WHERE excel_info_id = ? AND sys_user_id = ?`
-	_, err = o.Raw(sql, excelId, userId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelId, userId).Scan(&items).Error
 	return
 }
 
 // GetExcelInfoDataNoPermissionByUserId 获取用户所有无权限表格
 func GetExcelInfoDataNoPermissionByUserId(userId, source int) (items []*DataPermissionNoAuthRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_info_permission_no_auth_record_id as data_permission_no_auth_record_id,op_unique_code,source as sub_source,excel_info_id as data_id,excel_name as data_name,sys_user_id,create_time FROM excel_info_permission_no_auth_record WHERE sys_user_id = ? AND source = ? ORDER BY excel_info_permission_no_auth_record_id desc`
-	_, err = o.Raw(sql, userId, source).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userId, source).Scan(&items).Error
 	return
 }

+ 20 - 22
models/data_manage/data_manage_permission/message.go

@@ -1,9 +1,9 @@
 package data_manage_permission
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -11,7 +11,7 @@ import (
 // DataPermissionMessage
 // @Description: 数据权限变更消息表
 type DataPermissionMessage struct {
-	DataPermissionMessageId int64     `json:"data_permission_message_id" orm:"column(data_permission_message_id);pk"`
+	DataPermissionMessageId int64     `json:"data_permission_message_id" orm:"column(data_permission_message_id);pk" gorm:"primaryKey" `
 	SendUserId              int32     `json:"send_user_id"`    // 发送人ID
 	ReceiveUserId           int32     `json:"receive_user_id"` // 接收者ID
 	Content                 string    `json:"content"`         // 消息内容
@@ -62,12 +62,8 @@ func (m *DataPermissionMessage) PrimaryId() string {
 }
 
 func (m *DataPermissionMessage) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.DataPermissionMessageId = id
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
+
 	return
 }
 
@@ -75,21 +71,21 @@ func (m *DataPermissionMessage) CreateMulti(items []*DataPermissionMessage) (err
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(500, items)
+	err = global.DbMap[utils.DbNameIndex].CreateInBatches(items, utils.MultiAddNum).Error
+
 	return
 }
 
 func (m *DataPermissionMessage) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *DataPermissionMessage) Del() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	_, err = o.Raw(sql, m.DataPermissionMessageId).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.DataPermissionMessageId).Error
+
 	return
 }
 
@@ -97,28 +93,27 @@ func (m *DataPermissionMessage) MultiDel(menuIds []int) (err error) {
 	if len(menuIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.PrimaryId(), utils.GetOrmInReplace(len(menuIds)))
-	_, err = o.Raw(sql, menuIds).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, menuIds).Error
+
 	return
 }
 
 func (m *DataPermissionMessage) GetItemById(id int) (item *DataPermissionMessage, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
+
 	return
 }
 
 func (m *DataPermissionMessage) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
+
 	return
 }
 
 func (m *DataPermissionMessage) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*DataPermissionMessage, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -128,7 +123,10 @@ func (m *DataPermissionMessage) GetPageItemsByCondition(condition string, pars [
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	pars = append(pars, startSize)
+	pars = append(pars, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&items).Error
+
 	return
 }
 

+ 9 - 15
models/data_manage/data_manage_permission/move.go

@@ -1,8 +1,8 @@
 package data_manage_permission
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // ModifyDataUserIdByOldUserId
@@ -24,10 +24,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 
 	// 手工指标库
 	if isMoveManual {
-		edbTo, tmpErr := orm.NewOrmUsingDB("edb").Begin()
-		if tmpErr != nil {
-			return
-		}
+		edbTo := global.DbMap[utils.DbNameManualIndex].Begin()
 		defer func() {
 			if err != nil {
 				_ = edbTo.Rollback()
@@ -36,17 +33,14 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 			}
 		}()
 		sql := `UPDATE edbinfo SET user_id=? WHERE user_id in (` + utils.GetOrmInReplace(num) + `) `
-		_, err = edbTo.Raw(sql, userId, oldUserIdList).Exec()
+		err = edbTo.Exec(sql, userId, oldUserIdList).Error
 		if err != nil {
 			return
 		}
 	}
 
 	// ETA指标库
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	o := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = o.Rollback()
@@ -58,7 +52,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 	// 钢联化工数据库
 	if isMoveMysteelChemical {
 		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
 		if err != nil {
 			return
 		}
@@ -67,7 +61,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 	// ETA指标库
 	if isMoveEdb {
 		sql := `UPDATE edb_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) and edb_info_type = ?`
-		_, err = o.Raw(sql, userId, userName, oldUserIdList, 0).Exec()
+		err = o.Exec(sql, userId, userName, oldUserIdList, 0).Error
 		if err != nil {
 			return
 		}
@@ -75,7 +69,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 	// 预测指标
 	if isMovePredictEdb {
 		sql := `UPDATE edb_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) and edb_info_type = ?`
-		_, err = o.Raw(sql, userId, userName, oldUserIdList, 1).Exec()
+		err = o.Exec(sql, userId, userName, oldUserIdList, 1).Error
 		if err != nil {
 			return
 		}
@@ -84,7 +78,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 	// ETA表格
 	if isMoveChart {
 		sql := `UPDATE chart_info 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
 		if err != nil {
 			return
 		}
@@ -93,7 +87,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 	// ETA表格
 	if isMoveExcel {
 		sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE is_delete=0 AND sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
-		_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+		err = o.Exec(sql, userId, userName, oldUserIdList).Error
 		if err != nil {
 			return
 		}

+ 20 - 22
models/data_manage/data_manage_permission/move_record.go

@@ -1,25 +1,26 @@
 package data_manage_permission
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // DataPermissionMoveRecord
 // @Description: 数据资产转移记录表
 type DataPermissionMoveRecord struct {
-	DataPermissionMoveRecordId int64     `json:"data_permission_move_record_id" orm:"column(data_permission_move_record_id);pk"` // 数据操作记录id
-	Source                     int32     `json:"source"`                                                                         // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
-	SubSource                  int32     `json:"sub_source"`                                                                     // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode               string    `json:"op_unique_code"`                                                                 // 操作的唯一编码,主要是记录统一操作的日志
-	DataId                     string    `json:"data_id"`                                                                        // 资产id(指标、图表、表格)
-	DataCode                   string    `json:"data_code"`                                                                      // 资产code(指标、图表、表格)
-	DataName                   string    `json:"data_name"`                                                                      // 资产名称(指标、图表、表格)
-	OriginalUserId             int32     `json:"original_user_id"`                                                               // 原创建人id
-	OriginalUserName           string    `json:"original_user_name"`                                                             // 原创建人名称
-	NewUserId                  int32     `json:"new_user_id"`                                                                    // 新创建人id
-	NewUserName                string    `json:"new_user_name"`                                                                  // 新创建人名称
-	CreateTime                 time.Time `json:"create_time"`                                                                    // 创建时间
+	DataPermissionMoveRecordId int64     `json:"data_permission_move_record_id" orm:"column(data_permission_move_record_id);pk" gorm:"primaryKey" ` // 数据操作记录id
+	Source                     int32     `json:"source"`                                                                                            // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	SubSource                  int32     `json:"sub_source"`                                                                                        // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode               string    `json:"op_unique_code"`                                                                                    // 操作的唯一编码,主要是记录统一操作的日志
+	DataId                     string    `json:"data_id"`                                                                                           // 资产id(指标、图表、表格)
+	DataCode                   string    `json:"data_code"`                                                                                         // 资产code(指标、图表、表格)
+	DataName                   string    `json:"data_name"`                                                                                         // 资产名称(指标、图表、表格)
+	OriginalUserId             int32     `json:"original_user_id"`                                                                                  // 原创建人id
+	OriginalUserName           string    `json:"original_user_name"`                                                                                // 原创建人名称
+	NewUserId                  int32     `json:"new_user_id"`                                                                                       // 新创建人id
+	NewUserName                string    `json:"new_user_name"`                                                                                     // 新创建人名称
+	CreateTime                 time.Time `json:"create_time"`                                                                                       // 创建时间
 }
 
 // AddDataPermissionMoveRecord
@@ -32,10 +33,7 @@ func AddDataPermissionMoveRecord(dataPermissionMoveRecordList []*DataPermissionM
 	if num <= 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()
@@ -45,13 +43,13 @@ func AddDataPermissionMoveRecord(dataPermissionMoveRecordList []*DataPermissionM
 	}()
 
 	// 添加操作记录
-	_, err = o.InsertMulti(500, dataPermissionMoveRecordList)
+	err = o.CreateInBatches(dataPermissionMoveRecordList, utils.MultiAddNum).Error
 	if err != nil {
 		return
 	}
 
 	// 添加消息通知
-	_, err = o.Insert(dataPermissionMessage)
+	err = o.Create(dataPermissionMessage).Error
 
 	return
 }
@@ -69,17 +67,17 @@ func AddDataPermissionMoveRecord(dataPermissionMoveRecordList []*DataPermissionM
 // @return items []*DataPermissionMoveRecord
 // @return err error
 func GetDataPermissionMoveRecordListByOpUniqueCode(opUniqueCode string, source, subSource, startSize, pageSize int) (total int, items []*DataPermissionMoveRecord, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := global.DbMap[utils.DbNameIndex]
 
 	// 获取总数
 	sql := `SELECT count(1) AS total FROM data_permission_move_record WHERE op_unique_code = ? AND source = ? AND sub_source = ? `
-	err = o.Raw(sql, opUniqueCode, source, subSource).QueryRow(&total)
+	err = o.Raw(sql, opUniqueCode, source, subSource).Scan(&total).Error
 	if err != nil {
 		return
 	}
 
 	sql = `SELECT * FROM data_permission_move_record WHERE op_unique_code = ? AND source = ? AND sub_source = ? ORDER BY data_permission_move_record_id desc LIMIT ?,? `
-	_, err = o.Raw(sql, opUniqueCode, source, subSource, startSize, pageSize).QueryRows(&items)
+	err = o.Raw(sql, opUniqueCode, source, subSource, startSize, pageSize).Scan(&items).Error
 
 	return
 }

+ 9 - 9
models/data_manage/data_manage_permission/no_auth_record.go

@@ -9,15 +9,15 @@ import (
 // DataPermissionNoAuthRecord
 // @Description: 资产数据权限设置记录表
 type DataPermissionNoAuthRecord struct {
-	DataPermissionNoAuthRecordId int64     `json:"data_permission_no_auth_record_id" orm:"column(data_permission_no_auth_record_id);pk"` // 资产数据操作记录id
-	Source                       int32     `json:"source"`                                                                               // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
-	SubSource                    int32     `json:"sub_source"`                                                                           // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
-	OpUniqueCode                 string    `json:"op_unique_code"`                                                                       // 操作的唯一编码,主要是记录统一操作的日志
-	DataId                       string    `json:"data_id"`                                                                              // 资产id(指标、图表、表格)
-	DataCode                     string    `json:"data_code"`                                                                            // 资产code(指标、图表、表格)
-	DataName                     string    `json:"data_name"`                                                                            // 资产名称(指标、图表、表格)
-	SysUserId                    int32     `json:"sys_user_id"`                                                                          // 系统用户id
-	CreateTime                   time.Time `json:"create_time"`                                                                          // 创建时间
+	DataPermissionNoAuthRecordId int64     `json:"data_permission_no_auth_record_id" orm:"column(data_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产数据操作记录id
+	Source                       int32     `json:"source"`                                                                                                  // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	SubSource                    int32     `json:"sub_source"`                                                                                              // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
+	OpUniqueCode                 string    `json:"op_unique_code"`                                                                                          // 操作的唯一编码,主要是记录统一操作的日志
+	DataId                       string    `json:"data_id"`                                                                                                 // 资产id(指标、图表、表格)
+	DataCode                     string    `json:"data_code"`                                                                                               // 资产code(指标、图表、表格)
+	DataName                     string    `json:"data_name"`                                                                                               // 资产名称(指标、图表、表格)
+	SysUserId                    int32     `json:"sys_user_id"`                                                                                             // 系统用户id
+	CreateTime                   time.Time `json:"create_time"`                                                                                             // 创建时间
 }
 
 type DataItem struct {

+ 1 - 1
models/data_manage/data_manage_permission/req_and_resp.go

@@ -56,7 +56,7 @@ type SetEdbChartClassifyPermissionReq struct {
 // DataPermissionMessageItem
 // @Description: 数据权限变更消息结构体
 type DataPermissionMessageItem struct {
-	DataPermissionMessageId int64  `orm:"column(data_permission_message_id);pk"`
+	DataPermissionMessageId int64  `orm:"column(data_permission_message_id);pk" gorm:"primaryKey" `
 	SendUserId              int32  // 发送人ID
 	ReceiveUserId           int32  // 接收者ID
 	Content                 string // 消息内容

+ 24 - 38
models/data_manage/edb_refresh/edb_refresh_config.go

@@ -2,15 +2,15 @@ package edb_refresh
 
 import (
 	"errors"
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // EdbRefreshConfig
 // @Description: 指标的刷新时间配置表
 type EdbRefreshConfig struct {
-	EdbRefreshConfigId  int       `orm:"column(edb_refresh_config_id);pk"`
+	EdbRefreshConfigId  int       `orm:"column(edb_refresh_config_id);pk" gorm:"primaryKey" `
 	RefreshFrequency    string    `description:"刷新频率"`
 	RefreshFrequencyDay int       `description:"具体刷新的日期"`
 	RefreshTime         string    `description:"刷新时间"`
@@ -32,13 +32,7 @@ func (m *EdbRefreshConfig) Add() (err error) {
 		err = errors.New("该配置已存在")
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.EdbRefreshConfigId = int(lastId)
-
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
 	return
 }
 
@@ -50,8 +44,7 @@ func (m *EdbRefreshConfig) Add() (err error) {
 // @param cols []string
 // @return err error
 func (m *EdbRefreshConfig) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
 	return
 }
 
@@ -62,8 +55,8 @@ func (m *EdbRefreshConfig) Update(cols []string) (err error) {
 // @datetime 2023-12-14 16:11:10
 // @return err error
 func (m *EdbRefreshConfig) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(m)
+	sql := ` DELETE FROM edb_refresh_config WHERE edb_refresh_config_id=?`
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.EdbRefreshConfigId).Error
 	return
 }
 
@@ -79,11 +72,10 @@ func (m *EdbRefreshConfig) Delete() (err error) {
 // @return item *EdbRefreshConfig
 // @return err error
 func GetEdbRefreshConfigListByCondition(refreshFrequency, refreshTime string, refreshFrequencyDay, refreshAllData, refreshDataNum int) (item *EdbRefreshConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM edb_refresh_config
-         WHERE refresh_frequency = ? AND refresh_frequency_day = ? AND refresh_time = ? AND refresh_all_data = ? AND refresh_data_num = ? ORDER BY edb_refresh_config_id ASC `
-	err = o.Raw(sql, refreshFrequency, refreshFrequencyDay, refreshTime, refreshAllData, refreshDataNum).QueryRow(&item)
+	     WHERE refresh_frequency = ? AND refresh_frequency_day = ? AND refresh_time = ? AND refresh_all_data = ? AND refresh_data_num = ? ORDER BY edb_refresh_config_id ASC `
 
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, refreshFrequency, refreshFrequencyDay, refreshTime, refreshAllData, refreshDataNum).First(&item).Error
 	return
 }
 
@@ -104,27 +96,23 @@ func SaveEdbRefreshConfig(source, subSource, sysUserId int, sysUserRealName stri
 	if num <= 0 {
 		return
 	}
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
-			return
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
 		}
-		_ = o.Commit()
 	}()
 
 	for _, v := range newConfigList {
-		lastId, tmpErr := o.Insert(v)
+		tmpErr := to.Create(v).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
 
-		v.EdbRefreshConfigId = int(lastId)
-
 		for _, edbId := range edbIdList {
 			addMapping = append(addMapping, &EdbRefreshMapping{
 				EdbRefreshMappingId: 0,
@@ -142,7 +130,7 @@ func SaveEdbRefreshConfig(source, subSource, sysUserId int, sysUserRealName stri
 
 	// 先删除
 	sql := `DELETE FROM edb_refresh_mapping WHERE source =? AND sub_source =? AND edb_info_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, source, subSource, edbIdList).Exec()
+	err = to.Exec(sql, source, subSource, edbIdList).Error
 
 	// 再写入
 	if len(addMapping) > 0 {
@@ -152,17 +140,18 @@ func SaveEdbRefreshConfig(source, subSource, sysUserId int, sysUserRealName stri
 			tmpAddDataList = append(tmpAddDataList, v)
 			i++
 			if i >= 500 {
-				_, err = o.InsertMulti(len(tmpAddDataList), tmpAddDataList)
+				err = to.CreateInBatches(tmpAddDataList, utils.MultiAddNum).Error
 				if err != nil {
 					return
 				}
+
 				i = 0
 				tmpAddDataList = make([]*EdbRefreshMapping, 0)
 			}
 		}
 
 		if len(tmpAddDataList) > 0 {
-			_, err = o.InsertMulti(len(tmpAddDataList), tmpAddDataList)
+			err = to.CreateInBatches(tmpAddDataList, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -193,11 +182,10 @@ type EdbRefreshConfigItem struct {
 // @return list []*EdbRefreshDefaultConfig
 // @return err error
 func GetEdbRefreshConfigListBySourceAndeEdbInfoId(source, subSource, edbInfoId int) (list []*EdbRefreshConfigItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.* FROM edb_refresh_config a 
-         JOIN  edb_refresh_mapping b ON a.edb_refresh_config_id = b.edb_refresh_config_id
-         WHERE b.source = ? AND b.sub_source = ? AND b.edb_info_id = ? ORDER BY a.edb_refresh_config_id ASC `
-	_, err = o.Raw(sql, source, subSource, edbInfoId).QueryRows(&list)
+	    JOIN  edb_refresh_mapping b ON a.edb_refresh_config_id = b.edb_refresh_config_id
+	    WHERE b.source = ? AND b.sub_source = ? AND b.edb_info_id = ? ORDER BY a.edb_refresh_config_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, subSource, edbInfoId).Find(&list).Error
 
 	return
 }
@@ -229,11 +217,9 @@ func GetEdbRefreshConfigAndEdbListBySourceAndeEdbInfoId(source, subSource int, e
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.*,b.source,b.sub_source,b.edb_info_id FROM edb_refresh_config a 
-         JOIN  edb_refresh_mapping b ON a.edb_refresh_config_id = b.edb_refresh_config_id
-         WHERE b.source = ? AND b.sub_source = ? AND b.edb_info_id in (` + utils.GetOrmInReplace(num) + `)  ORDER BY a.edb_refresh_config_id ASC `
-	_, err = o.Raw(sql, source, subSource, edbInfoIdList).QueryRows(&list)
-
+	    JOIN  edb_refresh_mapping b ON a.edb_refresh_config_id = b.edb_refresh_config_id
+	    WHERE b.source = ? AND b.sub_source = ? AND b.edb_info_id in (` + utils.GetOrmInReplace(num) + `)  ORDER BY a.edb_refresh_config_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, subSource, edbInfoIdList).Find(&list).Error
 	return
 }

+ 21 - 33
models/data_manage/edb_refresh/edb_refresh_default_config.go

@@ -2,14 +2,15 @@ package edb_refresh
 
 import (
 	"errors"
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // EdbRefreshDefaultConfig
 // @Description: 指标的默认刷新时间配置表
 type EdbRefreshDefaultConfig struct {
-	Id                  int       `orm:"column(id);pk"`
+	Id                  int       `orm:"column(id);pk" gorm:"primaryKey" `
 	Source              int       `description:"来源"`
 	SubSource           int       `description:"来源名称"`
 	Frequency           string    `description:"频度"`
@@ -34,13 +35,7 @@ func (m *EdbRefreshDefaultConfig) Add() (err error) {
 		err = errors.New("该配置已存在")
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.Id = int(lastId)
-
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
 	return
 }
 
@@ -52,8 +47,7 @@ func (m *EdbRefreshDefaultConfig) Add() (err error) {
 // @param cols []string
 // @return err error
 func (m *EdbRefreshDefaultConfig) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
 	return
 }
 
@@ -64,8 +58,8 @@ func (m *EdbRefreshDefaultConfig) Update(cols []string) (err error) {
 // @datetime 2023-12-14 16:11:10
 // @return err error
 func (m *EdbRefreshDefaultConfig) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(m)
+	sql := ` DELETE FROM edb_refresh_default_config WHERE id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.Id).Error
 	return
 }
 
@@ -79,11 +73,9 @@ func (m *EdbRefreshDefaultConfig) Delete() (err error) {
 // @return list []*EdbRefreshDefaultConfig
 // @return err error
 func GetListBySourceAndFrequency(source, subSource int, frequency string) (list []*EdbRefreshDefaultConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM edb_refresh_default_config
-         WHERE source = ? AND sub_source = ? AND frequency = ? ORDER BY id ASC `
-	_, err = o.Raw(sql, source, subSource, frequency).QueryRows(&list)
-
+	    WHERE source = ? AND sub_source = ? AND frequency = ? ORDER BY id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, subSource, frequency).Find(&list).Error
 	return
 }
 
@@ -96,11 +88,9 @@ func GetListBySourceAndFrequency(source, subSource int, frequency string) (list
 // @return list []*EdbRefreshDefaultConfig
 // @return err error
 func GetAllListBySourceList(source, subSource int) (list []*EdbRefreshDefaultConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM edb_refresh_default_config
-         WHERE source = ? AND sub_source = ? ORDER BY id ASC `
-	_, err = o.Raw(sql, source, subSource).QueryRows(&list)
-
+	    WHERE source = ? AND sub_source = ? ORDER BY id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, subSource).Find(&list).Error
 	return
 }
 
@@ -114,25 +104,23 @@ func GetAllListBySourceList(source, subSource int) (list []*EdbRefreshDefaultCon
 // @param newList []*EdbRefreshDefaultConfig
 // @return err error
 func SaveEdbRefreshDefaultConfig(source, subSource int, frequency string, newList []*EdbRefreshDefaultConfig) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
-			return
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
 		}
-		_ = o.Commit()
 	}()
 
-	// 先删除
 	sql := `DELETE FROM edb_refresh_default_config WHERE source =? AND sub_source =? AND frequency =?`
-	_, err = o.Raw(sql, source, subSource, frequency).Exec()
-
+	err = to.Exec(sql, source, subSource, frequency).Error
+	if err != nil {
+		return err
+	}
 	// 再写入
-	_, err = o.InsertMulti(len(newList), newList)
-
+	err = to.CreateInBatches(newList, utils.MultiAddNum).Error
 	return
 
 }

+ 7 - 13
models/data_manage/edb_refresh/edb_refresh_mapping.go

@@ -2,14 +2,15 @@ package edb_refresh
 
 import (
 	"errors"
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // EdbRefreshMapping
 // @Description: 指标刷新时间配置关系表
 type EdbRefreshMapping struct {
-	EdbRefreshMappingId int       `orm:"column(edb_refresh_mapping_id);pk"`
+	EdbRefreshMappingId int       `orm:"column(edb_refresh_mapping_id);pk" gorm:"primaryKey" `
 	Source              int       `description:"来源"`
 	SubSource           int       `description:"来源名称"`
 	EdbInfoId           int       `description:"指标id,如果是数据源(钢联、有色)的,那么就是数据源里面的id"`
@@ -32,13 +33,7 @@ func (m *EdbRefreshMapping) Add() (err error) {
 		err = errors.New("该配置已存在")
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.EdbRefreshMappingId = int(lastId)
-
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
 	return
 }
 
@@ -50,8 +45,7 @@ func (m *EdbRefreshMapping) Add() (err error) {
 // @param cols []string
 // @return err error
 func (m *EdbRefreshMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
 	return
 }
 
@@ -62,7 +56,7 @@ func (m *EdbRefreshMapping) Update(cols []string) (err error) {
 // @datetime 2023-12-14 16:11:10
 // @return err error
 func (m *EdbRefreshMapping) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(m)
+	sql := ` DELETE FROM edb_refresh_mapping WHERE edb_refresh_mapping_id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.EdbRefreshConfigId).Error
 	return
 }

+ 13 - 13
models/data_manage/edb_refresh/edb_refresh_source.go

@@ -1,14 +1,15 @@
 package edb_refresh
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // EdbRefreshSource
 // @Description: 刷新的数据源表
 type EdbRefreshSource struct {
-	Id              int       `orm:"column(id);pk"`
+	Id              int       `orm:"column(id);pk" gorm:"primaryKey" `
 	Source          int       `orm:"column(source)" description:"来源"`
 	SourceName      string    `description:"来源名称"`
 	SubSource       int       `description:"子数据来源:0:经济数据库,1:日期序列"`
@@ -23,14 +24,14 @@ type EdbRefreshSource struct {
 // EdbRefreshSourceList
 // @Description: 获取刷新的数据源列表
 type EdbRefreshSourceList struct {
-	Source        int                    `orm:"column(source)" description:"来源"`
-	SourceName    string                 `description:"来源名称"`
-	SubSource     int                    `description:"子数据来源:0:经济数据库,1:日期序列"`
-	SubSourceName string                 `description:"子来源名称"`
-	Child         []EdbRefreshSourceList `description:"子来源"`
-	HasChild      int                    `description:"是否有子来源,0:否,1:是"`
-	SourceNameEn    string    `description:"英文来源名称"`
-	SubSourceNameEn string    `description:"英文子来源名称"`
+	Source          int                    `orm:"column(source)" description:"来源"`
+	SourceName      string                 `description:"来源名称"`
+	SubSource       int                    `description:"子数据来源:0:经济数据库,1:日期序列"`
+	SubSourceName   string                 `description:"子来源名称"`
+	Child           []EdbRefreshSourceList `description:"子来源"`
+	HasChild        int                    `description:"是否有子来源,0:否,1:是"`
+	SourceNameEn    string                 `description:"英文来源名称"`
+	SubSourceNameEn string                 `description:"英文子来源名称"`
 }
 
 // GetAllList
@@ -40,9 +41,8 @@ type EdbRefreshSourceList struct {
 // @return items []*EdbRefreshSource
 // @return err error
 func (m EdbRefreshSource) GetAllList() (items []*EdbRefreshSource, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *  FROM edb_refresh_source ORDER BY id ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }
 
@@ -51,5 +51,5 @@ type BaseClassifyItems struct {
 	ClassifyName string               `description:"分类名称"`
 	ParentId     int                  `description:"父级id"`
 	UniqueCode   string               `description:"唯一编码"`
-	Children     []*BaseClassifyItems `description:"下级"`
+	Children     []*BaseClassifyItems `gorm:"-" description:"下级"`
 }

+ 20 - 26
models/data_manage/excel/excel_chart_data.go

@@ -1,14 +1,15 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 type ExcelChartData struct {
-	ExcelChartDataId int `orm:"column(excel_chart_data_id);pk"`
+	ExcelChartDataId int `orm:"column(excel_chart_data_id);pk" gorm:"primaryKey" `
 	ExcelInfoId      int `description:"表格id"`
 	ExcelChartEdbId  int `description:"指标ID"`
 	ChartInfoId      int `description:"图表id"`
@@ -25,51 +26,45 @@ func (e *ExcelChartData) TableName() string {
 
 // 新增
 func (e *ExcelChartData) Add() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(e)
+	err = global.DbMap[utils.DbNameIndex].Create(e).Error
 	return
 }
 
 // 修改
 func (e *ExcelChartData) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(e, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(e).Error
 	return
 }
 
 // 删除
 func (e *ExcelChartData) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(e)
+	sql := ` DELETE FROM excel_chart_data WHERE excel_chart_data_id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, e.ExcelChartDataId).Error
 	return
 }
 
 // 查询
 func GetExcelChartDataByExcelInfoId(excelInfoId int) (list []*ExcelChartData, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-             FROM excel_chart_data
+	        FROM excel_chart_data
 			 WHERE excel_info_id=? 
-             ORDER BY excel_chart_edb_id ASC, data_time desc, excel_chart_data_id ASC `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&list)
+	        ORDER BY excel_chart_edb_id ASC, data_time desc, excel_chart_data_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&list).Error
 	return
 }
 
 func BatchUpdateChartEdbData(excelInfoId int, excelEdbMap map[int]*ExcelChartEdb, excelDataMap map[int][]*data_manage.EdbDataList) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
-	//如果有数据则删除所有的数据
 	sql := `delete from excel_chart_data where excel_info_id = ?`
-	_, err = o.Raw(sql, excelInfoId).Exec()
+	err = to.Exec(sql, excelInfoId).Error
 	if err != nil {
 		return
 	}
@@ -96,7 +91,7 @@ func BatchUpdateChartEdbData(excelInfoId int, excelEdbMap map[int]*ExcelChartEdb
 			addList = append(addList, chartData)
 			// data信息入库
 			if len(addList) > 1000 {
-				_, err = o.InsertMulti(len(addList), addList)
+				err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 				if err != nil {
 					return
 				}
@@ -107,7 +102,7 @@ func BatchUpdateChartEdbData(excelInfoId int, excelEdbMap map[int]*ExcelChartEdb
 
 	// data信息入库
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(len(addList), addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -116,11 +111,10 @@ func BatchUpdateChartEdbData(excelInfoId int, excelEdbMap map[int]*ExcelChartEdb
 }
 
 func GetExcelChartDataByChartInfoId(chartInfoId int) (list []*ExcelChartData, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-             FROM excel_chart_Data
+	        FROM excel_chart_Data
 			 WHERE chart_info_id=? 
-             ORDER BY excel_chart_edb_id ASC `
-	_, err = o.Raw(sql, chartInfoId).QueryRows(&list)
+	        ORDER BY excel_chart_edb_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartInfoId).Find(&list).Error
 	return
 }

+ 100 - 74
models/data_manage/excel/excel_chart_edb.go

@@ -1,17 +1,18 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
 )
 
 type ExcelChartEdb struct {
-	ExcelChartEdbId int       `orm:"column(excel_chart_edb_id);pk"`
+	ExcelChartEdbId int       `orm:"column(excel_chart_edb_id);pk" gorm:"primaryKey" `
 	ExcelInfoId     int       `description:"表格id"`
 	ChartInfoId     int       `description:"图表id"`
 	EdbCode         string    `description:"指标编码"`
@@ -79,22 +80,20 @@ func (e *ExcelChartEdb) TableName() string {
 
 // 新增
 func (e *ExcelChartEdb) Add() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(e)
+	err = global.DbMap[utils.DbNameIndex].Create(e).Error
 	return
 }
 
 // 修改
 func (e *ExcelChartEdb) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(e, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(e).Error
 	return
 }
 
 // 删除
 func (e *ExcelChartEdb) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(e)
+	sql := ` DELETE FROM excel_chart_edb WHERE excel_chart_edb_id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, e.ExcelChartEdbId).Error
 	return
 }
 
@@ -105,22 +104,20 @@ type AddChartEdbAndDataItem struct {
 
 // 同时添加指标和指标数据
 func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chartInfo *data_manage.ChartInfo, deleteEdbIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 先删除原先的绑定的指标
 	if len(deleteEdbIds) > 0 && chartInfo.ChartInfoId > 0 {
 		sql := `DELETE FROM excel_chart_edb WHERE chart_info_id = ? AND excel_chart_edb_id in (` + utils.GetOrmInReplace(len(deleteEdbIds)) + `)`
-		_, err = o.Raw(sql, chartInfo.ChartInfoId, deleteEdbIds).Exec()
+		err = to.Exec(sql, chartInfo.ChartInfoId, deleteEdbIds).Error
 		if err != nil {
 			err = fmt.Errorf("删除原先的指标失败:%v", err)
 			return
@@ -130,7 +127,7 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 	updateIds := make([]int, 0)
 	var edbInfoIdArrStr []string
 	for _, item := range list {
-		err = addChartEdbAndData(o, item.ChartEdb, item.DataList)
+		err = addChartEdbAndData(to, item.ChartEdb, item.DataList)
 		if err != nil {
 			return
 		}
@@ -141,14 +138,14 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 	//新增图表
 	chartInfoId := chartInfo.ChartInfoId
 	if chartInfo.ChartInfoId <= 0 {
-		lastId, e := o.Insert(chartInfo)
+		e := to.Create(chartInfo).Error
 		if e != nil {
 			err = fmt.Errorf("新增图表失败,AddChartEdbAndData: %v", e)
 			return
 		}
-		chartInfoId = int(lastId)
+		chartInfoId = chartInfo.ChartInfoId
 	} else {
-		_, err = o.Update(chartInfo)
+		err = to.Updates(chartInfo).Error
 		if err != nil {
 			err = fmt.Errorf("更新图表失败,AddChartEdbAndData: %v", e)
 			return
@@ -157,7 +154,7 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 
 	//更新图表id
 	sql := `update excel_chart_edb set chart_info_id = ? where excel_chart_edb_id in (` + utils.GetOrmInReplace(len(updateIds)) + `) and chart_info_id=0`
-	_, err = o.Raw(sql, chartInfoId, updateIds).Exec()
+	err = to.Exec(sql, chartInfoId, updateIds).Error
 	if err != nil {
 		err = fmt.Errorf("更新图表id失败,AddChartEdbAndData: %v", err)
 		return
@@ -167,13 +164,13 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 		edbInfoIdStr := strings.Join(edbInfoIdArrStr, ",")
 		//更新图表关联的指标id
 		sql = `update chart_info set edb_info_ids = ? where chart_info_id = ?`
-		_, err = o.Raw(sql, edbInfoIdStr, chartInfoId).Exec()
+		err = to.Exec(sql, edbInfoIdStr, chartInfoId).Error
 	}
 
 	if len(updateIds) > 0 {
 		//更新图表数据
 		sql = `update excel_chart_data set chart_info_id = ? where excel_chart_edb_id in (` + utils.GetOrmInReplace(len(updateIds)) + `) and chart_info_id=0`
-		_, err = o.Raw(sql, chartInfoId, updateIds).Exec()
+		err = to.Exec(sql, chartInfoId, updateIds).Error
 		if err != nil {
 			err = fmt.Errorf("更新图表id失败,AddChartEdbAndData: %v", err)
 			return
@@ -182,25 +179,25 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 	return
 }
 
-func addChartEdbAndData(o orm.TxOrmer, chartEdb *ExcelChartEdb, dataList []*ExcelChartData) (err error) {
+func addChartEdbAndData(o *gorm.DB, chartEdb *ExcelChartEdb, dataList []*ExcelChartData) (err error) {
 	// 图表指标信息入库
 	excelChartEdbId := chartEdb.ExcelChartEdbId
 	if chartEdb.ExcelChartEdbId <= 0 {
-		lastId, e := o.Insert(chartEdb)
+		e := o.Create(chartEdb).Error
 		if e != nil {
 			err = fmt.Errorf("新增指标失败,addChartEdbAndData: %v", e)
 			return
 		}
-		excelChartEdbId = int(lastId)
+		excelChartEdbId = chartEdb.ExcelChartEdbId
 	} else {
-		_, e := o.Update(chartEdb)
+		e := o.Updates(chartEdb).Error
 		if e != nil {
 			err = fmt.Errorf("更新指标失败,addChartEdbAndData: %v", e)
 			return
 		}
 		//如果有数据则删除所有的数据
 		sql := `delete from excel_chart_data where excel_chart_edb_id = ?`
-		_, err = o.Raw(sql, excelChartEdbId).Exec()
+		err = o.Exec(sql, excelChartEdbId).Error
 		if err != nil {
 			return
 		}
@@ -225,7 +222,7 @@ func addChartEdbAndData(o orm.TxOrmer, chartEdb *ExcelChartEdb, dataList []*Exce
 			addList = append(addList, chartData)
 			// data信息入库
 			if len(addList) > 1000 {
-				_, err = o.InsertMulti(len(addList), addList)
+				err = o.CreateInBatches(addList, utils.MultiAddNum).Error
 				if err != nil {
 					return
 				}
@@ -236,7 +233,7 @@ func addChartEdbAndData(o orm.TxOrmer, chartEdb *ExcelChartEdb, dataList []*Exce
 
 	// data信息入库
 	if len(addList) > 0 {
-		_, err = o.InsertMulti(len(addList), addList)
+		err = o.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -245,67 +242,61 @@ func addChartEdbAndData(o orm.TxOrmer, chartEdb *ExcelChartEdb, dataList []*Exce
 }
 
 func GetExcelChartEdbMappingByExcelInfoId(excelInfoId int) (list []*ExcelChartEdb, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-             FROM excel_chart_edb 
-			 WHERE excel_info_id=? 
-             ORDER BY chart_info_id asc, excel_chart_edb_id ASC `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&list)
+	        FROM excel_chart_edb
+			 WHERE excel_info_id=?
+	        ORDER BY chart_info_id asc, excel_chart_edb_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&list).Error
 	return
 }
 
 func GetExcelChartEdbMappingByExcelInfoIds(excelInfoIds []int) (list []*ExcelChartEdb, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-             FROM excel_chart_edb 
+	        FROM excel_chart_edb 
 			 WHERE excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
-	_, err = o.Raw(sql, excelInfoIds).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoIds).Find(&list).Error
 	return
 }
 
 func GetExcelChartEdbById(id int) (item *ExcelChartEdb, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_chart_edb WHERE excel_chart_edb_id=? `
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).Find(&item).Error
 	return
 }
 
 func GetExcelChartEdbMappingByChartInfoId(chartInfoId int) (list []*ExcelChartEdb, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-             FROM excel_chart_edb 
+	        FROM excel_chart_edb 
 			 WHERE chart_info_id=? 
-             ORDER BY excel_chart_edb_id ASC `
-	_, err = o.Raw(sql, chartInfoId).QueryRows(&list)
+	        ORDER BY excel_chart_edb_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartInfoId).Find(&list).Error
 	return
 }
 
 func GetExcelInfoByChartInfoId(chartInfoId int) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT i.*
-             FROM excel_chart_edb e left join excel_info i on e.excel_info_id=i.excel_info_id
+	        FROM excel_chart_edb e left join excel_info i on e.excel_info_id=i.excel_info_id
 			 WHERE e.chart_info_id=? limit 1`
-	err = o.Raw(sql, chartInfoId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, chartInfoId).First(&item).Error
 	return
 }
 
 // 同时删除指标和指标数据
 func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
+
 	// 把对应的表格状态改成删除状态
 	//更新图表id
 	sql := `update excel_info set is_delete = 1, modify_time = ? where excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
-	_, err = o.Raw(sql, time.Now(), excelInfoIds).Exec()
+	err = to.Exec(sql, time.Now(), excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("更新图表id失败,AddChartEdbAndData: %v", err)
 		return
@@ -313,7 +304,7 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 	// 把删除图表状态
 	if len(chartInfoIds) > 0 {
 		sql := `DELETE FROM chart_info WHERE  chart_info_id in (` + utils.GetOrmInReplace(len(chartInfoIds)) + `)`
-		_, err = o.Raw(sql, chartInfoIds).Exec()
+		err = to.Exec(sql, chartInfoIds).Error
 		if err != nil {
 			err = fmt.Errorf("删除原先的指标失败:%v", err)
 			return
@@ -323,14 +314,15 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 	}
 	// 删除原先的绑定的指标
 	sql = `DELETE FROM excel_chart_edb WHERE  excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
-	_, err = o.Raw(sql, excelInfoIds).Exec()
+	err = to.Exec(sql, excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("删除原先的指标失败:%v", err)
 		return
 	}
+
 	// 删除指标数据
 	sql = `DELETE FROM excel_chart_data WHERE  excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
-	_, err = o.Raw(sql, excelInfoIds).Exec()
+	err = to.Exec(sql, excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("删除原先的指标失败:%v", err)
 		return
@@ -340,11 +332,8 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 
 // 删除平衡表中的指标和数据
 func DeleteBalanceExcelChartInfoAndData(chartInfoId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -354,33 +343,45 @@ func DeleteBalanceExcelChartInfoAndData(chartInfoId int) (err error) {
 	}()
 
 	sql := ` DELETE FROM chart_info WHERE chart_info_id=? `
-	_, err = to.Raw(sql, chartInfoId).Exec()
+	err = to.Exec(sql, chartInfoId).Error
 	if err != nil {
 		err = fmt.Errorf("删除平衡表图表失败 %s", err.Error())
 		return
 	}
 	sql = ` DELETE FROM  excel_chart_edb WHERE chart_info_id=? `
-	_, err = to.Raw(sql, chartInfoId).Exec()
+	err = to.Exec(sql, chartInfoId).Error
 	if err != nil {
 		err = fmt.Errorf("删除平衡表图表指标失败 %s", err.Error())
 		return
 	}
+
 	// 删除表格里的数据
 	sql = ` DELETE FROM  excel_chart_data WHERE chart_info_id=? `
-	_, err = to.Raw(sql, chartInfoId).Exec()
+	err = to.Exec(sql, chartInfoId).Error
 	if err != nil {
 		err = fmt.Errorf("删除平衡表图表指标失败 %s", err.Error())
 		return
 	}
+
 	return
 }
 
 func EditBalanceChartBaseInfoAndEdbEnInfo(req *data_manage.EditChartInfoBaseReq, chartItem *data_manage.ChartInfo, lang string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	//o := orm.NewOrmUsingDB("data")
+	//to, err := o.Begin()
+	//if err != nil {
+	//	return
+	//}
+	//defer func() {
+	//	if err != nil {
+	//		_ = to.Rollback()
+	//	} else {
+	//		_ = to.Commit()
+	//	}
+	//}()
+
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -405,7 +406,13 @@ func EditBalanceChartBaseInfoAndEdbEnInfo(req *data_manage.EditChartInfoBaseReq,
 	}
 	chartItem.ModifyTime = time.Now()
 	updateChartCols = append(updateChartCols, "ModifyTime")
-	_, err = to.Update(chartItem, updateChartCols...)
+	//_, err = to.Update(chartItem, updateChartCols...)
+	//if err != nil {
+	//	fmt.Println("UPDATE  chart_info Err:", err.Error())
+	//	return err
+	//}
+
+	err = to.Select(updateChartCols).Updates(chartItem).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
@@ -415,8 +422,15 @@ func EditBalanceChartBaseInfoAndEdbEnInfo(req *data_manage.EditChartInfoBaseReq,
 	for _, v := range req.ChartEdbInfoList {
 		edbInfoIdArr = append(edbInfoIdArr, strconv.Itoa(v.EdbInfoId))
 		var count int
+		//csql := `SELECT COUNT(1) AS count FROM excel_chart_edb WHERE chart_info_id=? AND excel_chart_edb_id=? `
+		//err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId).QueryRow(&count)
+		//if err != nil {
+		//	fmt.Println("QueryRow Err:", err.Error())
+		//	return err
+		//}
+
 		csql := `SELECT COUNT(1) AS count FROM excel_chart_edb WHERE chart_info_id=? AND excel_chart_edb_id=? `
-		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId).QueryRow(&count)
+		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId).Scan(&count).Error
 		if err != nil {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
@@ -434,7 +448,13 @@ func EditBalanceChartBaseInfoAndEdbEnInfo(req *data_manage.EditChartInfoBaseReq,
 			}
 			msql += ` WHERE excel_chart_edb_id = ? `
 			pars = append(pars, v.EdbInfoId)
-			_, err = to.Raw(msql, pars...).Exec()
+			//_, err = to.Raw(msql, pars...).Exec()
+			//if err != nil {
+			//	fmt.Println("edb_info Err:" + err.Error())
+			//	return err
+			//}
+
+			err = to.Exec(msql, pars...).Error
 			if err != nil {
 				fmt.Println("edb_info Err:" + err.Error())
 				return err
@@ -445,11 +465,17 @@ func EditBalanceChartBaseInfoAndEdbEnInfo(req *data_manage.EditChartInfoBaseReq,
 }
 
 func GetBalanceChartEdbByCondition(condition string, pars []interface{}) (item *ExcelChartEdb, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM excel_chart_edb WHERE 1=1 `
+	//if condition != "" {
+	//	sql += condition
+	//}
+	//err = o.Raw(sql, pars).QueryRow(&item)
+
 	sql := ` SELECT * FROM excel_chart_edb WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
 	return
 }

+ 37 - 62
models/data_manage/excel/excel_classify.go

@@ -1,6 +1,7 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
@@ -14,7 +15,7 @@ const (
 
 // ExcelClassify excel表格分类
 type ExcelClassify struct {
-	ExcelClassifyId   int       `orm:"column(excel_classify_id);pk"`
+	ExcelClassifyId   int       `orm:"column(excel_classify_id);pk" gorm:"primaryKey" `
 	Source            int       `description:"表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1"`
 	ExcelClassifyName string    `description:"分类名称"`
 	ParentId          int       `description:"父级id"`
@@ -31,28 +32,20 @@ type ExcelClassify struct {
 
 // AddExcelClassify 添加excel分类
 func AddExcelClassify(item *ExcelClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.ExcelClassifyId = int(lastId)
-
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 	return
 }
 
 // GetExcelClassifyCount 获取同级分类下存在同名分类的数量
 func GetExcelClassifyCount(ExcelClassifyName string, parentId, source int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM excel_classify WHERE parent_id=? AND source = ? AND excel_classify_name=? AND is_delete=0 `
-	err = o.Raw(sql, parentId, source, ExcelClassifyName).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, source, ExcelClassifyName).Scan(&count).Error
 	return
 }
 
 func GetExcelClassifyById(classifyId int) (item *ExcelClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE excel_classify_id=? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
@@ -68,9 +61,8 @@ func GetExcelClassifyByIdList(classifyIdList []int) (items []*ExcelClassify, err
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetOrmInReplace(num) + `) AND is_delete=0 `
-	_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyIdList).Find(&items).Error
 	return
 }
 
@@ -82,44 +74,32 @@ func GetExcelClassifyByIdList(classifyIdList []int) (items []*ExcelClassify, err
 // @return items []*ExcelClassify
 // @return err error
 func GetExcelClassifyBySourceAndIsJoinPermission(source, isJoinPermission int) (items []*ExcelClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE source = ? AND is_join_permission = ? `
-	_, err = o.Raw(sql, source, isJoinPermission).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, isJoinPermission).Find(&items).Error
 	return
 }
 
 func GetChildClassifyById(classifyId int) (items []*ExcelClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE parent_id=? AND is_delete=0 `
-	_, err = o.Raw(sql, classifyId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Find(&items).Error
 	return
 }
 
 func GetExcelClassifyByParentId(parentId, source int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_classify WHERE parent_id=? AND source = ? AND is_delete=0 order by sort asc,excel_classify_id asc`
-	_, err = o.Raw(sql, parentId, source).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, source).Find(&items).Error
 	return
 }
 
 func GetExcelClassifyBySource(source int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_classify WHERE  source = ? AND is_delete=0 order by sort asc,excel_classify_id asc`
-	_, err = o.Raw(sql, source).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source).Find(&items).Error
 	return
 }
 
 func GetExcelClassifyBySourceOrderByLevel(source int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_classify WHERE  source = ? AND is_delete=0 order by level asc, sort asc,excel_classify_id asc`
-	_, err = o.Raw(sql, source).QueryRows(&items)
-	return
-}
-func GetExcelClassifyAll() (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM excel_classify WHERE parent_id<>0 AND is_delete=0 order by sort asc,excel_classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source).Find(&items).Error
 	return
 }
 
@@ -128,26 +108,25 @@ type ExcelClassifyItems struct {
 	ExcelInfoId       int `description:"表格id"`
 	ExcelClassifyName string
 	ParentId          int
-	Level             int    `description:"层级"`
-	Sort              int    `description:"排序字段,越小越靠前,默认值:10"`
-	UniqueCode        string `description:"唯一编码"`
-	SysUserId         int    `description:"创建人id"`
-	SysUserRealName   string `description:"创建人姓名"`
-	StartDate         string `description:"自定义开始日期"`
-	Children          []*ExcelClassifyItems
-	IsJoinPermission  int  `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
-	HaveOperaAuth     bool `description:"是否有数据权限"`
-	HasShare          bool `description:"是否已共享: true-是; false-否"`
-	ShowShareBtn      bool `description:"是否显示共享按钮: true-是; false-否"`
+	Level             int                   `description:"层级"`
+	Sort              int                   `description:"排序字段,越小越靠前,默认值:10"`
+	UniqueCode        string                `description:"唯一编码"`
+	SysUserId         int                   `description:"创建人id"`
+	SysUserRealName   string                `description:"创建人姓名"`
+	StartDate         string                `description:"自定义开始日期"`
+	Children          []*ExcelClassifyItems `gorm:"-"`
+	IsJoinPermission  int                   `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	HaveOperaAuth     bool                  `description:"是否有数据权限"`
+	HasShare          bool                  `description:"是否已共享: true-是; false-否"`
+	ShowShareBtn      bool                  `description:"是否显示共享按钮: true-是; false-否"`
 }
 
 func GetExcelClassifyByCondition(condition string, pars []interface{}) (item *ExcelClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_classify WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
 	return
 }
 
@@ -165,40 +144,40 @@ func GetNextExcelClassifyByCondition(condition string, pars []interface{}) (item
 
 // GetFirstExcelClassifyByParentId 获取当前父级图表分类下的排序第一条的数据
 func GetFirstExcelClassifyByParentId(parentId int) (item *ExcelClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
+	//sql := ` SELECT * FROM excel_classify WHERE parent_id=? AND is_delete=0 order by sort asc,excel_classify_id asc limit 1`
+	//err = o.Raw(sql, parentId).QueryRow(&item)
+
 	sql := ` SELECT * FROM excel_classify WHERE parent_id=? AND is_delete=0 order by sort asc,excel_classify_id asc limit 1`
-	err = o.Raw(sql, parentId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).First(&item).Error
 	return
 }
 
 // UpdateExcelClassifySortByParentId 根据图表父类id更新排序
 func UpdateExcelClassifySortByParentId(parentId, classifyId, nowSort int, updateSort string, source int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` update excel_classify set sort = ` + updateSort + ` WHERE parent_id=? and source=? and sort > ? AND is_delete=0 `
 	if classifyId > 0 {
 		sql += ` or ( excel_classify_id > ` + fmt.Sprint(classifyId) + ` and sort= ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, source, nowSort).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, parentId, source, nowSort).Error
 	return
 }
 
 // Update 更新图表分类基础信息
 func (ExcelClassify *ExcelClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(ExcelClassify, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(ExcelClassify).Error
 	return
 }
 
 // GetExcelClassifyMaxSort 获取图表分类下最大的排序数
 func GetExcelClassifyMaxSort(parentId int, source int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT Max(sort) AS sort FROM excel_classify WHERE parent_id=? AND source = ? AND is_delete=0 `
-	err = o.Raw(sql, parentId, source).QueryRow(&sort)
+	sql := `SELECT COALESCE(Max(sort), 0) AS sort FROM excel_classify WHERE parent_id=? AND source = ? AND is_delete=0 `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, source).Scan(&sort).Error
 	return
 }
 
 type ExcelClassifyView struct {
-	ExcelClassifyId   int    `orm:"column(excel_classify_id);pk"`
+	ExcelClassifyId   int    `orm:"column(excel_classify_id);pk" gorm:"primaryKey" `
 	ExcelClassifyName string `description:"分类名称"`
 	ParentId          int    `description:"父级id"`
 }
@@ -227,17 +206,14 @@ func GetClassifyByIdList(classifyIdList []int) (items []*ExcelClassify, err erro
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetOrmInReplace(num) + `) AND is_delete=0 `
-	_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyIdList).Find(&items).Error
 	return
 }
 
 func GetAdminExcelClassifyBySource(source, adminId int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_classify WHERE source = ? AND sys_user_id = ? AND is_delete = 0 ORDER BY sort ASC, excel_classify_id ASC;`
-	_, err = o.Raw(sql, source, adminId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, adminId).Find(&items).Error
 	return
 }
 
@@ -249,8 +225,7 @@ func GetExcelClassifyModelBySource(source int) (items []*ExcelClassify, err erro
 }
 
 func GetCustomAnalysisExcelClassifyCount(classifyName string, parentId, source, adminId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM excel_classify WHERE parent_id = ? AND source = ? AND excel_classify_name = ? AND is_delete = 0 AND sys_user_id = ?`
-	err = o.Raw(sql, parentId, source, classifyName, adminId).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, source, classifyName, adminId).Scan(&count).Error
 	return
-}
+}

+ 4 - 8
models/data_manage/excel/excel_draft.go

@@ -1,13 +1,15 @@
 package excel
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // ExcelDraft 沙盘推演草稿表
 type ExcelDraft struct {
-	ExcelDraftId int       `orm:"column(excel_draft_id);pk" description:"excel表格草稿记录id"`
+	ExcelDraftId int       `orm:"column(excel_draft_id);pk" gorm:"primaryKey"  description:"excel表格草稿记录id"`
 	ExcelId      int       `description:"excel表格id"`
 	Name         string    `description:"excel表格名称"`
 	Content      string    `description:"excel数据"`
@@ -18,13 +20,7 @@ type ExcelDraft struct {
 
 // AddExcelDraft 添加一个新的excel表格草稿
 func AddExcelDraft(excelDraft *ExcelDraft) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	// 新增草稿
-	id, err := o.Insert(excelDraft)
-	if err != nil {
-		return
-	}
-	excelDraft.ExcelDraftId = int(id)
+	err = global.DbMap[utils.DbNameIndex].Create(excelDraft).Error
 	return
 }
 

+ 23 - 32
models/data_manage/excel/excel_edb_mapping.go

@@ -1,6 +1,7 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
@@ -9,7 +10,7 @@ import (
 
 // ExcelEdbMapping excel与指标的关系表
 type ExcelEdbMapping struct {
-	ExcelEdbMappingId int       `orm:"column(excel_edb_mapping_id);pk"`
+	ExcelEdbMappingId int       `orm:"column(excel_edb_mapping_id);pk" gorm:"primaryKey" `
 	ExcelInfoId       int       `description:"excel的id"`
 	Source            int       `description:"表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1"`
 	EdbInfoId         int       `description:"计算指标id"`
@@ -26,15 +27,14 @@ func AddExcelEdbMappingMulti(items []*ExcelEdbMapping) (err error) {
 
 // Add 添加excel与指标的关系
 func (e *ExcelEdbMapping) Add() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(e)
+	err = global.DbMap[utils.DbNameIndex].Create(e).Error
+
 	return
 }
 
 // Update 更新 excel表格基础信息
 func (e *ExcelEdbMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(e, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(e).Error
 	return
 }
 
@@ -49,11 +49,10 @@ func GetExcelEdbMappingByEdbInfoId(edbInfoId int) (items []*ExcelEdbMapping, err
 
 // GetExcelEdbMappingByExcelInfoId 根据excel的id获取配置关系
 func GetExcelEdbMappingByExcelInfoId(excelInfoId int) (items []*ExcelEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT *  FROM excel_edb_mapping AS a 
-           join edb_info as b on a.edb_info_id = b.edb_info_id
-           WHERE 1=1 AND a.excel_info_id = ? `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&items)
+	sql := ` SELECT *  FROM excel_edb_mapping AS a
+	      join edb_info as b on a.edb_info_id = b.edb_info_id
+	      WHERE 1=1 AND a.excel_info_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&items).Error
 
 	return
 }
@@ -78,11 +77,10 @@ type CalculateFormula struct {
 
 // GetAllExcelEdbMappingItemByExcelInfoId 根据品种id获取所有的指标结果集
 func GetAllExcelEdbMappingItemByExcelInfoId(excelInfoId int) (items []*ExcelEdbMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.edb_info_id,a.unique_code,a.edb_name,a.classify_id,a.frequency,a.unit,calculate_formula FROM edb_info AS a 
-         JOIN excel_edb_mapping AS b ON a.edb_info_id=b.edb_info_id 
-         WHERE b.excel_info_id = ? ORDER BY b.excel_edb_mapping_id ASC `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&items)
+	    JOIN excel_edb_mapping AS b ON a.edb_info_id=b.edb_info_id 
+	    WHERE b.excel_info_id = ? ORDER BY b.excel_edb_mapping_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&items).Error
 	return
 }
 
@@ -102,38 +100,33 @@ type ExcelEdbMappingWithParentIdItem struct {
 }
 
 func GetNoCustomAnalysisExcelEdbMapping(edbInfoId int) (items []ExcelEdbMappingWithParentIdItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT b.excel_info_id, b.parent_id FROM excel_edb_mapping a 
-                          join excel_info b on a.excel_info_id=b.excel_info_id
-                          WHERE edb_info_id=? AND a.source != 4 AND b.is_delete = 0`
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	                     join excel_info b on a.excel_info_id=b.excel_info_id
+	                     WHERE edb_info_id=? AND a.source != 4 AND b.is_delete = 0`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Find(&items).Error
 	return
 }
 
 // GetAllExcelEdbMappingByExcelInfoId 根据excel的id获取所有的指标
 func GetAllExcelEdbMappingByExcelInfoId(excelInfoId int) (items []*ExcelEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.* FROM  excel_edb_mapping a
-         WHERE a.excel_info_id = ? ORDER BY a.excel_edb_mapping_id ASC `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&items)
+	    WHERE a.excel_info_id = ? ORDER BY a.excel_edb_mapping_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&items).Error
 	return
 }
 
 // GetAllExcelEdbMappingByExcelInfoIds 根据excel的id获取所有的指标
 func GetAllExcelEdbMappingByExcelInfoIds(excelInfoIds []int) (items []*ExcelEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT a.* FROM  excel_edb_mapping a
-         WHERE a.excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `) ORDER BY a.excel_edb_mapping_id ASC `
-	_, err = o.Raw(sql, excelInfoIds).QueryRows(&items)
+	    WHERE a.excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `) ORDER BY a.excel_edb_mapping_id ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoIds).Find(&items).Error
 	return
 }
 
 // GetExcelEdbMappingByEdbInfoIdAndSource 根据指标id获取配置关系
 func GetExcelEdbMappingByEdbInfoIdAndSource(edbInfoId int, sources []int) (items []*ExcelEdbMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *  FROM excel_edb_mapping WHERE 1=1 AND edb_info_id = ? AND source in (` + utils.GetOrmInReplace(len(sources)) + `) `
-
-	_, err = o.Raw(sql, edbInfoId, sources).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId, sources).Find(&items).Error
 	return
 }
 
@@ -144,16 +137,13 @@ func GetExcelEdbMappingByEdbInfoIdAndSource(edbInfoId int, sources []int) (items
 // @param edbInfoId int
 // @return err error
 func DeleteCustomAnalysisExcelEdbMappingByEdbInfoId(edbInfoId int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `DELETE FROM excel_edb_mapping WHERE source = ? AND edb_info_id = ? LIMIT 1`
-	_, err = o.Raw(sql, utils.CUSTOM_ANALYSIS_TABLE, edbInfoId).Exec()
-
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, utils.CUSTOM_ANALYSIS_TABLE, edbInfoId).Error
 	return
 }
 
 // GetExcelEdbMappingItemByExcelInfoIdOrKeyword 根据表格ID或关键词获取指标
 func GetExcelEdbMappingItemByExcelInfoIdOrKeyword(excelInfoId int, keyword string) (items []*ExcelEdbMappingItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	cond := `b.excel_info_id = ?`
 	pars := make([]interface{}, 0)
 	pars = append(pars, excelInfoId)
@@ -176,6 +166,7 @@ func GetExcelEdbMappingItemByExcelInfoIdOrKeyword(excelInfoId int, keyword strin
 			%s
 		ORDER BY
 			b.excel_edb_mapping_id ASC`, cond)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
+
 }

+ 97 - 137
models/data_manage/excel/excel_info.go

@@ -1,6 +1,7 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
 	"fmt"
@@ -11,7 +12,7 @@ import (
 
 // ExcelInfo excel表格详情表
 type ExcelInfo struct {
-	ExcelInfoId        int       `orm:"column(excel_info_id);pk"`
+	ExcelInfoId        int       `orm:"column(excel_info_id);pk" gorm:"primaryKey" `
 	Source             int       `description:"表格来源,1:excel插件的表格,2:自定义表格,3:混合表格,4:自定义分析,默认:1"`
 	ExcelType          int       `description:"表格类型,1:指标列,2:日期列,默认:1"`
 	ExcelName          string    `description:"表格名称"`
@@ -39,13 +40,12 @@ type ExcelInfo struct {
 
 // Update 更新 excel表格基础信息
 func (excelInfo *ExcelInfo) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(excelInfo, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(excelInfo).Error
 	return
 }
 
 type MyExcelInfoList struct {
-	ExcelInfoId        int                   `orm:"column(excel_info_id);pk"`
+	ExcelInfoId        int                   `orm:"column(excel_info_id);pk" gorm:"primaryKey" `
 	Source             int                   `description:"表格来源,1:excel插件的表格,2:自定义表格,默认:1"`
 	ExcelType          int                   `description:"表格类型,1:指标列,2:日期列,默认:1"`
 	ExcelName          string                `description:"表格名称"`
@@ -62,40 +62,38 @@ type MyExcelInfoList struct {
 	HaveOperaAuth      bool                  `description:"是否有数据权限"`
 	UpdateUserId       int                   `description:"更新人id"`
 	UpdateUserRealName string                `description:"更新人真实姓名"`
-	Button             ExcelInfoDetailButton `description:"操作权限"`
+	Button             ExcelInfoDetailButton `description:"操作权限" gorm:"-"`
 	CanEdit            bool                  `description:"是否可编辑"`
 	Editor             string                `description:"编辑人"`
 }
 
 // AddExcelInfo 新增表格
 func AddExcelInfo(excelInfo *ExcelInfo, excelEdbMappingList []*ExcelEdbMapping, childExcel *ExcelInfo) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
+
 	// 表格信息入库
-	lastId, err := o.Insert(excelInfo)
+	err = to.Create(excelInfo).Error
 	if err != nil {
 		return
 	}
-	excelInfo.ExcelInfoId = int(lastId)
+	//excelInfo.ExcelInfoId = excelInfo.ExcelInfoId
 	// todo 判断如果是平衡表的父级,则新增一个名叫平衡表的子表, 内容为空
 	if childExcel != nil {
 		// 表格信息入库
 		childExcel.ParentId = excelInfo.ExcelInfoId
-		childId, e := o.Insert(childExcel)
-		if e != nil {
-			err = fmt.Errorf("新增子表失败:%v", e)
+		err = to.Create(childExcel).Error
+		if err != nil {
+			err = fmt.Errorf("新增子表失败:%v", err)
 			return
 		}
-		childExcel.ExcelInfoId = int(childId)
 	}
 	// excel与指标的关联关系
 	dataNum := len(excelEdbMappingList)
@@ -104,7 +102,7 @@ func AddExcelInfo(excelInfo *ExcelInfo, excelEdbMappingList []*ExcelEdbMapping,
 			v.ExcelInfoId = excelInfo.ExcelInfoId
 			excelEdbMappingList[k] = v
 		}
-		_, err = o.InsertMulti(dataNum, excelEdbMappingList)
+		err = to.CreateInBatches(excelEdbMappingList, utils.MultiAddNum).Error
 	}
 
 	return
@@ -112,20 +110,17 @@ func AddExcelInfo(excelInfo *ExcelInfo, excelEdbMappingList []*ExcelEdbMapping,
 
 // EditExcelInfo 编辑表格
 func EditExcelInfo(excelInfo *ExcelInfo, updateExcelInfoParams []string, excelEdbMappingList []*ExcelEdbMapping) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
-
 	// ETA表格信息变更
-	_, err = o.Update(excelInfo, updateExcelInfoParams...)
+	err = to.Select(updateExcelInfoParams).Updates(excelInfo).Error
 	if err != nil {
 		return
 	}
@@ -133,11 +128,12 @@ func EditExcelInfo(excelInfo *ExcelInfo, updateExcelInfoParams []string, excelEd
 	if excelInfo.Source == utils.BALANCE_TABLE && excelInfo.ParentId == 0 {
 		// 同步更新子表分类
 		sql := `UPDATE FROM excel_info set excel_classify_id = ? WHERE parent_id=? `
-		_, err = o.Raw(sql, excelInfo.ExcelClassifyId, excelInfo.ExcelInfoId).Exec()
+		err = to.Exec(sql, excelInfo.ExcelClassifyId, excelInfo.ExcelInfoId).Error
 	}
 	// 删除关系表
+
 	sql := `DELETE FROM excel_edb_mapping WHERE excel_info_id=? `
-	_, err = o.Raw(sql, excelInfo.ExcelInfoId).Exec()
+	err = to.Exec(sql, excelInfo.ExcelInfoId).Error
 
 	// excel与指标的关联关系
 	dataNum := len(excelEdbMappingList)
@@ -146,7 +142,7 @@ func EditExcelInfo(excelInfo *ExcelInfo, updateExcelInfoParams []string, excelEd
 			v.ExcelInfoId = excelInfo.ExcelInfoId
 			excelEdbMappingList[k] = v
 		}
-		_, err = o.InsertMulti(dataNum, excelEdbMappingList)
+		err = to.CreateInBatches(excelEdbMappingList, utils.MultiAddNum).Error
 	}
 
 	return
@@ -164,7 +160,6 @@ func GetExcelInfoAll() (items []*ExcelClassifyItems, err error) {
 
 // GetNoContentExcelInfoAll 获取不含content的表格列表 用于分类展示
 func GetNoContentExcelInfoAll(source, userId int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
              unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission
             FROM excel_info where is_delete=0 AND source = ?  `
@@ -176,13 +171,12 @@ func GetNoContentExcelInfoAll(source, userId int) (items []*ExcelClassifyItems,
 		pars = append(pars, userId)
 	}
 	sql += `  ORDER BY sort asc,excel_info_id desc `
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetBalanceNoContentExcelInfoAll 获取不含content的平衡表表格列表 用于分类展示
 func GetBalanceNoContentExcelInfoAll(source int, excelInfoIds []int, userId int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
              unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission
             FROM excel_info where is_delete=0 AND source = ?  AND parent_id = 0 AND balance_type=0 `
@@ -200,7 +194,7 @@ func GetBalanceNoContentExcelInfoAll(source int, excelInfoIds []int, userId int)
 	}
 
 	sql += `  ORDER BY sort asc,excel_info_id desc `
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -214,17 +208,15 @@ func GetAllExcelInfoBySource(source int) (items []*ExcelInfo, err error) {
 
 // GetExcelInfoById 根据id 获取eta表格详情
 func GetExcelInfoById(excelInfoId int) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE excel_info_id=? AND is_delete=0 `
-	err = o.Raw(sql, excelInfoId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).First(&item).Error
 	return
 }
 
 // GetExcelInfoByUnicode 编码获取表格
 func GetExcelInfoByUnicode(unicode string) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE unique_code = ? AND is_delete = 0 `
-	err = o.Raw(sql, unicode).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, unicode).First(&item).Error
 	return
 }
 
@@ -236,74 +228,72 @@ func GetExcelInfoViewById(excelInfoId int) (item *ExcelInfoView, err error) {
 }
 
 func GetExcelInfoCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT COUNT(1) AS count FROM excel_info WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
 func GetNoContentExcelInfoListByCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*ExcelClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
-             unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission FROM excel_info WHERE 1=1 `
+	        unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission FROM excel_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += ` AND is_delete=0 ORDER BY excel_info_id DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+
+	pars = append(pars, startSize)
+	pars = append(pars, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func GetNoContentExcelInfoListByConditionNoPage(condition string, pars []interface{}) (items []*ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT excel_info_id,excel_classify_id,excel_name,
-             unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission, parent_id, balance_type, update_user_id,update_user_real_name,rel_excel_info_id,version_name FROM excel_info WHERE is_delete=0 `
+	        unique_code,sys_user_id,sys_user_real_name,sort,is_join_permission, parent_id, balance_type, update_user_id,update_user_real_name,rel_excel_info_id,version_name FROM excel_info WHERE is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
 
 	sql += ` ORDER BY excel_info_id DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
+
 	return
 }
 
 func GetExcelInfoListByCondition(condition string, pars []interface{}) (items []*ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort asc, excel_info_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetNextExcelInfoByCondition 根据条件获取下一个表格
 func GetNextExcelInfoByCondition(condition string, pars []interface{}) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += " ORDER BY sort asc , create_time desc LIMIT 1 "
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
 	return
 }
 
 // GetNextExcelInfo 根据分类id获取下一个excel表格
 func GetNextExcelInfo(classifyId, classifySort, source int) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT b.* FROM excel_classify AS a
 			INNER JOIN excel_info AS b ON a.excel_classify_id=b.excel_classify_id
 			WHERE (a.sort>? OR (a.sort=? and a.excel_classify_id>?) ) AND a.is_delete=0 AND b.is_delete=0
 			AND a.source = ? AND b.source = ? 
 			ORDER BY a.sort ASC,b.sort asc,b.create_time desc
 			LIMIT 1 `
-	err = o.Raw(sql, classifySort, classifySort, classifyId, source, source).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifySort, classifySort, classifyId, source, source).First(&item).Error
 	return
 }
 
@@ -323,35 +313,32 @@ func EditExcelInfoImage(excelInfoId int, imageUrl string) (err error) {
 
 // GetExcelInfoByUniqueCode 根据unique_code来获取excel表格详情
 func GetExcelInfoByUniqueCode(uniqueCode string) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE unique_code=? AND is_delete=0 `
-	err = o.Raw(sql, uniqueCode).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, uniqueCode).First(&item).Error
 	return
 }
 
 // GetFirstExcelInfoByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
 func GetFirstExcelInfoByClassifyId(classifyId int) (item *ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE excel_classify_id=? AND is_delete=0 order by sort asc,excel_info_id desc limit 1`
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
 // UpdateExcelInfoSortByClassifyId 根据表格id更新排序
 func UpdateExcelInfoSortByClassifyId(classifyId, nowSort, prevExcelInfoId int, updateSort string, source int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` update excel_info set sort = ` + updateSort + ` WHERE excel_classify_id=? AND source=? AND is_delete=0 AND ( sort > ? `
 	// todo 前一个兄弟节点后移
 	if prevExcelInfoId > 0 {
 		sql += ` or (excel_info_id < ` + fmt.Sprint(prevExcelInfoId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
 	}
 	sql += `)`
-	_, err = o.Raw(sql, classifyId, source, nowSort).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, classifyId, source, nowSort).Error
 	return
 }
 
 type ExcelInfoView struct {
-	ExcelInfoId       int    `orm:"column(excel_info_id);pk"`
+	ExcelInfoId       int    `orm:"column(excel_info_id);pk" gorm:"primaryKey" `
 	ExcelName         string `description:"来源名称"`
 	ExcelClassifyId   int    `description:"表格分类id"`
 	ExcelClassifyName string `description:"表格名称"`
@@ -392,39 +379,39 @@ func GetExcelInfoByClassifyIdAndName(classifyId int, excelName string) (item *Ex
 
 // GetNoContentExcelListByCondition 获取没有content的excel表格列表数据
 func GetNoContentExcelListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*MyExcelInfoList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission,update_user_id,update_user_real_name
-FROM excel_info WHERE 1=1 AND is_delete=0 `
+	FROM excel_info WHERE 1=1 AND is_delete=0 `
 	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)
+	pars = append(pars, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 // GetNoContentExcelListByConditionNoPage 获取没有content的excel表格列表数据
 func GetNoContentExcelListByConditionNoPage(condition string, pars []interface{}) (item []*MyExcelInfoList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission,update_user_id,update_user_real_name
-FROM excel_info WHERE 1=1 AND is_delete=0 `
+	FROM excel_info WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
 	//sql += " ORDER BY sort ASC,chart_info_id DESC LIMIT ?,? "
 	sql += " ORDER BY create_time DESC"
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetExcelListCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT COUNT(1) AS count FROM excel_info WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
 	return
 }
 
@@ -438,9 +425,8 @@ func GetExcelViewInfoByExcelInfoId(excelInfoId int) (item *MyExcelInfoList, err
 
 // GetExcelInfoCountByClassifyId 根据分类id获取名下表格数量
 func GetExcelInfoCountByClassifyId(classifyId int) (total int64, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT count(1) total FROM excel_info WHERE excel_classify_id = ? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&total).Error
 	return
 }
 
@@ -455,53 +441,45 @@ func UpdateExcelInfoClassifyId(classifyId, excelInfoId int) (err error) {
 
 // GetNoContentExcelInfoByName 根据名称 获取eta表格详情
 func GetNoContentExcelInfoByName(excelName string, source, adminId int) (item *MyExcelInfoList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission,update_user_id,update_user_real_name 
- FROM excel_info WHERE excel_name = ? AND source = ? AND is_delete=0 AND sys_user_id = ? `
-	err = o.Raw(sql, excelName, source, adminId).QueryRow(&item)
-
+	FROM excel_info WHERE excel_name = ? AND source = ? AND is_delete=0 AND sys_user_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelName, source, adminId).First(&item).Error
 	return
 }
 
 // GetNoContentExcelInfoByUniqueCode 根据unique_code来获取excel表格详情
 func GetNoContentExcelInfoByUniqueCode(uniqueCode string) (item *MyExcelInfoList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission,update_user_id,update_user_real_name 
- FROM excel_info WHERE unique_code=? AND is_delete=0 `
-	err = o.Raw(sql, uniqueCode).QueryRow(&item)
+	FROM excel_info WHERE unique_code=? AND is_delete=0 `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, uniqueCode).First(&item).Error
 	return
 }
 
 // GetNoContentExcelInfoByExcelId 根据表格id来获取excel表格详情
 func GetNoContentExcelInfoByExcelId(excelInfoId int) (item *MyExcelInfoList, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission,update_user_id,update_user_real_name 
- FROM excel_info WHERE excel_info_id=? AND is_delete=0 `
-	err = o.Raw(sql, excelInfoId).QueryRow(&item)
+	FROM excel_info WHERE excel_info_id=? AND is_delete=0 `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).First(&item).Error
 	return
 }
 
 // AddExcelInfoAndSheet 新增excel
 func AddExcelInfoAndSheet(excelInfo *ExcelInfo, sheetParamsList []AddExcelSheetParams) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 表格信息入库
-	lastId, err := o.Insert(excelInfo)
+	err = to.Create(excelInfo).Error
 	if err != nil {
 		return
 	}
-	excelInfo.ExcelInfoId = int(lastId)
-
 	// sheet信息入库
 	for _, sheetInfo := range sheetParamsList {
 		dataNum := len(sheetInfo.DataList)
@@ -519,12 +497,12 @@ func AddExcelInfoAndSheet(excelInfo *ExcelInfo, sheetParamsList []AddExcelSheetP
 			ModifyTime:   time.Now(),
 			CreateTime:   time.Now(),
 		}
-		sheetId, tmpErr := o.Insert(excelSheetInfo)
+
+		tmpErr := to.Create(excelSheetInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		excelSheetInfo.ExcelSheetId = int(sheetId)
 
 		// data信息入库
 		if dataNum > 0 {
@@ -532,7 +510,8 @@ func AddExcelInfoAndSheet(excelInfo *ExcelInfo, sheetParamsList []AddExcelSheetP
 				sheetInfo.DataList[k].ExcelSheetId = excelSheetInfo.ExcelSheetId
 				sheetInfo.DataList[k].ExcelInfoId = excelSheetInfo.ExcelInfoId
 			}
-			_, tmpErr = o.InsertMulti(dataNum, sheetInfo.DataList)
+
+			tmpErr = to.CreateInBatches(sheetInfo.DataList, utils.MultiAddNum).Error
 			if tmpErr != nil {
 				err = tmpErr
 				return
@@ -545,34 +524,33 @@ func AddExcelInfoAndSheet(excelInfo *ExcelInfo, sheetParamsList []AddExcelSheetP
 
 // SaveExcelInfoAndSheet 编辑保存
 func SaveExcelInfoAndSheet(excelInfo *ExcelInfo, updateExcelInfoParam []string, sheetParamsList []AddExcelSheetParams) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
 
 	// 表格信息入库
-	_, err = o.Update(excelInfo, updateExcelInfoParam...)
+	err = to.Select(updateExcelInfoParam).Updates(excelInfo).Error
 	if err != nil {
 		return
 	}
 
 	// 先删除历史的sheet信息
 	sql := `DELETE FROM excel_sheet WHERE excel_info_id = ?`
-	_, err = o.Raw(sql, excelInfo.ExcelInfoId).Exec()
+	err = to.Exec(sql, excelInfo.ExcelInfoId).Error
 	if err != nil {
 		return
 	}
 
 	// 再删除历史sheet中的cell data信息
+
 	sql = `DELETE FROM excel_sheet_data WHERE excel_info_id = ?`
-	_, err = o.Raw(sql, excelInfo.ExcelInfoId).Exec()
+	err = to.Exec(sql, excelInfo.ExcelInfoId).Error
 	if err != nil {
 		return
 	}
@@ -594,24 +572,19 @@ func SaveExcelInfoAndSheet(excelInfo *ExcelInfo, updateExcelInfoParam []string,
 			ModifyTime:   time.Now(),
 			CreateTime:   time.Now(),
 		}
-		sheetId, tmpErr := o.Insert(excelSheetInfo)
+
+		tmpErr := to.Create(excelSheetInfo).Error
 		if tmpErr != nil {
 			err = tmpErr
 			return
 		}
-		excelSheetInfo.ExcelSheetId = int(sheetId)
-
 		// data信息入库
 		if dataNum > 0 {
 			for k, _ := range sheetInfo.DataList {
 				sheetInfo.DataList[k].ExcelSheetId = excelSheetInfo.ExcelSheetId
 				sheetInfo.DataList[k].ExcelInfoId = excelSheetInfo.ExcelInfoId
 			}
-			_, tmpErr = o.InsertMulti(dataNum, sheetInfo.DataList)
-			if tmpErr != nil {
-				err = tmpErr
-				return
-			}
+			tmpErr = to.CreateInBatches(sheetInfo.DataList, utils.MultiAddNum).Error
 		}
 	}
 
@@ -628,9 +601,8 @@ type BatchRefreshExcelReq struct {
 
 // GetExcelMaxSortByClassifyId 获取当前分类下,且排序数最大的excel
 func GetExcelMaxSortByClassifyId(classifyId int, source int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT Max(sort) AS sort FROM excel_info WHERE excel_classify_id=? AND source = ? AND is_delete=0 order by sort desc,excel_info_id desc limit 1`
-	err = o.Raw(sql, classifyId, source).QueryRow(&sort)
+	sql := ` SELECT COALESCE(MAX(sort),0) AS sort FROM excel_info WHERE excel_classify_id=? AND source = ? AND is_delete=0 order by sort desc,excel_info_id desc limit 1`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId, source).Scan(&sort).Error
 	return
 }
 
@@ -644,10 +616,8 @@ func GetNoContentExcelListByExcelInfoIdList(excelInfoIdList []string) (items []*
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
-	_, err = o.Raw(sql, excelInfoIdList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoIdList).Find(&items).Error
 	return
 }
 
@@ -656,10 +626,8 @@ func GetNoContentExcelListByExcelInfoIdAndParentId(excelInfoIdList []string) (it
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) OR parent_id in (` + utils.GetOrmInReplace(num) + `)   order by excel_info_id DESC `
-	_, err = o.Raw(sql, excelInfoIdList, excelInfoIdList).QueryRows(&items)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoIdList, excelInfoIdList).Find(&items).Error
 	return
 }
 
@@ -673,9 +641,8 @@ func GetNoContentExcelListByUserId(userIdList []int) (items []*MyExcelInfoList,
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
-	_, err = o.Raw(sql, userIdList).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, userIdList).Find(&items).Error
 
 	return
 }
@@ -693,9 +660,8 @@ func ModifyExcelInfoUserIdByCodeList(excelIdList []string, userId int, userName
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userId, userName, excelIdList).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, userId, userName, excelIdList).Error
 	return
 }
 
@@ -712,9 +678,9 @@ func ModifyExcelInfoUserIdByOldUserId(oldUserIdList []int, userId int, userName
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
+
 	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE is_delete=0 AND sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
-	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, userId, userName, oldUserIdList).Error
 	return
 }
 
@@ -723,10 +689,9 @@ func GetExcelBaseInfoByExcelInfoIdList(excelInfoIdList []int) (items []*data_man
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
-	_, err = o.Raw(sql, excelInfoIdList).QueryRows(&items)
 
+	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoIdList).Find(&items).Error
 	return
 }
 
@@ -735,11 +700,8 @@ func ReplaceEdbInExcel(oldEdbInfoId, newEdbInfoId int, updateExcelList []*ExcelI
 	var errmsg string
 	logMsg := `` // 记录替换的日志
 	replaceTotal := 0
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -760,7 +722,7 @@ func ReplaceEdbInExcel(oldEdbInfoId, newEdbInfoId int, updateExcelList []*ExcelI
 	for _, excelInfo := range updateExcelList {
 		//更新配置中的指标A
 		sql := `UPDATE excel_info SET content=?, modify_time=? WHERE excel_info_id=?`
-		_, err = to.Raw(sql, excelInfo.Content, time.Now(), excelInfo.ExcelInfoId).Exec()
+		err = to.Exec(sql, excelInfo.Content, time.Now(), excelInfo.ExcelInfoId).Error
 		if err != nil {
 			errmsg = "更新表格内容失败:Err:" + err.Error()
 			return
@@ -768,14 +730,14 @@ func ReplaceEdbInExcel(oldEdbInfoId, newEdbInfoId int, updateExcelList []*ExcelI
 		//更新配置中的指标B
 		// 判断是否已存在绑定,如果存在则删除
 		sql = `DELETE FROM excel_edb_mapping WHERE excel_info_id=? and edb_info_id=?`
-		_, err = to.Raw(sql, excelInfo.ExcelInfoId, newEdbInfoId).Exec()
+		err = to.Exec(sql, excelInfo.ExcelInfoId, newEdbInfoId).Error
 		if err != nil {
 			errmsg = "删除指标B关联图表配置信息失败:Err:" + err.Error()
 			return
 		}
 		// 插入新的绑定
 		sql = `UPDATE excel_edb_mapping SET edb_info_id=?, modify_time=? WHERE excel_info_id=? and edb_info_id=?`
-		_, err = to.Raw(sql, newEdbInfoId, time.Now(), excelInfo.ExcelInfoId, oldEdbInfoId).Exec()
+		err = to.Exec(sql, newEdbInfoId, time.Now(), excelInfo.ExcelInfoId, oldEdbInfoId).Error
 		if err != nil {
 			errmsg = "更新指标B关联图表配置信息失败:Err:" + err.Error()
 			return
@@ -788,9 +750,8 @@ func ReplaceEdbInExcel(oldEdbInfoId, newEdbInfoId int, updateExcelList []*ExcelI
 
 // GetChildExcelInfoByParentId 根据id 获取eta表格详情
 func GetChildExcelInfoByParentId(parentId int) (items []*ExcelInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,source,excel_type,excel_name,unique_code,excel_classify_id,sys_user_id,sys_user_real_name,excel_image,file_url,sort,create_time,modify_time,is_join_permission, parent_id, balance_type, update_user_id,update_user_real_name FROM excel_info WHERE parent_id=? AND is_delete=0 order by sort asc, excel_info_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Find(&items).Error
 	return
 }
 
@@ -810,9 +771,8 @@ func UpdateExcelInfoClassifyIdByIds(classifyId int, excelIds []int) (err error)
 	if len(excelIds) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`UPDATE excel_info SET excel_classify_id = ? WHERE excel_info_id IN (%s)`, utils.GetOrmInReplace(len(excelIds)))
-	_, err = o.Raw(sql, classifyId, excelIds).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, classifyId, excelIds).Error
 	return
 }
 

+ 9 - 13
models/data_manage/excel/excel_info_rule_mapping.go

@@ -1,13 +1,14 @@
 package excel
 
 import (
+	"eta/eta_api/utils"
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
 )
 
 type ExcelInfoRuleMapping struct {
-	ExcelInfoRuleMappingId int       `orm:"pk" description:"主键"`
+	ExcelInfoRuleMappingId int       `orm:"pk" gorm:"primaryKey"  description:"主键"`
 	ExcelInfoId            int       `description:"Excel信息ID"`
 	RuleType               int       `description:"规则类型"`
 	LeftValue              string    `description:"左值"`
@@ -27,7 +28,7 @@ type ExcelInfoRuleMapping struct {
 }
 
 type ExcelInfoRuleMappingView struct {
-	ExcelInfoRuleMappingId int    `orm:"pk" description:"主键"`
+	ExcelInfoRuleMappingId int    `orm:"pk" gorm:"primaryKey"  description:"主键"`
 	ExcelInfoId            int    `description:"Excel信息ID"`
 	RuleType               int    `description:"规则类型"`
 	LeftValue              string `description:"左值"`
@@ -47,36 +48,31 @@ type ExcelInfoRuleMappingView struct {
 }
 
 func (e *ExcelInfoRuleMapping) Insert() (insertId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	insertId, err = o.Insert(e)
+	err = global.DbMap[utils.DbNameIndex].Create(e).Error
 	return
 }
 
 func (e *ExcelInfoRuleMapping) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(e, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(e).Error
 	return
 }
 
 // GetExcelRuleMappingByExcelInfoId 根据excelInfoId获取规则映射信息
 func GetExcelRuleMappingByExcelInfoId(id int) (items []*ExcelInfoRuleMappingView, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_info_rule_mapping WHERE excel_info_id = ? ORDER BY create_time ASC`
-	_, err = o.Raw(sql, id).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).Find(&items).Error
 	return
 }
 
 // GetExcelRuleMappingById 根据主键Id获取规则映射信息
 func GetExcelRuleMappingById(id int) (item *ExcelInfoRuleMappingView, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM excel_info_rule_mapping WHERE excel_info_rule_mapping_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
 func DeleteExcelRuleMappingById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `DELETE FROM excel_info_rule_mapping WHERE excel_info_rule_mapping_id = ?`
-	_, err = o.Raw(sql, id).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, id).Error
 	return
 }

+ 13 - 16
models/data_manage/excel/excel_sheet.go

@@ -1,13 +1,15 @@
 package excel
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // ExcelSheet excel表格详情表
 type ExcelSheet struct {
-	ExcelSheetId int       `orm:"column(excel_sheet_id);pk"`
+	ExcelSheetId int       `orm:"column(excel_sheet_id);pk" gorm:"primaryKey" `
 	ExcelInfoId  int       `description:"excel的id"`
 	SheetName    string    `description:"sheet名称"`
 	PageNum      int       `description:"总页码数"`
@@ -21,9 +23,7 @@ type ExcelSheet struct {
 
 // Update 更新 excel表格的sheet基础信息
 func (excelSheet *ExcelSheet) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(excelSheet, cols...)
-
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(excelSheet).Error
 	return
 }
 
@@ -42,17 +42,16 @@ func AddExcelSheet(excelInfo *ExcelSheet) (err error) {
 
 // GetAllSheetList 根据excel_id获取所有的sheet
 func GetAllSheetList(excelInfoId int) (item []*ExcelSheet, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
+	FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
 	sql += " ORDER BY sort asc "
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&item).Error
 	return
 }
 
 // SheetItem excel表格详情表
 type SheetItem struct {
-	ExcelSheetId int             `orm:"column(excel_sheet_id);pk" json:"-"`
+	ExcelSheetId int             `orm:"column(excel_sheet_id);pk" gorm:"primaryKey"  json:"-"`
 	ExcelInfoId  int             `description:"excel的id"  json:"-"`
 	SheetName    string          `description:"sheet名称"`
 	PageNum      int             `description:"数据总页码数"`
@@ -62,32 +61,30 @@ type SheetItem struct {
 	CalcChain    string          `description:"计算公式"`
 	ModifyTime   time.Time       `description:"最近修改日期" json:"-"`
 	CreateTime   time.Time       `description:"创建日期"`
-	Data         *ExcelSheetData `description:"excel的数据"`
+	Data         *ExcelSheetData `gorm:"-" description:"excel的数据"`
 }
 
 // GetAllSheetItemList 根据excel_id获取所有的sheet详情
 func GetAllSheetItemList(excelInfoId int) (item []*SheetItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
+	FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
 	sql += " ORDER BY sort asc "
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&item).Error
 	return
 }
 
 // GetAllNoConfigSheetItemList 根据excel_id获取所有的sheet详情
 func GetAllNoConfigSheetItemList(excelInfoId int) (item []*SheetItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_sheet_id,excel_info_id,sheet_name,sort,page_num,create_time
-FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
+	FROM excel_sheet WHERE 1=1 AND excel_info_id = ? `
 	sql += " ORDER BY sort asc "
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&item).Error
 	return
 }
 
 // AddExcelSheetParams excel表格详情表
 type AddExcelSheetParams struct {
-	ExcelSheetId int               `orm:"column(excel_sheet_id);pk"`
+	ExcelSheetId int               `orm:"column(excel_sheet_id);pk" gorm:"primaryKey" `
 	ExcelInfoId  int               `description:"excel的id"`
 	SheetName    string            `description:"sheet名称"`
 	Index        string            `description:"excel数据中的index"`

+ 6 - 8
models/data_manage/excel/excel_sheet_data.go

@@ -1,6 +1,7 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -8,7 +9,7 @@ import (
 
 // ExcelSheetData excel表格详情表
 type ExcelSheetData struct {
-	ExcelDataId  int       `orm:"column(excel_data_id);pk"`
+	ExcelDataId  int       `orm:"column(excel_data_id);pk" gorm:"primaryKey" `
 	ExcelInfoId  int       `description:"数据归属的excel_info的id"`
 	ExcelSheetId int       `description:"数据归属sheet"`
 	Sort         int       `description:"数据排序"`
@@ -44,20 +45,17 @@ func GetSheetDataListBySheetIdListAndPage(excelSheetIdList []int, page int) (ite
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-FROM excel_sheet_data WHERE 1=1 AND excel_sheet_id in (` + utils.GetOrmInReplace(num) + `) AND sort = ? `
-	_, err = o.Raw(sql, excelSheetIdList, page).QueryRows(&items)
+	FROM excel_sheet_data WHERE 1=1 AND excel_sheet_id in (` + utils.GetOrmInReplace(num) + `) AND sort = ? `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelSheetIdList, page).Find(&items).Error
 
 	return
 }
 
 // GetAllSheetDataListByExcelInfoId 根据表格id获取所有的sheet的所有数据详情
 func GetAllSheetDataListByExcelInfoId(excelInfoId int) (items []*ExcelSheetData, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *
-FROM excel_sheet_data WHERE 1=1 AND excel_info_id = ? ORDER BY sort ASC `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&items)
-
+	FROM 	excel_sheet_data WHERE 1=1 AND excel_info_id = ? ORDER BY sort ASC `
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&items).Error
 	return
 }

+ 17 - 19
models/data_manage/excel/excel_worker.go

@@ -1,13 +1,13 @@
 package excel
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 type ExcelWorker struct {
-	ExcelWorkerId   int       `orm:"column(excel_worker_id);pk"`
+	ExcelWorkerId   int       `orm:"column(excel_worker_id);pk" gorm:"primaryKey" `
 	ExcelInfoId     int       `description:"表格id"`
 	SysUserId       int       `description:"创建人"`
 	SysUserRealName string    `description:"创建人姓名"`
@@ -21,62 +21,60 @@ func (e *ExcelWorker) TableName() string {
 
 // 新增 协作人
 func (e *ExcelWorker) AddWorker(excelInfoId int, addWorkers []*ExcelWorker, notDeleteWorkers []string) (err error) {
-	o, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
+
 	defer func() {
 		if err != nil {
-			_ = o.Rollback()
+			_ = to.Rollback()
 		} else {
-			_ = o.Commit()
+			_ = to.Commit()
 		}
 	}()
+
 	if len(notDeleteWorkers) > 0 {
 		sql := `delete from excel_worker where excel_info_id = ? and sys_user_id not in (` + utils.GetOrmInReplace(len(notDeleteWorkers)) + `)`
-		_, err = o.Raw(sql, excelInfoId, notDeleteWorkers).Exec()
+		err = to.Exec(sql, excelInfoId, notDeleteWorkers).Error
 		if err != nil {
 			return
 		}
 	} else if len(notDeleteWorkers) == 0 { // 清空协作人
 		sql := `delete from excel_worker where excel_info_id = ? `
-		_, err = o.Raw(sql, excelInfoId).Exec()
+		err = to.Exec(sql, excelInfoId).Error
 		if err != nil {
 			return
 		}
 	}
 	if len(addWorkers) > 0 {
-		_, err = o.InsertMulti(len(addWorkers), addWorkers)
+		//_, err = o.InsertMulti(len(addWorkers), addWorkers)
+
+		err = to.CreateInBatches(addWorkers, utils.MultiAddNum).Error
 	}
 	return
 }
 
 // 修改
 func (e *ExcelWorker) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(e, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(e).Error
 	return
 }
 
 // 删除
 func (e *ExcelWorker) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(e)
+	sql := ` DELETE FROM excel_worker WHERE excel_worker_id=? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, e.ExcelWorkerId).Error
 	return
 }
 
 // 查询
 func (e *ExcelWorker) GetByExcelInfoId(excelInfoId int) (items []*ExcelWorker, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `select * from excel_worker where excel_info_id = ? `
-	_, err = o.Raw(sql, excelInfoId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, excelInfoId).Find(&items).Error
 	return
 }
 
 // 查询
 func (e *ExcelWorker) GetBySysUserId(sysUserId int) (items []*ExcelWorker, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `select * from excel_worker where sys_user_id = ? `
-	_, err = o.Raw(sql, sysUserId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, sysUserId).Find(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/excel/response/excel_info.go

@@ -66,7 +66,7 @@ type TableDetailResp struct {
 
 // ExcelInfoDetail excel表格详情(前端使用)
 type ExcelInfoDetail struct {
-	ExcelInfoId        int                          `orm:"column(excel_info_id);pk"`
+	ExcelInfoId        int                          `orm:"column(excel_info_id);pk" gorm:"primaryKey" `
 	Source             int                          `description:"表格来源,1:excel插件的表格,2:自定义表格,默认:1"`
 	ExcelType          int                          `description:"表格类型,1:指标列,2:日期列,默认:1"`
 	ExcelName          string                       `description:"表格名称"`

+ 1 - 1
models/data_manage/excel/response/sheet.go

@@ -14,7 +14,7 @@ type FindExcelInfoResp struct {
 
 // FindExcelInfo excel的数据详情
 type FindExcelInfo struct {
-	ExcelInfoId     int                         `orm:"column(excel_info_id);pk"`
+	ExcelInfoId     int                         `orm:"column(excel_info_id);pk" gorm:"primaryKey" `
 	Source          int                         `description:"表格来源,1:excel插件的表格,2:自定义表格,默认:1"`
 	ExcelType       int                         `description:"表格类型,1:指标列,2:日期列,默认:1"`
 	ExcelName       string                      `description:"表格名称"`

+ 29 - 43
models/data_manage/future_good/chart_info_future_good_profit.go

@@ -1,10 +1,10 @@
 package future_good
 
 import (
-	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
+	"fmt"
 	"strconv"
 	"strings"
 	"time"
@@ -12,7 +12,7 @@ import (
 
 // ChartInfoFutureGoodProfit 商品利润图表-扩展信息
 type ChartInfoFutureGoodProfit struct {
-	ChartInfoId  int       `orm:"column(chart_info_id);pk" description:"商品利润图表ID(chart_info表source=5的)"`
+	ChartInfoId  int       `orm:"column(chart_info_id);pk" gorm:"primaryKey"  description:"商品利润图表ID(chart_info表source=5的)"`
 	ProfitName   string    `description:"利润名称"`
 	ProfitNameEn string    `description:"利润英文名称"`
 	XValue       string    `description:"X轴数据值"`
@@ -39,44 +39,39 @@ func (m *ChartInfoFutureGoodProfit) TableName() string {
 }
 
 func (m *ChartInfoFutureGoodProfit) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Insert(m)
-	if err != nil {
-		return
-	}
-	//m.CorrelationChartInfoId = int(id)
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE chart_info_id = ? LIMIT 1`, m.TableName())
-	_, err = o.Raw(sql, m.ChartInfoId).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.ChartInfoId).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) GetItemById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE chart_info_id = ? LIMIT 1`, m.TableName())
-	err = o.Raw(sql, id).QueryRow(&m)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&m).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) GetItemByCondition(condition string, pars []interface{}) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&m)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&m).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*ChartInfoFutureGoodProfit, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -86,17 +81,14 @@ func (m *ChartInfoFutureGoodProfit) GetItemsByCondition(condition string, pars [
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&items).Error
+
 	return
 }
 
 // CreateChartInfoFutureGoodProfitAndEdb 新增商品利润图表
 func CreateChartInfoFutureGoodProfitAndEdb(chartInfo *data_manage.ChartInfo, edbMappingList []*data_manage.ChartEdbMapping, chartInfoFutureGoodProfit *ChartInfoFutureGoodProfit) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -106,25 +98,24 @@ func CreateChartInfoFutureGoodProfitAndEdb(chartInfo *data_manage.ChartInfo, edb
 	}()
 
 	// 新增图表信息
-	newId, err := tx.Insert(chartInfo)
+	err = tx.Create(chartInfo).Error
 	if err != nil {
 		return
 	}
 	// 指标mapping
-	chartInfo.ChartInfoId = int(newId)
-	chartInfoId := int(newId)
 	if len(edbMappingList) > 0 {
 		for i := range edbMappingList {
-			edbMappingList[i].ChartInfoId = chartInfoId
+			edbMappingList[i].ChartInfoId = chartInfo.ChartInfoId
 		}
-		_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
 	}
 	// 商品利润信息
-	chartInfoFutureGoodProfit.ChartInfoId = chartInfoId
-	if _, err = tx.Insert(chartInfoFutureGoodProfit); err != nil {
+	chartInfoFutureGoodProfit.ChartInfoId = chartInfo.ChartInfoId
+	err = tx.Create(chartInfoFutureGoodProfit).Error
+	if err != nil {
 		return
 	}
 	return
@@ -132,11 +123,7 @@ func CreateChartInfoFutureGoodProfitAndEdb(chartInfo *data_manage.ChartInfo, edb
 
 // EditFutureGoodChartInfoAndMapping 修改商品利润图表
 func EditFutureGoodChartInfoAndMapping(chartInfo *data_manage.ChartInfo, newEdbMappingList []*data_manage.ChartEdbMapping, chartInfoFutureGoodProfit *ChartInfoFutureGoodProfit, chartItemUpdateCol, extraUpdateCol []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -146,14 +133,14 @@ func EditFutureGoodChartInfoAndMapping(chartInfo *data_manage.ChartInfo, newEdbM
 	}()
 
 	// 更改表信息
-	_, err = to.Update(chartInfo, chartItemUpdateCol...)
+	err = to.Select(chartItemUpdateCol).Updates(chartInfo).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
 	}
 
 	// 更改扩展图表信息
-	_, err = to.Update(chartInfoFutureGoodProfit, extraUpdateCol...)
+	err = to.Select(extraUpdateCol).Updates(chartInfoFutureGoodProfit).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info_future_good_profit Err:", err.Error())
 		return err
@@ -165,8 +152,8 @@ func EditFutureGoodChartInfoAndMapping(chartInfo *data_manage.ChartInfo, newEdbM
 		// 查询该指标是否存在,如果存在的话,那么就去修改,否则新增
 		var tmpChartEdbMapping *data_manage.ChartEdbMapping
 		csql := `SELECT *  FROM chart_edb_mapping WHERE chart_info_id=? AND edb_info_id=? AND source = ? `
-		err = to.Raw(csql, chartInfo.ChartInfoId, v.EdbInfoId, v.Source).QueryRow(&tmpChartEdbMapping)
-		if err != nil && err.Error() != utils.ErrNoRow() {
+		err = to.Raw(csql, chartInfo.ChartInfoId, v.EdbInfoId, v.Source).First(&tmpChartEdbMapping).Error
+		if err != nil && !utils.IsErrNoRow(err) {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
 		}
@@ -184,19 +171,18 @@ func EditFutureGoodChartInfoAndMapping(chartInfo *data_manage.ChartInfo, newEdbM
 			mapItem.IsAxis = 1
 			mapItem.EdbInfoType = 1
 			mapItem.Source = v.Source
-			tmpId, err := to.Insert(mapItem)
+			err = to.Create(mapItem).Error
 			if err != nil {
 				fmt.Println("AddChartEdbMapping Err:" + err.Error())
 				return err
 			}
-			mapItem.ChartEdbMappingId = int(tmpId)
 			chartEdbMappingIdList = append(chartEdbMappingIdList, strconv.Itoa(mapItem.ChartEdbMappingId))
 		}
 	}
 	if len(chartEdbMappingIdList) > 0 {
 		chartEdbMappingIdStr := strings.Join(chartEdbMappingIdList, ",")
 		dsql := `DELETE FROM chart_edb_mapping WHERE chart_info_id=? AND chart_edb_mapping_id NOT IN(` + chartEdbMappingIdStr + `)`
-		_, err = to.Raw(dsql, chartInfo.ChartInfoId).Exec()
+		err = to.Exec(dsql, chartInfo.ChartInfoId).Error
 		if err != nil {
 			fmt.Println("delete err:" + err.Error())
 			return err

+ 42 - 42
models/data_manage/future_good/future_good_chart_classify.go

@@ -1,14 +1,15 @@
 package future_good
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // FutureGoodChartClassify future_good_chart表格分类
 type FutureGoodChartClassify struct {
-	FutureGoodChartClassifyId   int       `orm:"column(future_good_chart_classify_id);pk"`
+	FutureGoodChartClassifyId   int       `orm:"column(future_good_chart_classify_id);pk" gorm:"primaryKey" `
 	FutureGoodChartClassifyName string    `description:"分类名称"`
 	ParentId                    int       `description:"父级id"`
 	SysUserId                   int       `description:"创建人id"`
@@ -22,38 +23,37 @@ type FutureGoodChartClassify struct {
 }
 
 // AddFutureGoodChartClassify 添加future_good_chart分类
-func AddFutureGoodChartClassify(item *FutureGoodChartClassify) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+func AddFutureGoodChartClassify(item *FutureGoodChartClassify) (err error) {
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 	return
 }
 
 // GetFutureGoodChartClassifyCount 获取同级分类下存在同名分类的数量
 func GetFutureGoodChartClassifyCount(FutureGoodChartClassifyName string, parentId int) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM future_good_chart_classify WHERE parent_id=? AND future_good_chart_classify_name=? AND is_delete=0 `
-	err = o.Raw(sql, parentId, FutureGoodChartClassifyName).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, FutureGoodChartClassifyName).Scan(&count).Error
+
 	return
 }
 
 func GetFutureGoodChartClassifyById(classifyId int) (item *FutureGoodChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_chart_classify WHERE future_good_chart_classify_id=? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
+
 	return
 }
 
 func GetFutureGoodChartClassifyByParentId(parentId int) (items []*FutureGoodChartClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM future_good_chart_classify WHERE parent_id=? AND is_delete=0 order by sort asc,future_good_chart_classify_id asc`
-	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&items).Error
+
 	return
 }
 
 func GetFutureGoodChartClassifyAll() (items []*FutureGoodChartClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM future_good_chart_classify WHERE parent_id<>0 AND is_delete=0 order by sort asc,future_good_chart_classify_id asc`
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&items).Error
+
 	return
 }
 
@@ -62,108 +62,108 @@ type FutureGoodChartClassifyItems struct {
 	FutureGoodChartInfoId       int `description:"表格id"`
 	FutureGoodChartClassifyName string
 	ParentId                    int
-	Level                       int    `description:"层级"`
-	Sort                        int    `description:"排序字段,越小越靠前,默认值:10"`
-	UniqueCode                  string `description:"唯一编码"`
-	SysUserId                   int    `description:"创建人id"`
-	SysUserRealName             string `description:"创建人姓名"`
-	StartDate                   string `description:"自定义开始日期"`
-	Children                    []*FutureGoodChartClassifyItems
+	Level                       int                             `description:"层级"`
+	Sort                        int                             `description:"排序字段,越小越靠前,默认值:10"`
+	UniqueCode                  string                          `description:"唯一编码"`
+	SysUserId                   int                             `description:"创建人id"`
+	SysUserRealName             string                          `description:"创建人姓名"`
+	StartDate                   string                          `description:"自定义开始日期"`
+	Children                    []*FutureGoodChartClassifyItems `gorm:"-"`
 }
 
 func GetFutureGoodChartClassifyByCondition(condition string, pars []interface{}) (item *FutureGoodChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM future_good_chart_classify WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&item).Error
+
 	return
 }
 
 // GetNextFutureGoodChartClassifyByCondition 获取下一个分类
 func GetNextFutureGoodChartClassifyByCondition(condition string, pars []interface{}) (item *FutureGoodChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM future_good_chart_classify WHERE 1=1 AND is_delete=0 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += " ORDER BY sort asc , create_time ASC LIMIT 1 "
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
+
 	return
 }
 
 // GetFirstFutureGoodChartClassifyByParentId 获取当前父级图表分类下的排序第一条的数据
 func GetFirstFutureGoodChartClassifyByParentId(parentId int) (item *FutureGoodChartClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM future_good_chart_classify WHERE parent_id=? AND is_delete=0 order by sort asc,future_good_chart_classify_id asc limit 1`
-	err = o.Raw(sql, parentId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).First(&item).Error
+
 	return
 }
 
 // UpdateFutureGoodChartClassifySortByParentId 根据图表父类id更新排序
 func UpdateFutureGoodChartClassifySortByParentId(parentId, classifyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` update future_good_chart_classify set sort = ` + updateSort + ` WHERE parent_id=? and sort > ? AND is_delete=0 `
 	if classifyId > 0 {
 		sql += ` or ( future_good_chart_classify_id > ` + fmt.Sprint(classifyId) + ` and sort= ` + fmt.Sprint(nowSort) + `)`
 	}
-	_, err = o.Raw(sql, parentId, nowSort).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, parentId, nowSort).Error
+
 	return
 }
 
 // Update 更新图表分类基础信息
 func (FutureGoodChartClassify *FutureGoodChartClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(FutureGoodChartClassify, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(FutureGoodChartClassify).Error
+
 	return
 }
 
 // GetFutureGoodChartClassifyMaxSort 获取图表分类下最大的排序数
 func GetFutureGoodChartClassifyMaxSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT Max(sort) AS sort FROM future_good_chart_classify WHERE parent_id=? AND is_delete=0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&sort).Error
+
 	return
 }
 
 type FutureGoodChartClassifyView struct {
-	FutureGoodChartClassifyId   int    `orm:"column(future_good_chart_classify_id);pk"`
+	FutureGoodChartClassifyId   int    `orm:"column(future_good_chart_classify_id);pk" gorm:"primaryKey" `
 	FutureGoodChartClassifyName string `description:"分类名称"`
 	ParentId                    int    `description:"父级id"`
 }
 
 func GetFutureGoodChartClassifyViewById(classifyId int) (item *FutureGoodChartClassifyView, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_chart_classify WHERE future_good_chart_classify_id=? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&item).Error
+
 	return
 }
 
-//用于分类展示
+// 用于分类展示
 func GetChartInfoAll() (items []*FutureGoodChartClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT chart_info_id,chart_classify_id,chart_name AS chart_classify_name,
              unique_code,sys_user_id,sys_user_real_name,date_type,start_date,end_date,chart_type,calendar,season_start_date,season_end_date
             FROM chart_info ORDER BY sort asc,create_time ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&items).Error
+
 	return
 }
 
 // GetNoContentFutureGoodInfoAll 获取不含content的表格列表 用于分类展示
 func GetNoContentFutureGoodInfoAll() (items []FutureGoodChartClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
              unique_code,sys_user_id,sys_user_real_name
             FROM excel_info where is_delete=0 ORDER BY sort asc,create_time desc `
-	_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&items).Error
+
 	return
 }
 
 // GetFutureGoodChartInfoCountByClassifyId 根据分类id获取名下表格数量
 func GetFutureGoodChartInfoCountByClassifyId(classifyId int) (total int64, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT count(1) total FROM excel_info WHERE excel_classify_id = ? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&total).Error
+
 	return
 }

+ 18 - 23
models/data_manage/future_good/future_good_edb_info.go

@@ -1,13 +1,15 @@
 package future_good
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // FutureGoodEdbInfo 期货指标表
 type FutureGoodEdbInfo struct {
-	FutureGoodEdbInfoId int       `orm:"column(future_good_edb_info_id);pk"`
+	FutureGoodEdbInfoId int       `orm:"column(future_good_edb_info_id);pk" gorm:"primaryKey" `
 	FutureGoodEdbCode   string    `description:"期货指标code"`
 	FutureGoodEdbName   string    `description:"期货指标名称"`
 	FutureGoodEdbNameEn string    `description:"期货指标英文名称"`
@@ -32,10 +34,9 @@ type FutureGoodEdbInfo struct {
 
 // GetFutureGoodEdbInfo 期货指标
 func GetFutureGoodEdbInfo(edbInfoId int) (item *FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE future_good_edb_info_id = ? `
 	sql += ` ORDER BY future_good_edb_info_id DESC `
-	err = o.Raw(sql, edbInfoId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).First(&item).Error
 	return
 }
 
@@ -50,55 +51,49 @@ func GetFutureGoodEdbInfoByCode(futureGoodEdbCode string) (item *FutureGoodEdbIn
 
 // GetFutureGoodEdbInfoList 获取指标数据列表
 func GetFutureGoodEdbInfoList(condition string, pars []interface{}) (list []*FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY future_good_edb_info_id DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&list).Error
+
 	return
 }
 
 // GetAllFutureGoodEdbInfoList 获取指标数据列表
 func GetAllFutureGoodEdbInfoList() (list []*FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info  ORDER BY future_good_edb_info_id DESC `
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&list).Error
+
 	return
 }
 
 // GetFutureGoodEdbInfoListByParentId 根据父级ID获取指标数据列表
 func GetFutureGoodEdbInfoListByParentId(parentId int) (list []*FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE parent_id = ? or  future_good_edb_info_id = ? ORDER BY future_good_edb_info_id ASC `
-	_, err = o.Raw(sql, parentId, parentId).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, parentId).Scan(&list).Error
+
 	return
 }
 
 // GetChildFutureGoodEdbInfoListByParentId 根据父级ID获取下面所有的指标数据列表
 func GetChildFutureGoodEdbInfoListByParentId(parentId int) (list []*FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE parent_id = ? ORDER BY future_good_edb_info_id ASC `
-	_, err = o.Raw(sql, parentId).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&list).Error
 	return
 }
 
 // AddFutureGoodEdbInfo 添加期货数据库指标
 func AddFutureGoodEdbInfo(item *FutureGoodEdbInfo) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.FutureGoodEdbInfoId = int(lastId)
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 	return
 }
 
 // Update 更新指标基础信息
 func (FutureGoodEdbInfo *FutureGoodEdbInfo) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(FutureGoodEdbInfo, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(FutureGoodEdbInfo).Error
+
 	return
 }
 
@@ -112,13 +107,13 @@ type FutureGoodEdbInfoGroupListResp struct {
 
 // GetFutureGoodEdbInfoGroupList 获取分組指标数据列表
 func GetFutureGoodEdbInfoGroupList(condition string, pars []interface{}) (list []*FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY future_good_edb_info_id DESC `
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&list).Error
+
 	return
 }
 
@@ -129,13 +124,13 @@ type FutureGoodExchange struct {
 
 // GetFutureGoodEdbExchangeList 获取分組指标数据列表
 func GetFutureGoodEdbExchangeList(condition string, pars []interface{}) (list []FutureGoodExchange, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT exchange,exchange_en FROM future_good_edb_info WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` GROUP BY exchange `
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&list).Error
+
 	return
 }
 

+ 13 - 11
models/data_manage/future_good/future_good_edb_info_data.go

@@ -1,15 +1,15 @@
 package future_good
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
 
 // FutureGoodEdbData 期货指标数据的表
 type FutureGoodEdbData struct {
-	FutureGoodEdbDataId int       `orm:"column(future_good_edb_data_id);pk"`
+	FutureGoodEdbDataId int       `orm:"column(future_good_edb_data_id);pk" gorm:"primaryKey" `
 	FutureGoodEdbInfoId int       `description:"期货指标id"`
 	FutureGoodEdbCode   string    `description:"期货指标code"`
 	DataTime            time.Time `description:"数据日期"`
@@ -35,7 +35,7 @@ type FutureGoodEdbDataListResp struct {
 
 // FutureGoodEdbDataItem 期货指标数据列表数据
 type FutureGoodEdbDataItem struct {
-	FutureGoodEdbDataId int     `orm:"column(future_good_edb_data_id);pk"`
+	FutureGoodEdbDataId int     `orm:"column(future_good_edb_data_id);pk" gorm:"primaryKey" `
 	FutureGoodEdbInfoId int     `description:"期货指标id"`
 	FutureGoodEdbCode   string  `description:"期货指标code"`
 	FutureGoodEdbName   string  `description:"期货指标名称"`
@@ -56,24 +56,26 @@ type FutureGoodEdbDataItem struct {
 
 // GetFutureGoodEdbDataListCount 获取期货指标数据汇总数
 func GetFutureGoodEdbDataListCount(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM future_good_edb_data WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
+
 	return
 }
 
 // GetFutureGoodEdbDataList 获取期货指标数据列表
 func GetFutureGoodEdbDataList(condition string, pars []interface{}, startSize, pageSize int) (list []*FutureGoodEdbDataItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_data WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += `ORDER BY data_time desc,modify_time DESC LIMIT ?,?`
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
+	pars = append(pars, startSize)
+	pars = append(pars, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&list).Error
+
 	return
 }
 
@@ -98,8 +100,8 @@ func GetFutureGoodEdbDataListByDate(futureGoodEdbInfoId int, startDate, endDate
 	}
 
 	sql += ` ORDER BY data_time ASC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, futureGoodEdbInfoId, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, utils.ForwardPars(pars, futureGoodEdbInfoId)...).Scan(&list).Error
+
 	return
 }
 
@@ -116,7 +118,7 @@ func GetFutureGoodEdbDataListByIdsAndDate(futureGoodEdbInfoIds []int, startDate,
 	}
 
 	sql += ` ORDER BY data_time ASC `
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, futureGoodEdbInfoIds, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, utils.ForwardPars(pars, futureGoodEdbInfoIds)...).Scan(&list).Error
+
 	return
 }

+ 20 - 35
models/data_manage/line_equation/line_equation.go

@@ -1,8 +1,9 @@
 package line_equation
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/utils"
 )
 
 type BatchAddChart struct {
@@ -13,11 +14,7 @@ type BatchAddChart struct {
 
 // CreateLineEquationChartAndEdb 批量新增拟合方程图表
 func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGraphConfig, batchAddChartList []BatchAddChart) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -26,21 +23,18 @@ func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGrap
 		}
 	}()
 	// 新增批量配置
-	newMultipleGraphConfigId, err := tx.Insert(multipleGraphConfig)
+	err = tx.Create(multipleGraphConfig).Error
 	if err != nil {
 		return
 	}
-	multipleGraphConfig.MultipleGraphConfigId = int(newMultipleGraphConfigId)
 
 	for k, v := range batchAddChartList {
 		// 新增图表信息
 		chartInfo := v.ChartInfo
-		newId, tmpErr := tx.Insert(chartInfo)
-		if tmpErr != nil {
-			err = tmpErr
+		err = tx.Create(chartInfo).Error
+		if err != nil {
 			return
 		}
-		chartInfo.ChartInfoId = int(newId)
 		batchAddChartList[k].ChartInfo = chartInfo
 
 		// 指标mapping
@@ -49,7 +43,7 @@ func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGrap
 			for i := range edbMappingList {
 				edbMappingList[i].ChartInfoId = chartInfo.ChartInfoId
 			}
-			_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+			err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 			if err != nil {
 				return
 			}
@@ -60,12 +54,10 @@ func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGrap
 		multipleGraphConfigChartMapping := v.MultipleGraphConfigChartMapping
 		multipleGraphConfigChartMapping.ChartInfoId = chartInfo.ChartInfoId
 		multipleGraphConfigChartMapping.MultipleGraphConfigId = multipleGraphConfig.MultipleGraphConfigId
-		newMultipleGraphConfigChartMappingId, tmpErr := tx.Insert(v.MultipleGraphConfigChartMapping)
-		if tmpErr != nil {
-			err = tmpErr
+		err = tx.Create(v.MultipleGraphConfigChartMapping).Error
+		if err != nil {
 			return
 		}
-		multipleGraphConfigChartMapping.Id = int(newMultipleGraphConfigChartMappingId)
 	}
 
 	return
@@ -73,11 +65,7 @@ func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGrap
 
 // CreateAndEditLineEquationChartAndEdb 批量新增/编辑拟合方程图表
 func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGraphConfig, batchAddChartList []BatchAddChart, updateMultipleGraphConfigCols, updateChartCols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -86,7 +74,7 @@ func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.Multi
 		}
 	}()
 	// 编辑批量配置
-	_, err = tx.Update(multipleGraphConfig, updateMultipleGraphConfigCols...)
+	err = tx.Select(updateMultipleGraphConfigCols).Updates(multipleGraphConfig).Error
 	if err != nil {
 		return
 	}
@@ -97,16 +85,15 @@ func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.Multi
 		var isDelMapping bool
 		{
 			if chartInfo.ChartInfoId <= 0 {
-				newId, tmpErr := tx.Insert(chartInfo)
-				if tmpErr != nil {
-					err = tmpErr
+				err = tx.Create(chartInfo).Error
+				if err != nil {
 					return
 				}
-				chartInfo.ChartInfoId = int(newId)
+				chartInfo.ChartInfoId = chartInfo.ChartInfoId
 				batchAddChartList[k].ChartInfo = chartInfo
 			} else {
 				// 更改图表信息
-				_, err = tx.Update(chartInfo, updateChartCols...)
+				err = tx.Select(updateChartCols).Updates(chartInfo).Error
 				if err != nil {
 					return
 				}
@@ -119,7 +106,7 @@ func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.Multi
 			// 先删除图表关联的指标关系,然后再新增
 			if isDelMapping {
 				sql := ` DELETE FROM  chart_edb_mapping WHERE chart_info_id=? `
-				_, err = tx.Raw(sql, chartInfo.ChartInfoId).Exec()
+				err = tx.Exec(sql, chartInfo.ChartInfoId).Error
 				if err != nil {
 					return
 				}
@@ -130,7 +117,7 @@ func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.Multi
 				for i := range edbMappingList {
 					edbMappingList[i].ChartInfoId = chartInfo.ChartInfoId
 				}
-				_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+				err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 				if err != nil {
 					return
 				}
@@ -144,16 +131,14 @@ func CreateAndEditLineEquationChartAndEdb(multipleGraphConfig *data_manage.Multi
 			if multipleGraphConfigChartMapping.Id <= 0 {
 				multipleGraphConfigChartMapping.ChartInfoId = chartInfo.ChartInfoId
 				multipleGraphConfigChartMapping.MultipleGraphConfigId = multipleGraphConfig.MultipleGraphConfigId
-				newMultipleGraphConfigChartMappingId, tmpErr := tx.Insert(v.MultipleGraphConfigChartMapping)
-				if tmpErr != nil {
-					err = tmpErr
+				err = tx.Create(v.MultipleGraphConfigChartMapping).Error
+				if err != nil {
 					return
 				}
-				multipleGraphConfigChartMapping.Id = int(newMultipleGraphConfigChartMappingId)
 			} else {
 				if multipleGraphConfigChartMapping.ChartInfoId != chartInfo.ChartInfoId {
 					multipleGraphConfigChartMapping.ChartInfoId = chartInfo.ChartInfoId
-					_, err = tx.Update(multipleGraphConfigChartMapping, "ChartInfoId")
+					err = tx.Select("ChartInfoId").Updates(multipleGraphConfigChartMapping).Error
 					if err != nil {
 						return
 					}

+ 12 - 46
models/data_manage/line_feature/line_feature.go

@@ -1,10 +1,10 @@
 package line_feature
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -17,11 +17,7 @@ type BatchAddChart struct {
 }
 
 func CreateLineFeatureChartAndEdb(chartInfo *data_manage.ChartInfo, edbMappingList []*data_manage.ChartEdbMapping) (chartInfoId int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
-	if err != nil {
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
@@ -31,18 +27,18 @@ func CreateLineFeatureChartAndEdb(chartInfo *data_manage.ChartInfo, edbMappingLi
 	}()
 
 	// 新增图表信息
-	newId, err := tx.Insert(chartInfo)
+	err = tx.Create(chartInfo).Error
 	if err != nil {
 		return
 	}
+	chartInfoId = chartInfo.ChartInfoId
+
 	// 指标mapping
-	chartInfo.ChartInfoId = int(newId)
-	chartInfoId = int(newId)
 	if len(edbMappingList) > 0 {
 		for i := range edbMappingList {
 			edbMappingList[i].ChartInfoId = chartInfoId
 		}
-		_, err = tx.InsertMulti(len(edbMappingList), edbMappingList)
+		err = tx.CreateInBatches(edbMappingList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -53,11 +49,7 @@ func CreateLineFeatureChartAndEdb(chartInfo *data_manage.ChartInfo, edbMappingLi
 
 // EditLineFeatureChartAndMapping 批量新增/编辑拟合方程图表
 func EditLineFeatureChartAndMapping(req *data_manage.EditChartInfoReq, edbInfoIdStr string, calendar string, dateType, disabled int, extraConfig string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = to.Rollback()
@@ -119,7 +111,7 @@ func EditLineFeatureChartAndMapping(req *data_manage.EditChartInfoReq, edbInfoId
 	sql += `WHERE chart_info_id = ?`
 
 	pars = append(pars, req.ChartInfoId)
-	_, err = to.Raw(sql, pars).Exec()
+	err = to.Exec(sql, pars).Error
 	if err != nil {
 		fmt.Println("UPDATE  chart_info Err:", err.Error())
 		return err
@@ -129,30 +121,13 @@ func EditLineFeatureChartAndMapping(req *data_manage.EditChartInfoReq, edbInfoId
 		// 查询该指标是否存在,如果存在的话,那么就去修改,否则新增
 		var tmpChartEdbMapping *data_manage.ChartEdbMapping
 		csql := `SELECT *  FROM chart_edb_mapping WHERE chart_info_id=? AND edb_info_id=? AND source = ? `
-		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId, utils.CHART_SOURCE_CORRELATION).QueryRow(&tmpChartEdbMapping)
-		if err != nil && err.Error() != utils.ErrNoRow() {
+		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId, utils.CHART_SOURCE_CORRELATION).First(&tmpChartEdbMapping).Error
+		if err != nil && !utils.IsErrNoRow(err) {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
 		}
 		if tmpChartEdbMapping != nil {
 			chartEdbMappingIdList = append(chartEdbMappingIdList, strconv.Itoa(tmpChartEdbMapping.ChartEdbMappingId))
-			//tmpChartEdbMapping.ModifyTime = time.Now()
-			//tmpChartEdbMapping.MaxData = v.MaxData
-			//tmpChartEdbMapping.MinData = v.MinData
-			//tmpChartEdbMapping.IsOrder = v.IsOrder
-			//tmpChartEdbMapping.IsAxis = v.IsAxis
-			//tmpChartEdbMapping.EdbInfoType = v.EdbInfoType
-			//tmpChartEdbMapping.LeadValue = v.LeadValue
-			//tmpChartEdbMapping.LeadUnit = v.LeadUnit
-			//tmpChartEdbMapping.ChartStyle = v.ChartStyle
-			//tmpChartEdbMapping.ChartColor = v.ChartColor
-			//tmpChartEdbMapping.PredictChartColor = v.PredictChartColor
-			//tmpChartEdbMapping.ChartWidth = v.ChartWidth
-			//_, err = to.Update(tmpChartEdbMapping, "ModifyTime", "MaxData", "MinData", "IsOrder", "IsAxis", "EdbInfoType", "LeadValue", "LeadUnit", "ChartStyle", "ChartColor", "PredictChartColor", "ChartWidth")
-			//if err != nil {
-			//	fmt.Println("chart_edb_mapping Err:" + err.Error())
-			//	return err
-			//}
 		} else {
 			mapItem := new(data_manage.ChartEdbMapping)
 			mapItem.ChartInfoId = req.ChartInfoId
@@ -161,31 +136,22 @@ func EditLineFeatureChartAndMapping(req *data_manage.EditChartInfoReq, edbInfoId
 			mapItem.ModifyTime = time.Now()
 			timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 			mapItem.UniqueCode = utils.MD5(utils.CHART_PREFIX + "_" + timestamp + "_" + strconv.Itoa(v.EdbInfoId))
-			//mapItem.MaxData = v.MaxData
-			//mapItem.MinData = v.MinData
 			mapItem.IsOrder = true
 			mapItem.IsAxis = 1
 			mapItem.EdbInfoType = 1
-			//mapItem.LeadValue = v.LeadValue
-			//mapItem.LeadUnit = v.LeadUnit
-			//mapItem.ChartStyle = v.ChartStyle
-			//mapItem.ChartColor = v.ChartColor
-			//mapItem.PredictChartColor = v.PredictChartColor
-			//mapItem.ChartWidth = v.ChartWidth
 			mapItem.Source = utils.CHART_SOURCE_CORRELATION
-			tmpId, err := to.Insert(mapItem)
+			err = to.Create(mapItem).Error
 			if err != nil {
 				fmt.Println("AddChartEdbMapping Err:" + err.Error())
 				return err
 			}
-			mapItem.ChartEdbMappingId = int(tmpId)
 			chartEdbMappingIdList = append(chartEdbMappingIdList, strconv.Itoa(mapItem.ChartEdbMappingId))
 		}
 	}
 	if len(chartEdbMappingIdList) > 0 {
 		chartEdbMappingIdStr := strings.Join(chartEdbMappingIdList, ",")
 		dsql := `DELETE FROM chart_edb_mapping WHERE chart_info_id=? AND chart_edb_mapping_id NOT IN(` + chartEdbMappingIdStr + `)`
-		_, err = to.Raw(dsql, req.ChartInfoId).Exec()
+		err = to.Exec(dsql, req.ChartInfoId).Error
 		if err != nil {
 			fmt.Println("delete err:" + err.Error())
 			return err

+ 5 - 7
models/data_manage/stl/calculate_stl_config.go

@@ -3,7 +3,8 @@ package stl
 import (
 	"time"
 
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 )
 
 type CalculateStlConfig struct {
@@ -15,20 +16,17 @@ type CalculateStlConfig struct {
 }
 
 func (c *CalculateStlConfig) Insert() (insertId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	insertId, err = o.Insert(c)
+	err = global.DbMap[utils.DbNameIndex].Create(c).Error
 	return
 }
 
 func (c *CalculateStlConfig) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(c, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(c).Error
 	return
 }
 
 func GetCalculateStlConfigById(id int) (item *CalculateStlConfig, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := "SELECT * FROM calculate_stl_config WHERE calculate_stl_config_id =?"
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }

+ 5 - 4
models/data_manage/stl/calculate_stl_config_mapping.go

@@ -3,6 +3,8 @@ package stl
 import (
 	"time"
 
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 )
 
@@ -18,21 +20,20 @@ type CalculateStlConfigMapping struct {
 func (c *CalculateStlConfigMapping) Insert() (insertId int64, err error) {
 	o := orm.NewOrmUsingDB("data")
 	insertId, err = o.Insert(c)
+	err = global.DbMap[utils.DbNameIndex].Create(c).Error
 	return
 }
 
 // GetCalculateStlConfigMappingIdByEdbInfoId 获取配置文件id
 func GetCalculateStlConfigMappingIdByEdbInfoId(edbInfoId int) (configId int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT calculate_stl_config_id FROM calculate_stl_config_mapping WHERE edb_info_id=? LIMIT 1`
-	err = o.Raw(sql, edbInfoId).QueryRow(&configId)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Scan(&configId).Error
 	return
 }
 
 // GetCalculateStlConfigMappingByConfigId 根据配置文件id获取配置文件映射信息
 func GetCalculateStlConfigMappingByConfigId(configId int) (items []*CalculateStlConfigMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM calculate_stl_config_mapping WHERE calculate_stl_config_id=?`
-	_, err = o.Raw(sql, configId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&items).Error
 	return
 }

+ 6 - 8
models/data_manage/stl/edb_data_calculate_stl.go

@@ -1,6 +1,7 @@
 package stl
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"time"
 
@@ -26,23 +27,20 @@ func GetEdbDataCalculateStlByEdbCode(edbCode string) (items []*EdbDataCalculateS
 }
 
 func DeleteAndInsertEdbDataCalculateStl(edbCode string, dataList []*EdbDataCalculateStl) (err error) {
-	tx, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
-			tx.Rollback()
+			_ = to.Rollback()
 		} else {
-			tx.Commit()
+			_ = to.Commit()
 		}
 	}()
 	sql := `DELETE FROM edb_data_calculate_stl WHERE edb_code =?`
-	_, err = tx.Raw(sql, edbCode).Exec()
+	err = to.Exec(sql, edbCode).Error
 	if err != nil {
 		return
 	}
-	_, err = tx.InsertMulti(utils.MultiAddNum, dataList)
+	err = to.CreateInBatches(dataList, len(dataList)).Error
 	return
 }
 

+ 4 - 2
models/data_manage/supply_analysis/base_from_stock_plant_data.go

@@ -1,6 +1,7 @@
 package supply_analysis
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -19,9 +20,9 @@ type BaseFromStockPlantData struct {
 
 // GetDataVarietyEdbInfoByVarietyId 根据品种指标id获取所有的数据
 func GetDataVarietyEdbInfoByVarietyId(varietyEdbId int) (items []*BaseFromStockPlantData, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_stock_plant_data AS a WHERE a.variety_edb_id = ? ORDER BY data_time desc `
-	_, err = o.Raw(sql, varietyEdbId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyEdbId).Find(&items).Error
+
 	return
 }
 
@@ -41,6 +42,7 @@ func GetVarietyEdbData(varietyEdbId int, startDate, endDate string) (items []*Ba
 	sql += ` ORDER BY data_time ASC `
 	o := orm.NewOrmUsingDB("data")
 	_, err = o.Raw(sql, varietyEdbId, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, utils.ForwardPars(pars, varietyEdbId)...).Scan(&items).Error
 	return
 }
 

+ 45 - 40
models/data_manage/supply_analysis/variety.go

@@ -1,13 +1,15 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"database/sql"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // Variety variety 品种表
 type Variety struct {
-	VarietyId                 int       `orm:"column(variety_id);pk"`
+	VarietyId                 int       `orm:"column(variety_id);pk" gorm:"primaryKey" `
 	VarietyName               string    `description:"品种名称"`
 	LastUpdateSysUserId       int       `description:"最后更新人id"`
 	LastUpdateSysUserRealName string    `description:"最后更新人名称"`
@@ -20,33 +22,28 @@ type Variety struct {
 
 // GetVarietyById 根据品种id获取品种详情
 func GetVarietyById(id int) (item *Variety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety WHERE variety_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
+
 	return
 }
 
 // GetVarietyByName 根据品种名称获取品种详情
 func GetVarietyByName(name string) (item *Variety, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety WHERE variety_name = ?`
-	err = o.Raw(sql, name).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, name).First(&item).Error
 	return
 }
 
 // AddVariety 添加品种
 func AddVariety(item *Variety) (lastId int64, err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err = o.Insert(item)
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 	return
 }
 
 // CreateVariety 添加品种
 func CreateVariety(item *Variety, adminIdList []int) (err error) {
-	to, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 
 	defer func() {
 		if err != nil {
@@ -55,13 +52,11 @@ func CreateVariety(item *Variety, adminIdList []int) (err error) {
 			_ = to.Commit()
 		}
 	}()
-	lastId, err := to.Insert(item)
+	err = to.Create(item).Error
 	if err != nil {
 		return
 	}
 
-	item.VarietyId = int(lastId)
-
 	varietyAdminPermissionList := make([]*VarietyAdminPermission, 0)
 	for _, adminId := range adminIdList {
 		varietyAdminPermissionList = append(varietyAdminPermissionList, &VarietyAdminPermission{
@@ -72,7 +67,7 @@ func CreateVariety(item *Variety, adminIdList []int) (err error) {
 		})
 	}
 	if len(varietyAdminPermissionList) > 0 {
-		_, err = to.InsertMulti(len(varietyAdminPermissionList), varietyAdminPermissionList)
+		err = to.CreateInBatches(varietyAdminPermissionList, utils.MultiAddNum).Error
 	}
 
 	return
@@ -80,10 +75,7 @@ func CreateVariety(item *Variety, adminIdList []int) (err error) {
 
 // EditVariety 编辑品种
 func EditVariety(item *Variety, adminIdList []int) (err error) {
-	to, err := orm.NewOrmUsingDB("data").Begin()
-	if err != nil {
-		return
-	}
+	to := global.DbMap[utils.DbNameIndex].Begin()
 
 	defer func() {
 		if err != nil {
@@ -93,14 +85,14 @@ func EditVariety(item *Variety, adminIdList []int) (err error) {
 		}
 	}()
 
-	_, err = to.Update(item, "VarietyName", "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime")
+	err = to.Select("VarietyName", "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime").Updates(item).Error
 	if err != nil {
 		return
 	}
 
 	// 删除历史的权限配置
 	sql := `DELETE FROM variety_admin_permission where variety_id = ? `
-	_, err = to.Raw(sql, item.VarietyId).Exec()
+	err = to.Exec(sql, item.VarietyId).Error
 	if err != nil {
 		return
 	}
@@ -116,7 +108,7 @@ func EditVariety(item *Variety, adminIdList []int) (err error) {
 		})
 	}
 	if len(varietyAdminPermissionList) > 0 {
-		_, err = to.InsertMulti(len(varietyAdminPermissionList), varietyAdminPermissionList)
+		err = to.CreateInBatches(varietyAdminPermissionList, utils.MultiAddNum).Error
 	}
 
 	return
@@ -124,7 +116,7 @@ func EditVariety(item *Variety, adminIdList []int) (err error) {
 
 // VarietyItem 列表页返回的数据结构
 type VarietyItem struct {
-	VarietyId                 int           `orm:"column(variety_id);pk"`
+	VarietyId                 int           `orm:"column(variety_id);pk" gorm:"primaryKey" `
 	VarietyName               string        `description:"品种名称"`
 	ProductionDay             int           `description:"生产天数"`
 	LastUpdateSysUserId       int           `description:"最后更新人id"`
@@ -132,7 +124,7 @@ type VarietyItem struct {
 	PermissionUserId          string        `description:"有操作权限的用户id"`
 	ModifyTime                string        `description:"修改时间"`
 	CreateTime                string        `description:"创建时间"`
-	Button                    VarietyButton `description:"操作按钮权限"`
+	Button                    VarietyButton `gorm:"-" description:"操作按钮权限"`
 }
 
 type VarietyButton struct {
@@ -143,7 +135,6 @@ type VarietyButton struct {
 
 // GetListBySuperAdminPage 不区分是否有分析权限的获取分页数据
 func (item Variety) GetListBySuperAdminPage(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*VarietyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	baseSql := ` FROM ( SELECT a.*, GROUP_CONCAT(DISTINCT b.sys_user_id ORDER BY b.sys_user_id ASC SEPARATOR ',') AS permission_user_id FROM variety a 
 				LEFT JOIN variety_admin_permission b on a.variety_id=b.variety_id 
 				LEFT JOIN variety_edb_info c on a.variety_id=c.variety_id WHERE 1=1 `
@@ -153,20 +144,26 @@ func (item Variety) GetListBySuperAdminPage(condition string, pars []interface{}
 	baseSql += ` GROUP BY a.variety_id ) d `
 	// 数据总数
 	totalSql := `SELECT COUNT(1) total ` + baseSql
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	var totalNull sql.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(totalSql, pars).Scan(&totalNull).Error
 	if err != nil {
 		return
 	}
 
+	if !totalNull.Valid {
+		total = 0
+	} else {
+		total = int(totalNull.Int64)
+	}
+
 	// 列表页数据
 	listSql := `SELECT * ` + baseSql + ` ORDER BY modify_time DESC,variety_id DESC LIMIT ?,?`
-	_, err = o.Raw(listSql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(listSql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // GetListByPage 获取分页数据
 func (item Variety) GetListByPage(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*VarietyItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	baseSql := ` FROM ( SELECT a.*, GROUP_CONCAT(DISTINCT b.sys_user_id ORDER BY b.sys_user_id ASC SEPARATOR ',') AS permission_user_id FROM variety a 
 				JOIN variety_admin_permission b on a.variety_id=b.variety_id 
 				JOIN variety_edb_info c on a.variety_id=c.variety_id WHERE 1=1 `
@@ -176,36 +173,45 @@ func (item Variety) GetListByPage(condition string, pars []interface{}, startSiz
 	baseSql += ` GROUP BY a.variety_id ) d `
 	// 数据总数
 	totalSql := `SELECT COUNT(1) total ` + baseSql
-	err = o.Raw(totalSql, pars).QueryRow(&total)
+	var totalNull sql.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(totalSql, pars).Scan(&totalNull).Error
 	if err != nil {
 		return
 	}
-
+	if !totalNull.Valid {
+		total = 0
+	} else {
+		total = int(totalNull.Int64)
+	}
 	// 列表页数据
 	listSql := `SELECT * ` + baseSql + ` ORDER BY modify_time DESC,variety_id DESC LIMIT ?,?`
-	_, err = o.Raw(listSql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(listSql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 
 // Update 更新基础信息
 func (variety *Variety) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(variety, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(variety).Error
 	return
 }
 
 // Delete 删除
 func (variety *Variety) Delete() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Delete(variety)
+	sql := ` DELETE FROM variety  WHERE variety_id = ? `
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, variety.VarietyId).Error
 	return
 }
 
 // GetVarietyMaxSort 获取图表分类下最大的排序数
 func GetVarietyMaxSort(parentId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	var sortNull sql.NullInt64
 	sql := `SELECT Max(sort) AS sort FROM future_good_chart_classify WHERE parent_id=? AND is_delete=0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&sortNull).Error
+	if !sortNull.Valid {
+		sort = 0
+	} else {
+		sort = int(sortNull.Int64)
+	}
 	return
 }
 
@@ -216,8 +222,7 @@ type VarietyView struct {
 }
 
 func GetVarietyViewById(classifyId int) (item *VarietyView, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_chart_classify WHERE future_good_chart_classify_id=? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }

+ 5 - 4
models/data_manage/supply_analysis/variety_admin_permission.go

@@ -1,13 +1,14 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // VarietyAdminPermission variety_admin_permission 品种权限表
 type VarietyAdminPermission struct {
-	Id         int       `orm:"column(id);pk"`
+	Id         int       `orm:"column(id);pk" gorm:"primaryKey" `
 	VarietyId  int       `description:"品种id"`
 	SysUserId  int       `description:"用户id"`
 	CreateTime time.Time `description:"添加时间"`
@@ -15,8 +16,8 @@ type VarietyAdminPermission struct {
 
 // GetVarietyPermissionByVarietyIdAndUserId 根据品种id和用户id获取权限记录表
 func GetVarietyPermissionByVarietyIdAndUserId(varietyId, sysUserId int) (item *VarietyAdminPermission, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_admin_permission a  WHERE variety_id = ? AND sys_user_id = ? ORDER BY id desc `
-	err = o.Raw(sql, varietyId, sysUserId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId, sysUserId).First(&item).Error
+
 	return
 }

+ 23 - 19
models/data_manage/supply_analysis/variety_edb_info.go

@@ -1,13 +1,15 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"database/sql"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"time"
 )
 
 // VarietyEdbInfo variety_edb_info 品种指标表
 type VarietyEdbInfo struct {
-	VarietyEdbId int       `orm:"column(variety_edb_id);pk"`
+	VarietyEdbId int       `orm:"column(variety_edb_id);pk" gorm:"primaryKey" `
 	VarietyId    int       `description:"品种id"`
 	EdbName      string    `description:"品种指标名称"`
 	Frequency    string    `description:"频度"`
@@ -27,42 +29,45 @@ func BatchCreateVarietyEdbInfo(list []*VarietyEdbInfo) (err error) {
 	if num <= 0 {
 		return
 	}
-
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(num, list)
+	err = global.DbMap[utils.DbNameIndex].CreateInBatches(list, num).Error
 
 	return
 }
 
 // GetCountVarietyEdbByVarietyId 根据品种id获取添加到已经生成的指标数量(不管是否加入到ETA指标库)
 func GetCountVarietyEdbByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	var totalNull sql.NullInt64
 	sql := `SELECT count(1) total FROM variety_edb_info AS a WHERE a.variety_id = ?`
-	err = o.Raw(sql, varietyId).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&totalNull).Error
+	if !totalNull.Valid {
+		total = 0
+	} else {
+		total = int(totalNull.Int64)
+	}
 	return
 }
 
 // GetVarietyEdbListByVarietyId 根据品种id获取添加到已经生成的指标(不管是否加入到ETA指标库)
 func GetVarietyEdbListByVarietyId(varietyId int) (items []*VarietyEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ?`
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&items).Error
+
 	return
 }
 
 // GetCountVarietyEdbInfoByVarietyId 根据品种id获取添加到ETA指标库的指标数量
 func GetCountVarietyEdbInfoByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT count(1) total FROM variety_edb_info AS a
 			JOIN edb_info b on a.edb_info_id=b.edb_info_id
 			WHERE a.variety_id = ? and a.edb_info_id >0`
-	err = o.Raw(sql, varietyId).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&total).Error
+
 	return
 }
 
 // VarietyEdbInfoItem 品种指标表(展示使用)
 type VarietyEdbInfoItem struct {
-	VarietyEdbId int                  `orm:"column(variety_edb_id);pk"`
+	VarietyEdbId int                  `orm:"column(variety_edb_id);pk" gorm:"primaryKey" `
 	VarietyId    int                  `description:"品种id"`
 	EdbName      string               `description:"品种指标名称"`
 	Frequency    string               `description:"频度"`
@@ -77,7 +82,7 @@ type VarietyEdbInfoItem struct {
 	Source       int                  `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动" json:"-"`
 	ModifyTime   string               `description:"最近一次更新时间"`
 	CreateTime   string               `description:"添加时间"`
-	Button       VarietyEdbInfoButton `description:"操作按钮权限"`
+	Button       VarietyEdbInfoButton `description:"操作按钮权限  gorm:"-"`
 }
 
 type VarietyEdbInfoButton struct {
@@ -88,23 +93,22 @@ type VarietyEdbInfoButton struct {
 
 // GetAllVarietyEdbInfoByVarietyId 根据品种id获取所有的指标
 func GetAllVarietyEdbInfoByVarietyId(varietyId int) (items []*VarietyEdbInfoItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ? ORDER BY a.variety_edb_id ASC `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Find(&items).Error
+
 	return
 }
 
 // GetVarietyEdbInfoByVarietyEdbId 根据品种指标id获取的指标
 func GetVarietyEdbInfoByVarietyEdbId(varietyId int) (item *VarietyEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_edb_id = ? ORDER BY a.variety_edb_id ASC `
-	err = o.Raw(sql, varietyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).First(&item).Error
+
 	return
 }
 
 // Update 更基础信息
 func (varietyEdbInfo *VarietyEdbInfo) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(varietyEdbInfo, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(varietyEdbInfo).Error
 	return
 }

+ 22 - 31
models/data_manage/supply_analysis/variety_plant.go

@@ -1,14 +1,14 @@
 package supply_analysis
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
 // VarietyPlant variety_plant 品种装置表
 type VarietyPlant struct {
-	VarietyPlantId                int       `orm:"column(variety_plant_id);pk"`
+	VarietyPlantId                int       `orm:"column(variety_plant_id);pk" gorm:"primaryKey" `
 	VarietyId                     int       `description:"品种id"`
 	Province                      string    `description:"所属省份"`
 	City                          string    `description:"所属城市"`
@@ -29,39 +29,30 @@ type VarietyPlant struct {
 
 // AddVarietyPlant 添加variety_plant装置
 func AddVarietyPlant(item *VarietyPlant) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.VarietyPlantId = int(lastId)
+	err = global.DbMap[utils.DbNameIndex].Create(item).Error
 
 	return
 }
 
 // MultiAddVarietyPlant 批量添加variety_plant装置
 func MultiAddVarietyPlant(items []*VarietyPlant) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
-	if err != nil {
-		return
-	}
+	err = global.DbMap[utils.DbNameIndex].CreateInBatches(items, utils.MultiAddNum).Error
 
 	return
 }
 
 // Update 更新基础信息
 func (varietyPlant *VarietyPlant) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(varietyPlant, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(varietyPlant).Error
+
 	return
 }
 
 // GetVarietyPlantById 根据品种装置id获取品种装置详情
 func GetVarietyPlantById(id int) (item *VarietyPlant, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_plant WHERE variety_plant_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
+
 	return
 }
 
@@ -71,15 +62,15 @@ func GetVarietyPlantByIdList(idList []int) (items []*VarietyPlant, err error) {
 	if num <= 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_plant WHERE variety_plant_id in (` + utils.GetOrmInReplace(num) + `)`
-	_, err = o.Raw(sql, idList).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, idList).Scan(&items).Error
+
 	return
 }
 
 // VarietyPlantItem 品种装置数据(展示使用)
 type VarietyPlantItem struct {
-	VarietyPlantId                int                `orm:"column(variety_plant_id);pk"`
+	VarietyPlantId                int                `orm:"column(variety_plant_id);pk" gorm:"primaryKey" `
 	VarietyId                     int                `description:"品种id"`
 	Province                      string             `description:"所属省份"`
 	City                          string             `description:"所属城市"`
@@ -98,7 +89,7 @@ type VarietyPlantItem struct {
 	SysUserRealName               string             `description:"添加人真实姓名"`
 	ModifyTime                    string             `description:"最近一次更新时间"`
 	CreateTime                    string             `description:"添加时间"`
-	Button                        VarietyPlantButton `description:"操作按钮权限"`
+	Button                        VarietyPlantButton `gorm:"-" description:"操作按钮权限"`
 }
 
 type VarietyPlantButton struct {
@@ -108,46 +99,46 @@ type VarietyPlantButton struct {
 
 // GetAllVarietyPlantByVarietyId 根据品种id获取所有的装置
 func GetAllVarietyPlantByVarietyId(varietyId int) (items []*VarietyPlantItem, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM variety_plant a  WHERE variety_id = ? ORDER BY sort ASC, variety_plant_id ASC `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&items).Error
+
 	return
 }
 
 // GetCountVarietyPlantByVarietyId 根据品种id获取所有的装置数量
 func GetCountVarietyPlantByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT count(1) total FROM variety_plant a  WHERE variety_id = ? `
-	err = o.Raw(sql, varietyId).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&total).Error
+
 	return
 }
 
 // DeleteVarietyPlantById 根据装置id删除
 func DeleteVarietyPlantById(id int) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `DELETE FROM variety_plant WHERE variety_plant_id = ?`
-	_, err = o.Raw(sql, id).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, id).Error
+
 	return
 }
 
 // UpdateEdbInfoSortByPrevId 根据上一层级id更新排序
 func UpdateEdbInfoSortByPrevId(varietyId, prevVarietyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `UPDATE variety_plant set sort = ` + updateSort + ` WHERE variety_id=? AND `
 	if prevVarietyId > 0 {
 		sql += ` ( sort > ? or ( sort=? AND variety_plant_id > ?)) `
 	}
-	_, err = o.Raw(sql, varietyId, nowSort, nowSort, prevVarietyId).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, varietyId, nowSort, nowSort, prevVarietyId).Error
+
 	return
 }
 
 // UpdateEdbInfoSortByNextId 根据下一层级id更新排序
 func UpdateEdbInfoSortByNextId(varietyId, prevVarietyId, nowSort int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `UPDATE variety_plant set sort = ` + updateSort + ` WHERE variety_id=? AND `
 	if prevVarietyId > 0 {
 		sql += ` ( sort < ? or (  sort=? AND variety_plant_id < ? )) `
 	}
-	_, err = o.Raw(sql, varietyId, nowSort, nowSort, prevVarietyId).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, varietyId, nowSort, nowSort, prevVarietyId).Error
+
 	return
 }

+ 14 - 11
models/data_manage/trade_analysis/base_from_trade_exchange.go

@@ -1,8 +1,10 @@
 package trade_analysis
 
 import (
+	"database/sql"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -48,32 +50,34 @@ func (m *BaseFromTradeExchange) Cols() BaseFromTradeExchangeCols {
 }
 
 func (m *BaseFromTradeExchange) GetItemById(id int) (item *BaseFromTradeExchange, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).Find(&item).Error
 	return
 }
 
 func (m *BaseFromTradeExchange) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *BaseFromTradeExchange, err error) {
-	o := orm.NewOrmUsingDB("data")
 	order := ``
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).First(&item).Error
 	return
 }
 
 func (m *BaseFromTradeExchange) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	var totalNull sql.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&totalNull).Error
+	if !totalNull.Valid {
+		count = 0
+	} else {
+		count = int(totalNull.Int64)
+	}
 	return
 }
 
 func (m *BaseFromTradeExchange) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromTradeExchange, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -83,12 +87,11 @@ func (m *BaseFromTradeExchange) GetItemsByCondition(condition string, pars []int
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func (m *BaseFromTradeExchange) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*BaseFromTradeExchange, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -98,7 +101,7 @@ func (m *BaseFromTradeExchange) GetPageItemsByCondition(condition string, pars [
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 

+ 11 - 14
models/data_manage/trade_analysis/trade_analysis.go

@@ -1,6 +1,7 @@
 package trade_analysis
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
@@ -156,9 +157,7 @@ func GetExchangeClassify(exchange string) (list []TradeClassifyName, err error)
 	}
 	sql := "SELECT classify_name, classify_type FROM " + tableName + " WHERE `rank` <=20 and `rank` > 0 GROUP BY classify_name, classify_type  "
 	sql += ` ORDER BY ` + orderStr
-
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&list).Error
 
 	return
 }
@@ -214,8 +213,7 @@ func GetTradePositionTop(exchange string, classifyName, classifyType, dataTime s
 	tableName := "trade_position_" + exchange + "_top"
 	sql := `SELECT * FROM ` + tableName + " WHERE classify_name=? and classify_type=? and data_time=? and `rank` <=20 and `rank` > 0 ORDER BY deal_value desc"
 
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql, classifyName, classifyType, dataTime).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyName, classifyType, dataTime).Find(&list).Error
 
 	return
 }
@@ -280,7 +278,7 @@ func GetTradeDataByContracts(exchange string, classifyNames, contracts []string,
 	fields := []string{"rank", "buy_short_name", "buy_value", "buy_change", "sold_short_name", "sold_value", "sold_change", "classify_name", "classify_type", "data_time"}
 	tableName := fmt.Sprintf("base_from_trade_%s_index", exchange)
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s ORDER BY data_time DESC`, strings.Join(fields, ","), tableName, cond)
-	_, err = orm.NewOrmUsingDB("data").Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -299,7 +297,7 @@ func GetZhengzhouTradeDataByContracts(classifyNames []string, startDate, endDate
 	// ps.classify_name实为合约代码
 	fields := []string{"rank", "buy_short_name", "buy_value", "buy_change", "sold_short_name", "sold_value", "sold_change", "classify_name AS classify_type", "data_time"}
 	sql := fmt.Sprintf(`SELECT %s FROM base_from_trade_zhengzhou_index WHERE 1=1 %s ORDER BY data_time DESC`, strings.Join(fields, ","), cond)
-	_, err = orm.NewOrmUsingDB("data").Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
@@ -346,7 +344,6 @@ type BaseFromTradeGuangzhouIndex struct {
 }
 
 func GetBaseFromTradeGuangzhouIndex(classifyIds []int, contracts []string, indexKeyword string) (list []*BaseFromTradeGuangzhouIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
 	cond := ``
 	pars := make([]interface{}, 0)
 	if len(classifyIds) > 0 {
@@ -365,7 +362,7 @@ func GetBaseFromTradeGuangzhouIndex(classifyIds []int, contracts []string, index
 		JOIN base_from_trade_guangzhou_contract AS b ON a.base_from_trade_guangzhou_contract_id = b.base_from_trade_guangzhou_contract_id
 		WHERE 1=1 %s`
 	sql = fmt.Sprintf(sql, cond)
-	_, err = o.Raw(sql, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&list).Error
 	return
 }
 
@@ -399,7 +396,7 @@ func GetBaseFromTradeGuangzhouDataByIndexIds(indexIds []int, startDate, endDate
 		}
 	}
 	sql := fmt.Sprintf(`SELECT * FROM base_from_trade_guangzhou_data WHERE 1=1 %s ORDER BY base_from_trade_guangzhou_index_id`, cond)
-	_, err = orm.NewOrmUsingDB("data").Raw(sql, pars).QueryRows(&list)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&list).Error
 	return
 }
 
@@ -435,7 +432,7 @@ func GetContractTopRankData(exchange string, classifyNames []string, dataDate ti
 	}
 	sql := `SELECT * FROM %s WHERE data_time = ? AND classify_name IN (%s) AND %s GROUP BY classify_type ORDER BY deal_value DESC`
 	sql = fmt.Sprintf(sql, tableName, utils.GetOrmInReplace(len(classifyNames)), queryRank)
-	_, err = orm.NewOrmUsingDB("data").Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).Find(&items).Error
 	return
 }
 
@@ -446,7 +443,7 @@ func GetZhengzhouContractTopRankData(classifyNames []string, dataDate time.Time)
 	}
 	sql := `SELECT * FROM base_from_trade_zhengzhou_index WHERE data_time = ? AND classify_name IN (%s) AND rank = 999 GROUP BY classify_name ORDER BY deal_value DESC`
 	sql = fmt.Sprintf(sql, utils.GetOrmInReplace(len(classifyNames)))
-	_, err = orm.NewOrmUsingDB("data").Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, dataDate.Format(utils.FormatDate), classifyNames).Find(&items).Error
 	return
 }
 
@@ -481,7 +478,7 @@ func GetClassifyNewestDataTime(exchange string, classifyNames []string) (dateTim
 	tableName := fmt.Sprintf("base_from_trade_%s_index", exchange)
 	sql := `SELECT data_time FROM %s WHERE classify_name IN (%s) ORDER BY data_time DESC LIMIT 1`
 	sql = fmt.Sprintf(sql, tableName, utils.GetOrmInReplace(len(classifyNames)))
-	err = orm.NewOrmUsingDB("data").Raw(sql, classifyNames).QueryRow(&dateTime)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyNames).First(&dateTime).Error
 	return
 }
 
@@ -494,6 +491,6 @@ func GetGuangzhouClassifyNewestDataTime(indexIds []int) (dateTime time.Time, err
 	pars := make([]interface{}, 0)
 	pars = append(pars, indexIds)
 	sql := fmt.Sprintf(`SELECT data_time FROM base_from_trade_guangzhou_data WHERE 1=1 %s ORDER BY data_time DESC LIMIT 1`, cond)
-	err = orm.NewOrmUsingDB("data").Raw(sql, pars).QueryRow(&dateTime)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&dateTime).Error
 	return
 }

+ 20 - 28
models/data_manage/trade_analysis/trade_analysis_table_column.go

@@ -1,9 +1,10 @@
 package trade_analysis
 
 import (
+	"database/sql"
+	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -58,12 +59,7 @@ func (m *TradeAnalysisTableColumn) Cols() TradeAnalysisTableColumnCols {
 }
 
 func (m *TradeAnalysisTableColumn) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
-	if err != nil {
-		return
-	}
-	m.Id = int(id)
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
 	return
 }
 
@@ -71,21 +67,18 @@ func (m *TradeAnalysisTableColumn) CreateMulti(items []*TradeAnalysisTableColumn
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DbMap[utils.DbNameIndex].CreateInBatches(items, len(items)).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.Id).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.Id).Error
 	return
 }
 
@@ -93,9 +86,8 @@ func (m *TradeAnalysisTableColumn) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql).Error
 	return
 }
 
@@ -103,39 +95,40 @@ func (m *TradeAnalysisTableColumn) RemoveByCondition(condition string, pars []in
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, pars...).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) GetItemById(id int) (item *TradeAnalysisTableColumn, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *TradeAnalysisTableColumn, err error) {
-	o := orm.NewOrmUsingDB("data")
 	order := ``
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&item).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	sqlQuery := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
+	var totalNull sql.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(sqlQuery, pars).Scan(&totalNull).Error
+	if !totalNull.Valid {
+		count = 0
+	} else {
+		count = int(totalNull.Int64)
+	}
 	return
 }
 
 func (m *TradeAnalysisTableColumn) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*TradeAnalysisTableColumn, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -145,12 +138,11 @@ func (m *TradeAnalysisTableColumn) GetItemsByCondition(condition string, pars []
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func (m *TradeAnalysisTableColumn) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*TradeAnalysisTableColumn, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -160,7 +152,7 @@ func (m *TradeAnalysisTableColumn) GetPageItemsByCondition(condition string, par
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 

+ 7 - 13
models/data_manage/trade_analysis/trade_classify.go

@@ -1,8 +1,9 @@
 package trade_analysis
 
 import (
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -22,9 +23,7 @@ type BaseFromTradeClassify struct {
 func GetAllBaseFromTradeClassify() (list []*BaseFromTradeClassify, err error) {
 	sql := `SELECT * FROM base_from_trade_classify   `
 
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Raw(sql).QueryRows(&list)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&list).Error
 	return
 }
 
@@ -41,17 +40,14 @@ func GetTradeTopLastDataTime(exchange string, classifyName, classifyType string)
 		pars = append(pars, classifyType)
 	}
 	sql += ` ORDER BY latest_date desc`
-	o := orm.NewOrmUsingDB("data")
-	err = o.Raw(sql, pars...).QueryRow(&item)
-
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
 	return
 }
 
 // GetClassifyTypeByClassifyName 根据分类名称获取分类类型
 func GetClassifyTypeByClassifyName(exchange, classifyName string) (item *TradeClassifyName, err error) {
 	sql := `SELECT classify_name, classify_type FROM base_from_trade_classify WHERE exchange = ? AND classify_name=? `
-	o := orm.NewOrmUsingDB("data")
-	err = o.Raw(sql, exchange, classifyName).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, exchange, classifyName).First(&item).Error
 
 	return
 }
@@ -83,7 +79,6 @@ func (m *BaseFromTradeClassify) Cols() BaseFromTradeClassifyCols {
 }
 
 func (m *BaseFromTradeClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromTradeClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -93,13 +88,12 @@ func (m *BaseFromTradeClassify) GetItemsByCondition(condition string, pars []int
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 // GetClassifyItemsByCondition 获取品种信息
 func (m *BaseFromTradeClassify) GetClassifyItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*BaseFromTradeClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -109,7 +103,7 @@ func (m *BaseFromTradeClassify) GetClassifyItemsByCondition(condition string, pa
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s GROUP BY %s %s`, fields, m.TableName(), condition, m.Cols().ClassifyName, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 

+ 14 - 11
models/data_manage/trade_analysis/trade_futures_company.go

@@ -1,8 +1,10 @@
 package trade_analysis
 
 import (
+	"database/sql"
+	"eta/eta_api/global"
+	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -59,32 +61,34 @@ func (m *TradeFuturesCompany) Cols() TradeFuturesCompanyCols {
 }
 
 func (m *TradeFuturesCompany) GetItemById(id int) (item *TradeFuturesCompany, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *TradeFuturesCompany, err error) {
-	o := orm.NewOrmUsingDB("data")
 	order := ``
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).First(&item).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	var totalNull sql.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&count).Error
+	if !totalNull.Valid {
+		count = 0
+	} else {
+		count = int(totalNull.Int64)
+	}
 	return
 }
 
 func (m *TradeFuturesCompany) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*TradeFuturesCompany, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -94,12 +98,11 @@ func (m *TradeFuturesCompany) GetItemsByCondition(condition string, pars []inter
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func (m *TradeFuturesCompany) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*TradeFuturesCompany, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -109,7 +112,7 @@ func (m *TradeFuturesCompany) GetPageItemsByCondition(condition string, pars []i
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 

+ 9 - 16
models/data_manage/trade_analysis/warehouse.go

@@ -1,10 +1,10 @@
 package trade_analysis
 
 import (
+	"eta/eta_api/global"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 )
 
 // WarehouseExtraConfig 建仓图表配置
@@ -55,35 +55,28 @@ type WarehouseEdbSaveRespItem struct {
 
 // CreateWarehouseChart 新增建仓图表
 func CreateWarehouseChart(chartInfo *data_manage.ChartInfo, seriesList []*data_manage.ChartSeries, multiChartMapping *data_manage.MultipleGraphConfigChartMapping) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, e := o.Begin()
-	if e != nil {
-		err = fmt.Errorf("orm begin err: %s", e.Error())
-		return
-	}
+	tx := global.DbMap[utils.DbNameIndex].Begin()
 	defer func() {
 		if err != nil {
 			_ = tx.Rollback()
-			return
+		} else {
+			_ = tx.Commit()
 		}
-		_ = tx.Commit()
 	}()
 
 	// 新增图表
-	id, e := tx.Insert(chartInfo)
+	e := tx.Create(chartInfo).Error
 	if e != nil {
 		err = fmt.Errorf("insert chart err: %v", e)
 		return
 	}
-	newId := int(id)
-	chartInfo.ChartInfoId = newId
 
 	// 新增图例
 	if len(seriesList) > 0 {
 		for _, s := range seriesList {
-			s.ChartInfoId = newId
+			s.ChartInfoId = chartInfo.ChartInfoId
 		}
-		_, e = tx.InsertMulti(utils.MultiAddNum, seriesList)
+		e = tx.CreateInBatches(seriesList, utils.MultiAddNum).Error
 		if e != nil {
 			err = fmt.Errorf("insert multi series err: %v", e)
 			return
@@ -92,8 +85,8 @@ func CreateWarehouseChart(chartInfo *data_manage.ChartInfo, seriesList []*data_m
 
 	// 图表关联
 	if multiChartMapping != nil {
-		multiChartMapping.ChartInfoId = newId
-		_, e = tx.Insert(multiChartMapping)
+		multiChartMapping.ChartInfoId = chartInfo.ChartInfoId
+		e = tx.Create(multiChartMapping).Error
 		if e != nil {
 			err = fmt.Errorf("insert multi chart mapping err: %v", e)
 			return

+ 19 - 24
models/data_manage/trade_analysis/warehouse_process_classify.go

@@ -1,10 +1,11 @@
 package trade_analysis
 
 import (
+	"database/sql"
+	"eta/eta_api/global"
 	"eta/eta_api/models/common"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strings"
 	"time"
 )
@@ -65,12 +66,10 @@ func (m *WareHouseProcessClassify) Cols() WareHouseProcessClassifyCols {
 }
 
 func (m *WareHouseProcessClassify) Create() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	id, err := o.Insert(m)
+	err = global.DbMap[utils.DbNameIndex].Create(m).Error
 	if err != nil {
 		return
 	}
-	m.WareHouseProcessClassifyId = int(id)
 	return
 }
 
@@ -78,21 +77,18 @@ func (m *WareHouseProcessClassify) CreateMulti(items []*WareHouseProcessClassify
 	if len(items) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.InsertMulti(len(items), items)
+	err = global.DbMap[utils.DbNameIndex].CreateInBatches(items, len(items)).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) Remove() (err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	_, err = o.Raw(sql, m.WareHouseProcessClassifyId).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, m.WareHouseProcessClassifyId).Error
 	return
 }
 
@@ -100,9 +96,8 @@ func (m *WareHouseProcessClassify) MultiRemove(ids []int) (err error) {
 	if len(ids) == 0 {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
-	_, err = o.Raw(sql, ids).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, ids).Error
 	return
 }
 
@@ -110,39 +105,40 @@ func (m *WareHouseProcessClassify) RemoveByCondition(condition string, pars []in
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
-	_, err = o.Raw(sql, pars).Exec()
+	err = global.DbMap[utils.DbNameIndex].Exec(sql, pars).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) GetItemById(id int) (item *WareHouseProcessClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
-	err = o.Raw(sql, id).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) GetItemByCondition(condition string, pars []interface{}, orderRule string) (item *WareHouseProcessClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	order := ``
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
-	err = o.Raw(sql, pars).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).First(&item).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
-	o := orm.NewOrmUsingDB("data")
+	var totalNull sql.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = o.Raw(sql, pars).QueryRow(&count)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&count).Error
+	if !totalNull.Valid {
+		count = 0
+	} else {
+		count = int(totalNull.Int64)
+	}
 	return
 }
 
 func (m *WareHouseProcessClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*WareHouseProcessClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -152,12 +148,11 @@ func (m *WareHouseProcessClassify) GetItemsByCondition(condition string, pars []
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
 	return
 }
 
 func (m *WareHouseProcessClassify) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*WareHouseProcessClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -167,7 +162,7 @@ func (m *WareHouseProcessClassify) GetPageItemsByCondition(condition string, par
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&items).Error
 	return
 }
 

+ 12 - 0
utils/common.go

@@ -12,6 +12,7 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
+	"gorm.io/gorm"
 	"html"
 	"image"
 	"image/png"
@@ -2869,3 +2870,14 @@ func ForwardPars(pars []interface{}, values ...interface{}) []interface{} {
 	}
 	return append(values, pars...)
 }
+
+// IsErrNoRow
+// @Description: 判断是否是gorm的查询不到数据的报错
+// @param err
+// @return bool
+func IsErrNoRow(err error) bool {
+	if err == nil {
+		return false
+	}
+	return errors.Is(err, gorm.ErrRecordNotFound)
+}