浏览代码

数据库交互优化及错误处理

- 替换`beego orm`包为`global.DmSQL`,统一数据库交互方式。
-直接使用`global.DmSQL`进行SQL查询和操作,减少中间变量,改进错误处理。
- 移除不必要的`beego orm`导入,简化项目依赖。
- 在`AdminOperateRecord`模型的`Insert`方法中隐藏错误打印,避免日志泄露。

此次代码调整,优化了数据库操作的统一性和效率,同时通过改进错误处理流程,提升了系统的稳定性和安全性。
Roc 6 月之前
父节点
当前提交
b5028b0b9b

+ 28 - 34
models/data_manage/future_good/chart_info_future_good_profit.go

@@ -1,10 +1,10 @@
 package future_good
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/models/data_manage"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -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.DmSQL["data"].Create(m).Error
+
 	return
 }
 
 func (m *ChartInfoFutureGoodProfit) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(m, cols...)
+	err = global.DmSQL["data"].Select(cols).Updates(m).Error
+
 	return
 }
 
 func (m *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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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,14 +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.DmSQL["data"].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()
+	tx := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -106,34 +101,33 @@ 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
 }
 
 // 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()
+	to := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -146,14 +140,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,7 +159,7 @@ 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)
+		err = to.Raw(csql, chartInfo.ChartInfoId, v.EdbInfoId, v.Source).First(&tmpChartEdbMapping).Error
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
@@ -184,23 +178,23 @@ 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
 		}
 	}
+
 	return
 }

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

@@ -1,8 +1,8 @@
 package future_good
 
 import (
+	"eta_gn/eta_api/global"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
 
@@ -22,38 +22,38 @@ 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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].Raw(sql).Scan(&items).Error
+
 	return
 }
 
@@ -72,58 +72,58 @@ type FutureGoodChartClassifyItems struct {
 }
 
 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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].Raw(sql, parentId).Scan(&sort).Error
+
 	return
 }
 
@@ -134,36 +134,36 @@ type FutureGoodChartClassifyView struct {
 }
 
 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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].Raw(sql, classifyId).Scan(&total).Error
+
 	return
 }

+ 21 - 25
models/data_manage/future_good/future_good_edb_info.go

@@ -1,7 +1,7 @@
 package future_good
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/global"
 	"time"
 )
 
@@ -32,73 +32,69 @@ 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.DmSQL["data"].Raw(sql, edbInfoId).First(&item).Error
+
 	return
 }
 
 // GetFutureGoodEdbInfoByCode 根据期货code获取 期货指标信息
 func GetFutureGoodEdbInfoByCode(futureGoodEdbCode string) (item *FutureGoodEdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM future_good_edb_info WHERE future_good_edb_code = ? `
 	sql += ` ORDER BY future_good_edb_info_id DESC `
-	err = o.Raw(sql, futureGoodEdbCode).QueryRow(&item)
+	err = global.DmSQL["data"].Raw(sql, futureGoodEdbCode).First(&item).Error
+
 	return
 }
 
 // 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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].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.DmSQL["data"].Create(item).Error
+
 	return
 }
 
 // Update 更新指标基础信息
 func (FutureGoodEdbInfo *FutureGoodEdbInfo) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(FutureGoodEdbInfo, cols...)
+	err = global.DmSQL["data"].Select(cols).Updates(FutureGoodEdbInfo).Error
+
 	return
 }
 
@@ -112,13 +108,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.DmSQL["data"].Raw(sql, pars).Scan(&list).Error
+
 	return
 }
 
@@ -129,13 +125,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.DmSQL["data"].Raw(sql, pars).Scan(&list).Error
+
 	return
 }
 

+ 9 - 9
models/data_manage/future_good/future_good_edb_info_data.go

@@ -1,8 +1,8 @@
 package future_good
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/utils"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
@@ -56,24 +56,24 @@ 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.DmSQL["data"].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)
+	err = global.DmSQL["data"].Raw(sql, pars, startSize, pageSize).Scan(&list).Error
+
 	return
 }
 
@@ -98,8 +98,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.DmSQL["data"].Raw(sql, futureGoodEdbInfoId, pars).Scan(&list).Error
+
 	return
 }
 
@@ -116,7 +116,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.DmSQL["data"].Raw(sql, futureGoodEdbInfoIds, pars).Scan(&list).Error
+
 	return
 }

+ 19 - 29
models/data_manage/line_equation/line_equation.go

@@ -1,8 +1,9 @@
 package line_equation
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/models/data_manage"
-	"github.com/beego/beego/v2/client/orm"
+	"eta_gn/eta_api/utils"
 )
 
 type BatchAddChart struct {
@@ -13,8 +14,7 @@ type BatchAddChart struct {
 
 // CreateLineEquationChartAndEdb 批量新增拟合方程图表
 func CreateLineEquationChartAndEdb(multipleGraphConfig *data_manage.MultipleGraphConfig, batchAddChartList []BatchAddChart) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	tx, err := o.Begin()
+	tx := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -26,21 +26,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 +46,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 +57,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,8 +68,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()
+	tx := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -86,7 +80,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 +91,14 @@ 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)
 				batchAddChartList[k].ChartInfo = chartInfo
 			} else {
 				// 更改图表信息
-				_, err = tx.Update(chartInfo, updateChartCols...)
+				err = tx.Select(updateChartCols).Updates(chartInfo).Error
 				if err != nil {
 					return
 				}
@@ -119,7 +111,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 +122,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 +136,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
 					}

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

@@ -1,10 +1,10 @@
 package line_feature
 
 import (
+	"eta_gn/eta_api/global"
 	"eta_gn/eta_api/models/data_manage"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"strconv"
 	"strings"
 	"time"
@@ -17,8 +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()
+	tx := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -31,18 +30,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,8 +52,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()
+	to := global.DmSQL["data"].Begin()
 	if err != nil {
 		return
 	}
@@ -119,7 +117,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,7 +127,7 @@ 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)
+		err = to.Raw(csql, req.ChartInfoId, v.EdbInfoId, utils.CHART_SOURCE_CORRELATION).First(&tmpChartEdbMapping).Error
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			fmt.Println("QueryRow Err:", err.Error())
 			return err
@@ -173,19 +171,18 @@ func EditLineFeatureChartAndMapping(req *data_manage.EditChartInfoReq, edbInfoId
 			//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