Roc 3 天之前
父節點
當前提交
38b4f86e0a

+ 2 - 2
controllers/base_auth.go

@@ -169,7 +169,7 @@ func getCheckSignStr(appid, nonce, timestamp, ip string) (checkSignStr, errMsg s
 	if appid != utils.AppId {
 		openApiUserInfo, tmpErr := models.GetByAppid(appid)
 		if tmpErr != nil {
-			if tmpErr.Error() == utils.ErrNoRow() {
+			if utils.IsErrNoRow(tmpErr) {
 				errMsg = "商家AppId错误,请核查"
 			} else {
 				err = errors.New("系统异常,请联系管理员")
@@ -178,7 +178,7 @@ func getCheckSignStr(appid, nonce, timestamp, ip string) (checkSignStr, errMsg s
 			return
 		}
 
-		if openApiUserInfo == nil {
+		if openApiUserInfo.Appid == `` {
 			errMsg = "商家AppId错误,请核查"
 			err = errors.New(errMsg)
 			return

+ 8 - 1
models/assessment_form.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -133,8 +134,14 @@ func (m *AssessmentForm) GetItemByCondition(condition string, pars []interface{}
 }
 
 func (m *AssessmentForm) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&count).Error
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 

+ 8 - 1
models/assessment_researcher.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -100,8 +101,14 @@ func (m *AssessmentResearcher) GetItemByCondition(condition string, pars []inter
 }
 
 func (m *AssessmentResearcher) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&count).Error
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 

+ 8 - 1
models/assessment_researcher_variety_mapping.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -100,7 +101,13 @@ func (m *AssessmentResearcherVarietyMapping) GetItemsByCondition(condition strin
 }
 
 func (m *AssessmentResearcherVarietyMapping) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&count).Error
+	err = global.DEFAULT_DB.Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }

+ 1 - 1
models/business_conf.go

@@ -60,7 +60,7 @@ func GetBusinessConf() (list map[string]string, err error) {
 func GetBusinessConfByKey(key string) (item *BusinessConf, err error) {
 	//o := orm.NewOrm()
 	sql := fmt.Sprintf(`SELECT * FROM business_conf WHERE conf_key = ? LIMIT 1`)
-	err = global.DEFAULT_DB.Raw(sql, key).Scan(&item).Error
+	err = global.DEFAULT_DB.Raw(sql, key).First(&item).Error
 	return
 }
 

+ 7 - 1
models/data_manage/base_from_business.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -57,7 +58,12 @@ func (m *BaseFromBusinessIndex) GetItemsByCondition(cond string, pars []interfac
 	//if err != nil {
 	//	return
 	//}
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&total).Error
+	var totalNull sql2.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	total = int(totalNull.Int64)
 	// 排序字段
 	order := `ORDER BY create_time DESC`
 	if orderRule != "" {

+ 9 - 3
models/data_manage/base_from_eia_stero.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
@@ -111,17 +112,22 @@ func GetEiaSteoIndexList(condition string, pars []interface{}) (items []*BaseFro
 	sql += ` ORDER BY base_from_eia_steo_index_id ASC `
 	//o := orm.NewOrmUsingDB("data")
 	//_, err = o.Raw(sql, pars).QueryRows(&items)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 // GetEiaSteoIndexDataCount 获取指标数据总数
 func GetEiaSteoIndexDataCount(indexCode string) (count int, err error) {
+	var totalNull sql2.NullInt64
 	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) AS count FROM base_from_eia_steo_data where index_code = ? `
 	//err = o.Raw(sql, indexCode).QueryRow(&count)
 
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).Scan(&count).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
 
 	return
 }
@@ -166,6 +172,6 @@ func GetBaseFromEiaSteoIndexByCode(indexCode string) (item *BaseFromEiaSteoIndex
 	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_eia_steo_index WHERE index_code=? `
 	//err = o.Raw(sql, indexCode).QueryRow(&item)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
 	return
 }

+ 8 - 1
models/data_manage/base_from_trade_index.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -258,9 +259,15 @@ func GetExchangeClassify(exchange, dataTime string) (classifyName []string, err
 }
 
 func GetLatestDate(exchange string) (dataTime string, err error) {
+	var stringNull sql2.NullString
 	//o := orm.NewOrmUsingDB("data")
 	sql := "SELECT data_time FROM base_from_trade_" + exchange + "_index ORDER BY data_time desc limit 1"
-	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&dataTime).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql).Scan(&stringNull).Error
+	if err != nil {
+		return
+	}
+	dataTime = stringNull.String
+
 	return
 }
 

+ 2 - 2
models/data_manage/chart_classify.go

@@ -35,7 +35,7 @@ func (m *ChartClassify) GetItemsByCondition(cond string, pars []interface{}, fie
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM chart_classify WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -80,6 +80,6 @@ type ChartClassifyView struct {
 func GetChartClassifyViewById(classifyId int) (item *ChartClassifyView, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM chart_classify WHERE chart_classify_id=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }

+ 12 - 5
models/data_manage/chart_info.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -55,14 +56,20 @@ func (m *ChartInfo) GetItemsByCondition(cond string, pars []interface{}, fieldAr
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM chart_info WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *ChartInfo) GetItemTotal(cond string, pars []interface{}) (total int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(*) FROM chart_info WHERE 1=1 %s`, cond)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&total).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	total = int(totalNull.Int64)
+
 	return
 }
 
@@ -78,14 +85,14 @@ func (m *ChartInfo) GetItemsPageByCondition(cond string, pars []interface{}, fie
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM chart_info WHERE 1=1 %s %s`, fields, cond, order)
 	sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, pageSize)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *ChartInfo) GetItemByCode(code string) (item *ChartInfo, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM chart_info WHERE unique_code = ? LIMIT 1`)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).First(&item).Error
 	return
 }
 
@@ -486,7 +493,7 @@ func GetChartInfoByUniqueCode(uniqueCode string) (chartInfo *ChartInfo, err erro
 	sql := `
 		SELECT * FROM chart_info WHERE unique_code = ?
 	`
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, uniqueCode).Scan(&chartInfo).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, uniqueCode).First(&chartInfo).Error
 	if err != nil {
 		return nil, err
 	}

+ 10 - 2
models/data_manage/com_trade_data.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
@@ -63,11 +64,17 @@ type ComTradeDataListResp struct {
 // GetComTradeListCount 获取指标数据汇总数
 func GetComTradeListCount(condition string, pars []interface{}) (count int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := `SELECT COUNT(1) AS count FROM com_trade_data WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&count).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -80,6 +87,7 @@ func GetComTradeList(condition string, pars []interface{}, startSize, pageSize i
 	}
 	sql += ` ORDER BY ` + orderBy
 	sql += `  limit ?,? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&list).Error
+	pars = append(pars, startSize, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&list).Error
 	return
 }

+ 2 - 2
models/data_manage/com_trade_index.go

@@ -24,7 +24,7 @@ func GetComTradeIndexList(condition string, pars []interface{}) (list []*ComTrad
 		sql += condition
 	}
 	sql += `ORDER BY com_trade_id DESC `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&list).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&list).Error
 	return
 }
 
@@ -61,6 +61,6 @@ type ComTradeCodeMapping struct {
 func GetComTradeIndex(indexCode string) (item *ComTradeCodeMapping, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM com_trade_code_mapping WHERE code=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
 	return
 }

+ 7 - 7
models/data_manage/edb_classify.go

@@ -36,7 +36,7 @@ func (m *EdbClassify) GetItemsByCondition(cond string, pars []interface{}, field
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM edb_classify WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -83,10 +83,10 @@ type EdbClassifyIdItems struct {
 }
 
 func GetEdbClassifyById(classifyId int) (item *EdbClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM edb_classify WHERE classify_id=? `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
-	//err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
+	//err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
@@ -115,7 +115,7 @@ type EdbClassifyItems struct {
 }
 
 func GetEdbClassifyByRootIdLevel(rootId int, classifyType uint8, orderStr string) (items []*EdbClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM edb_classify WHERE root_id=? AND classify_type = ? `
 	if orderStr != "" {
 		sql += orderStr
@@ -123,7 +123,7 @@ func GetEdbClassifyByRootIdLevel(rootId int, classifyType uint8, orderStr string
 		sql += ` order by level desc, sort asc, classify_id asc`
 	}
 
-	_, err = o.Raw(sql, rootId, classifyType).QueryRows(&items)
-	//err = global.DbMap[utils.DbNameIndex].Raw(sql, rootId, classifyType).Find(&items).Error
+	//_, err = o.Raw(sql, rootId, classifyType).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, rootId, classifyType).Find(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/edb_data.go

@@ -235,7 +235,7 @@ func (m *EdbData) getItemsBySourceAndCodeByMysql(source, subSource int, edbCode,
 		pars = append(pars, startDate)
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE %s %s`, fields, tableName, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 

+ 14 - 7
models/data_manage/edb_info.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -68,7 +69,7 @@ func (m *EdbInfo) GetItemsByCondition(cond string, pars []interface{}, fieldArr
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM edb_info WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -84,28 +85,34 @@ func (m *EdbInfo) GetItemsPageByCondition(cond string, pars []interface{}, field
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM edb_info WHERE 1=1 %s %s`, fields, cond, order)
 	sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, pageSize)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
 func (m *EdbInfo) GetItemsTotal(cond string, pars []interface{}) (total int, err error) {
+	var totalNull sql2.NullInt64
 	//o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT COUNT(*) FROM edb_info WHERE 1=1 %s`, cond)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&total).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	total = int(totalNull.Int64)
+
 	return
 }
 
 func (m *EdbInfo) GetItemByUniCode(code string) (item *EdbInfo, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM edb_info WHERE unique_code = ? LIMIT 1`)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).First(&item).Error
 	return
 }
 
 func (m *EdbInfo) GetItemByEdbCode(code string) (item *EdbInfo, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM edb_info WHERE edb_code = ? LIMIT 1`)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, code).First(&item).Error
 	return
 }
 
@@ -216,7 +223,7 @@ type TraceEdbInfoResp struct {
 func GetEdbInfoById(edbInfoId int) (item *EdbInfo, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM edb_info WHERE edb_info_id=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).First(&item).Error
 	return
 }
 
@@ -240,7 +247,7 @@ func GetEdbInfoByEdbCodeList(source int, edbCodeList []string) (items []*EdbInfo
 	}
 	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM edb_info WHERE source=? AND edb_code in (` + utils.GetOrmInReplace(num) + `) `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, edbCodeList).Scan(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, source, edbCodeList).Find(&items).Error
 	return
 }
 

+ 1 - 1
models/data_manage/edb_info_calculate_mapping.go

@@ -109,6 +109,6 @@ func GetRelationEdbInfoListMappingByCondition(condition string, pars []interface
 	if condition != "" {
 		sql += condition
 	}
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&item).Error
 	return
 }

+ 2 - 2
models/data_manage/edb_source.go

@@ -37,7 +37,7 @@ func GetEdbSourceItemsByCondition(condition string, pars []interface{}, fieldArr
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM edb_source WHERE 1=1 %s %s`, fields, condition, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 
@@ -45,7 +45,7 @@ func GetEdbSourceItemsByCondition(condition string, pars []interface{}, fieldArr
 func GetEdbSourceItemByCondition(condition string, pars []interface{}) (item *EdbSource, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := fmt.Sprintf(`SELECT * FROM edb_source WHERE 1=1 %s`, condition)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).First(&item).Error
 	return
 }
 

+ 13 - 5
models/data_manage/eta_business_chart_permission.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -66,7 +67,7 @@ func (m *EtaBusinessChartPermission) GetChartListByBusinessCode(businessCode str
 	return chartList, nil
 }
 
-func (m *EtaBusinessChartPermission) GetChartListByBusinessCodeTotal(businessCode string) (int64, error) {
+func (m *EtaBusinessChartPermission) GetChartListByBusinessCodeTotal(businessCode string) (total int64, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := `
 		SELECT COUNT(*) FROM eta_business_chart_permission p
@@ -75,11 +76,12 @@ func (m *EtaBusinessChartPermission) GetChartListByBusinessCodeTotal(businessCod
 		WHERE 
 			p.business_code = ?
 	`
-	var total int64
-	err := global.DbMap[utils.DbNameIndex].Raw(sql, businessCode).Scan(&total)
+	var totalNull sql2.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, businessCode).Scan(&totalNull).Error
 	if err != nil {
 		return 0, fmt.Errorf("failed to get chart list total: %v", err)
 	}
+	total = totalNull.Int64
 	return total, nil
 }
 
@@ -96,7 +98,7 @@ func (m *EtaBusinessChartPermission) GetChartInfoByUniqueCode(businessCode strin
 		WHERE 
 			p.business_code = ? AND c.unique_code = ?
 	`
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, businessCode, uniqueCode).Scan(&chartInfo).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, businessCode, uniqueCode).First(&chartInfo).Error
 	return
 }
 
@@ -180,6 +182,12 @@ func (m *EtaBusinessChartPermission) GetChartCountByBusinessCodeAndEdbInfoId(bus
 			p.business_code = ? AND c.edb_info_id = ?
 	`
 
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, businessCode, edbInfoId).Scan(&count).Error
+	var totalNull sql2.NullInt64
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, businessCode, edbInfoId).Scan(&totalNull).Error
+	if err != nil {
+		return 0, fmt.Errorf("failed to get chart list total: %v", err)
+	}
+	count = totalNull.Int64
+
 	return
 }

+ 15 - 5
models/data_manage/eta_business_edb_permission.go

@@ -1,6 +1,9 @@
 package data_manage
 
 import (
+	sql2 "database/sql"
+	"eta/eta_hub/global"
+	"eta/eta_hub/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"strings"
@@ -27,15 +30,21 @@ func init() {
 }
 
 func (m *EtaBusinessEdbPermission) GetItemsTotal(cond string, pars []interface{}) (total int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := fmt.Sprintf(`SELECT COUNT(*) FROM eta_business_edb_permission AS a 
+	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
+	sql := fmt.Sprintf(`SELECT COUNT(*) total FROM eta_business_edb_permission AS a 
           JOIN edb_info AS b WHERE 1=1 %s`, cond)
-	err = o.Raw(sql, pars).QueryRow(&total)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	total = int(totalNull.Int64)
+
 	return
 }
 
 func (m *EtaBusinessEdbPermission) GetItemsPageByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EdbInfo, err error) {
-	o := orm.NewOrmUsingDB("data")
+	//o := orm.NewOrmUsingDB("data")
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `b.*`
@@ -48,6 +57,7 @@ func (m *EtaBusinessEdbPermission) GetItemsPageByCondition(cond string, pars []i
           JOIN edb_info AS b WHERE 1=1 %s %s`, fields, cond, order)
 	sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, pageSize)
 
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
+
 	return
 }

+ 1 - 1
models/data_manage/variety.go

@@ -32,7 +32,7 @@ func (m *Variety) GetItemsByCondition(cond string, pars []interface{}, fieldArr
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM variety WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 

+ 1 - 1
models/data_manage/variety_edb_info.go

@@ -35,7 +35,7 @@ func (m *VarietyEdbInfo) GetItemsByCondition(cond string, pars []interface{}, fi
 		order = ` ORDER BY ` + orderRule
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM variety_edb_info WHERE 1=1 %s %s`, fields, cond, order)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Find(&items).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
 	return
 }
 

+ 14 - 4
models/en_classify_permission.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -57,7 +58,7 @@ func (m *EnClassifyPermission) Del() (err error) {
 func (m *EnClassifyPermission) GetItemById(id int) (item *EnClassifyPermission, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), EnClassifyPermissionColumns.EnClassifyPermissionId)
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -66,14 +67,20 @@ func (m *EnClassifyPermission) GetItemByCondition(condition string, pars []inter
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 `, m.TableName())
 	sql += condition
 	sql += ` LIMIT 1`
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).First(&item).Error
 	return
 }
 
 func (m *EnClassifyPermission) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&count).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -94,6 +101,7 @@ func (m *EnClassifyPermission) GetItemsByCondition(condition string, pars []inte
 
 func (m *EnClassifyPermission) GetPageItemsByCondition(startSize, pageSize int, condition string, pars []interface{}, fieldArr []string, orderRule string) (total int, items []*EnClassifyPermission, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
+	var totalNull sql2.NullInt64
 	fields := strings.Join(fieldArr, ",")
 	if len(fieldArr) == 0 {
 		fields = `*`
@@ -104,9 +112,11 @@ func (m *EnClassifyPermission) GetPageItemsByCondition(startSize, pageSize int,
 	}
 	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
 	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z`
-	if err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(totalSql, pars...).Scan(&total).Error; err != nil {
+	if err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(totalSql, pars...).Scan(&totalNull).Error; err != nil {
 		return
 	}
+	total = int(totalNull.Int64)
+
 	sql += ` LIMIT ?,?`
 	pars = append(pars, startSize, pageSize)
 	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Find(&items).Error

+ 16 - 4
models/english_report.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -54,14 +55,20 @@ func (m *EnglishReport) Update(cols []string) (err error) {
 func (m *EnglishReport) GetItemById(id int) (item *EnglishReport, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := `SELECT * FROM english_report WHERE id = ? LIMIT 1`
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }
 
 func (m *EnglishReport) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM english_report WHERE 1=1 %s`, condition)
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&count).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -233,6 +240,7 @@ func GetEnglishClassifyRootId(startSize, pageSize int, keyword string) (items []
 }
 
 func GetEnglishClassifyListCount(keyword string) (count int, err error) {
+	var totalNull sql2.NullInt64
 	sqlCount := ``
 	//o := orm.NewOrmUsingDB("rddp")
 	if keyword != "" {
@@ -244,11 +252,15 @@ func GetEnglishClassifyListCount(keyword string) (count int, err error) {
                WHERE id IN(SELECT parent_id FROM english_classify
                WHERE parent_id>0 AND classify_name LIKE ?)
                )AS t `
-		err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword)).Scan(&count).Error
+		err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword)).Scan(&totalNull).Error
 	} else {
 		sqlCount = `SELECT COUNT(1) AS count FROM english_classify WHERE parent_id=0`
-		err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount).Scan(&count).Error
+		err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount).Scan(&totalNull).Error
+	}
+	if err != nil {
+		return
 	}
+	count = int(totalNull.Int64)
 
 	return
 }

+ 3 - 3
models/open_api_user.go

@@ -1,7 +1,7 @@
 package models
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_hub/global"
 )
 
 type OpenApiUser struct {
@@ -16,8 +16,8 @@ type OpenApiUser struct {
 // GetByAppid 根据appid获取开放api用户信息
 func GetByAppid(appid string) (item *OpenApiUser, err error) {
 	sql := `SELECT * FROM open_api_user WHERE appid=? LIMIT 1`
-	o := orm.NewOrm()
-	err = o.Raw(sql, appid).QueryRow(&item)
+	//o := orm.NewOrm()
+	err = global.DEFAULT_DB.Raw(sql, appid).First(&item).Error
 
 	return
 }

+ 39 - 9
models/report.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"github.com/beego/beego/v2/client/orm"
@@ -101,6 +102,7 @@ type ReportListResp struct {
 }
 
 func GetReportListCount(condition string, pars []interface{}, companyType string) (count int, err error) {
+	var totalNull sql2.NullInt64
 	//产品权限
 	companyTypeSqlStr := ``
 	if companyType == "ficc" {
@@ -114,7 +116,12 @@ func GetReportListCount(condition string, pars []interface{}, companyType string
 	if condition != "" {
 		sql += condition
 	}
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&count).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -195,33 +202,45 @@ type ReportDetail struct {
 func GetReportById(reportId int) (item *Report, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := `SELECT * FROM report WHERE id=?`
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, reportId).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, reportId).First(&item).Error
 	return
 }
 
 func GetReportStage(classifyIdFirst, classifyIdSecond int) (count int, err error) {
+	var totalNull sql2.NullInt64
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := ``
 	if classifyIdSecond > 0 {
 		sql = "SELECT MAX(stage) AS max_stage FROM report WHERE classify_id_second=? "
-		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdSecond).Scan(&count)
+		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdSecond).Scan(&totalNull)
 	} else {
 		sql = "SELECT MAX(stage) AS max_stage FROM report WHERE classify_id_first=? "
-		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst).Scan(&count)
+		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst).Scan(&totalNull)
+	}
+	if err != nil {
+		return
 	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
 func GetReportStageEdit(classifyIdFirst, classifyIdSecond, reportId int) (count int, err error) {
+	var totalNull sql2.NullInt64
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := ``
 	if classifyIdSecond > 0 {
 		sql = "SELECT MAX(stage) AS max_stage FROM report WHERE classify_id_second=? AND id<>? "
-		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdSecond, reportId).Scan(&count)
+		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdSecond, reportId).Scan(&totalNull)
 	} else {
 		sql = "SELECT MAX(stage) AS max_stage FROM report WHERE classify_id_first=? AND id<>? "
-		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst, reportId).Scan(&count)
+		global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst, reportId).Scan(&totalNull)
 	}
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -371,9 +390,14 @@ func ModifyReportThsMsgIsSend(item *ReportDetail) (err error) {
 
 // GetDayWeekReportStage 获取晨报周报期数
 func GetDayWeekReportStage(classifyIdFirst int, yearStart time.Time) (count int, err error) {
+	var totalNull sql2.NullInt64
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := " SELECT MAX(stage) AS max_stage FROM report WHERE classify_id_first = ? AND create_time > ? "
-	global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst, yearStart).Scan(&count)
+	global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyIdFirst, yearStart).Scan(&totalNull)
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
 
 	return
 }
@@ -382,7 +406,7 @@ func GetDayWeekReportStage(classifyIdFirst int, yearStart time.Time) (count int,
 func GetReportByReportId(reportId int) (item *Report, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := `SELECT * FROM report WHERE id = ?`
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, reportId).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, reportId).First(&item).Error
 	return
 }
 
@@ -636,7 +660,13 @@ func GetClassifyListCount(keyWord, companyType string) (count int, err error) {
 		sqlCount = `SELECT COUNT(1) AS count FROM classify WHERE parent_id=0 ` + companyTypeSqlStr
 	}
 	//o := orm.NewOrmUsingDB("rddp")
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount, pars...).Scan(&count).Error
+	var totalNull sql2.NullInt64
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sqlCount, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 

+ 1 - 1
models/resource.go

@@ -43,7 +43,7 @@ func AddResource(item *Resource) (newId int64, err error) {
 func GetResourceById(id string) (item *Resource, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := "SELECT * FROM resource WHERE id=? "
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }
 

+ 26 - 5
models/sandbox/sandbox.go

@@ -1,6 +1,7 @@
 package sandbox
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"github.com/rdlucklib/rdluck_tools/paging"
@@ -41,7 +42,7 @@ func (sandbox *Sandbox) Update(cols []string) (err error) {
 func GetSandboxById(sandboxId int) (sandboxInfo *SandboxItem, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := `select * from sandbox where sandbox_id = ? and is_delete = 0`
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxId).Scan(&sandboxInfo).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxId).First(&sandboxInfo).Error
 	return
 }
 
@@ -74,6 +75,7 @@ type SandboxListItem struct {
 
 func GetSandboxClassify(sandboxClassifyId int) (sandbox_classify_id string, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var stringNull sql2.NullString
 	sql := `SELECT GROUP_CONCAT(t.sandbox_classify_id) AS sandbox_classify_id FROM (
 			SELECT a.sandbox_classify_id FROM sandbox_classify AS a 
 			WHERE a.sandbox_classify_id=?
@@ -87,7 +89,12 @@ func GetSandboxClassify(sandboxClassifyId int) (sandbox_classify_id string, err
 WHERE
 	parent_id IN ( SELECT sandbox_classify_id FROM sandbox_classify WHERE parent_id = ? )
 			)AS t`
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxClassifyId, sandboxClassifyId, sandboxClassifyId).Scan(&sandbox_classify_id).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxClassifyId, sandboxClassifyId, sandboxClassifyId).Scan(&stringNull).Error
+	if err != nil {
+		return
+	}
+	sandbox_classify_id = stringNull.String
+
 	return
 }
 
@@ -103,17 +110,24 @@ func GetSandboxListByCondition(condition string, pars []interface{}, startSize,
 		sql += condition
 	}
 	sql += " ORDER BY create_time DESC LIMIT ?,? "
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars, startSize, pageSize).Find(&item).Error
+	pars = append(pars, startSize, pageSize)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&item).Error
 	return
 }
 
 func GetSandboxListCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := ` SELECT COUNT(1) AS count FROM sandbox WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars).Scan(&count).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -155,7 +169,14 @@ FROM
 	INNER JOIN sandbox_classify m 
 WHERE
 	sandbox_classify_id = vm._id `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxClassifyId).Scan(&ids).Error
+
+	var stringNull sql2.NullString
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, sandboxClassifyId).Scan(&stringNull).Error
+	if err != nil {
+		return
+	}
+	ids = stringNull.String
+
 	return
 }
 

+ 31 - 6
models/sandbox/sandbox_classify.go

@@ -1,6 +1,7 @@
 package sandbox
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -76,16 +77,28 @@ type AddSandboxClassifyReq struct {
 
 func GetSandboxClassifyCount(sandboxClassifyName string, parentId int) (count int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := `SELECT COUNT(1) AS count FROM sandbox_classify WHERE parent_id=? AND sandbox_classify_name=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, sandboxClassifyName).Scan(&count).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, sandboxClassifyName).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
 // GetSandboxClassifyMaxSort 获取沙盘分类下最大的排序数
 func GetSandboxClassifyMaxSort(parentId int) (sort int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := `SELECT Max(sort) AS sort FROM sandbox_classify WHERE parent_id=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&sort).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	sort = int(totalNull.Int64)
+
 	return
 }
 
@@ -99,7 +112,7 @@ type EditSandboxClassifyReq struct {
 func GetSandboxClassifyById(classifyId int) (item *SandboxClassify, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM sandbox_classify WHERE sandbox_classify_id=? `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).First(&item).Error
 	return
 }
 
@@ -116,6 +129,7 @@ type SandboxClassifyDeleteCheckReq struct {
 
 func GetSandboxInfoCountByClassifyId(classifyId int) (count int, err error) {
 	//o := orm.NewOrmUsingDB("data")
+	var totalNull sql2.NullInt64
 	sql := ` SELECT COUNT(1) AS count FROM sandbox AS a
 				WHERE a.sandbox_classify_id IN(
 				SELECT t.sandbox_classify_id FROM 
@@ -128,7 +142,12 @@ func GetSandboxInfoCountByClassifyId(classifyId int) (count int, err error) {
 				UNION SELECT * FROM sandbox_classify WHERE sandbox_classify_id = @pid 
 				)AS t
 				) AND a.is_delete = 0 `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&count).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -186,7 +205,7 @@ func UpdateSandboxClassifySortByParentId(parentId, classifyId, nowSort int, upda
 func GetFirstSandboxClassifyByParentId(parentId int) (item *SandboxClassify, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM sandbox_classify WHERE parent_id=? order by sort asc,sandbox_classify_id asc limit 1`
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).Scan(&item).Error
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId).First(&item).Error
 	return
 }
 
@@ -274,7 +293,13 @@ FROM sandbox_classify sc
 JOIN (SELECT @pv := ?) initial
 WHERE sc.parent_id = @pv
 ) subcategories; `
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId, classifyId).Scan(&Ids).Error
+	var stringNull sql2.NullString
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, classifyId, classifyId).Scan(&stringNull).Error
+	if err != nil {
+		return
+	}
+	Ids = stringNull.String
+
 	return
 }
 

+ 9 - 2
models/smart_report.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -103,7 +104,7 @@ func (m *SmartReport) MultiDel(menuIds []int) (err error) {
 func (m *SmartReport) GetItemById(id int) (item *SmartReport, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -160,8 +161,14 @@ func (m *SmartReport) GetPageItemsByCondition(condition string, pars []interface
 
 func (m *SmartReport) GetMaxStageByClassifyId(classifyId int) (stage int, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT MAX(stage) AS max_stage FROM %s WHERE classify_id_second = ?`, m.TableName())
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyId).Scan(&stage).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, classifyId).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	stage = int(totalNull.Int64)
+
 	return
 }
 

+ 10 - 3
models/smart_resource.go

@@ -1,6 +1,7 @@
 package models
 
 import (
+	sql2 "database/sql"
 	"eta/eta_hub/global"
 	"eta/eta_hub/utils"
 	"fmt"
@@ -65,8 +66,14 @@ type SmartReportResourceListResp struct {
 
 func (m *SmartReportResource) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
+	var totalNull sql2.NullInt64
 	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&count).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, pars...).Scan(&totalNull).Error
+	if err != nil {
+		return
+	}
+	count = int(totalNull.Int64)
+
 	return
 }
 
@@ -95,7 +102,7 @@ type SmartReportResourceEditReq struct {
 func (m *SmartReportResource) GetItemById(id int) (item *SmartReportResource, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }
 
@@ -115,6 +122,6 @@ type SmartReportResourceAddReq struct {
 func GetResourceItemById(id int) (item *SmartReportResource, err error) {
 	//o := orm.NewOrmUsingDB("rddp")
 	sql := fmt.Sprintf(`SELECT * FROM smart_report_resource WHERE resource_id = ? LIMIT 1`)
-	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).Scan(&item).Error
+	err = global.DbMap[utils.MYSQL_URL_RDDP].Raw(sql, id).First(&item).Error
 	return
 }

+ 2 - 2
models/system/sys_user.go

@@ -97,7 +97,7 @@ func GetSysUserByAdminName(adminName string) (item *AdminItem, err error) {
 			WHERE
 				a.admin_name = ?
 			LIMIT 1`
-	err = global.DEFAULT_DB.Raw(sql, adminName).Scan(&item).Error
+	err = global.DEFAULT_DB.Raw(sql, adminName).First(&item).Error
 	return
 }
 
@@ -105,7 +105,7 @@ func GetSysUserByAdminName(adminName string) (item *AdminItem, err error) {
 func GetUserByAdminName(adminName string) (item *AdminItem, err error) {
 	//o := orm.NewOrm()
 	sql := `SELECT * FROM admin WHERE admin_name = ? LIMIT 1`
-	err = global.DEFAULT_DB.Raw(sql, adminName).Scan(&item).Error
+	err = global.DEFAULT_DB.Raw(sql, adminName).First(&item).Error
 
 	if err != nil && err.Error() == utils.ErrNoRow() {
 		return nil, nil