浏览代码

change gorm

Roc 2 月之前
父节点
当前提交
854f11ebed
共有 3 个文件被更改,包括 62 次插入3 次删除
  1. 22 3
      models/data_manage/edb_data_gz.go
  2. 20 0
      models/data_manage/edb_data_hisugar.go
  3. 20 0
      models/data_manage/edb_data_icpi.go

+ 22 - 3
models/data_manage/edb_data_gz.go

@@ -4,7 +4,7 @@ import (
 	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
+	"gorm.io/gorm"
 )
 
 type GzData struct {
@@ -23,6 +23,7 @@ func GetEdbDataGzMaxOrMinDate(edbCode string) (minDate, maxDate string, err erro
 	}
 	minDate = maxAndMinDate.MinDate.Format(utils.FormatDate)
 	maxDate = maxAndMinDate.MaxDate.Format(utils.FormatDate)
+
 	return
 }
 
@@ -38,11 +39,29 @@ type GzIndexView struct {
 	Value                            float64 `description:"数据"`
 }
 
+// AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
+func (m *GzIndexView) AfterFind(db *gorm.DB) (err error) {
+	m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
+	m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
+
+	return
+}
+func (m *GzIndexView) ConvDateTimeStr() {
+	m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
+	m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
+
+	return
+}
+
 // GetBaseInfoFromShByIndexCode 获取指标信息
 func GetBaseInfoFromGzByIndexCode(indexCode string) (item *GzIndexView, err error) {
-	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_trade_guangzhou_index WHERE index_code=? `
 	sql = fmt.Sprintf(sql)
-	err = o.Raw(sql, indexCode).QueryRow(&item)
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
+	if err != nil {
+		return
+	}
+	item.ConvDateTimeStr()
+
 	return
 }

+ 20 - 0
models/data_manage/edb_data_hisugar.go

@@ -4,6 +4,7 @@ import (
 	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
+	"gorm.io/gorm"
 )
 
 type HisugarData struct {
@@ -38,6 +39,20 @@ type BaseFromHisugarIndexItem struct {
 	ModifyTime         string // 修改时间
 }
 
+// AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
+func (m *BaseFromHisugarIndexItem) AfterFind(db *gorm.DB) (err error) {
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
+	m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
+
+	return
+}
+func (m *BaseFromHisugarIndexItem) ConvDateTimeStr() {
+	m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
+	m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
+
+	return
+}
+
 // GetBaseInfoFromHisugarByIndexCode 获取指标信息
 func GetBaseInfoFromHisugarByIndexCode(indexCode string) (item *BaseFromHisugarIndexItem, err error) {
 	//o := orm.NewOrmUsingDB("data")
@@ -45,5 +60,10 @@ func GetBaseInfoFromHisugarByIndexCode(indexCode string) (item *BaseFromHisugarI
 	sql = fmt.Sprintf(sql)
 	//err = o.Raw(sql, indexCode).QueryRow(&item)
 	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
+	if err != nil {
+		return
+	}
+	item.ConvDateTimeStr()
+
 	return
 }

+ 20 - 0
models/data_manage/edb_data_icpi.go

@@ -4,6 +4,7 @@ import (
 	"eta/eta_api/global"
 	"eta/eta_api/utils"
 	"fmt"
+	"gorm.io/gorm"
 )
 
 type IcpiData struct {
@@ -37,6 +38,20 @@ type IcpiIndexView struct {
 	Value                            float64 `description:"数据"`
 }
 
+// AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
+func (m *IcpiIndexView) AfterFind(db *gorm.DB) (err error) {
+	m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
+	m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
+
+	return
+}
+func (m *IcpiIndexView) ConvDateTimeStr() {
+	m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
+	m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
+
+	return
+}
+
 // GetBaseInfoFromShByIndexCode 获取指标信息
 func GetBaseInfoFromIcpiByIndexCode(indexCode string) (item *IcpiIndexView, err error) {
 	//o := orm.NewOrmUsingDB("data")
@@ -44,5 +59,10 @@ func GetBaseInfoFromIcpiByIndexCode(indexCode string) (item *IcpiIndexView, err
 	sql = fmt.Sprintf(sql)
 	//err = o.Raw(sql, indexCode).QueryRow(&item)
 	err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).First(&item).Error
+	if err != nil {
+		return
+	}
+	item.ConvDateTimeStr()
+
 	return
 }