소스 검색

数据源-粮油

kobe6258 3 달 전
부모
커밋
e931be3a6f
1개의 변경된 파일41개의 추가작업 그리고 2개의 파일을 삭제
  1. 41 2
      models/base_from_ly_data.go

+ 41 - 2
models/base_from_ly_data.go

@@ -3,7 +3,9 @@ package models
 
 import (
 	"errors"
+	"eta/eta_index_lib/utils"
 	"github.com/beego/beego/v2/client/orm"
+	"time"
 )
 
 type BaseFromLyData struct {
@@ -15,7 +17,34 @@ type BaseFromLyData struct {
 	DataTime          string  `orm:"column(data_time)"`               // 数据日期
 	Value             float64 `orm:"column(value)"`                   // 数据值
 }
+type BaseFromLyDataOrm struct {
+	BaseFromLyDataId  int       `orm:"column(base_from_ly_data_id);pk"` // 数据ID
+	CreateTime        time.Time `orm:"column(create_time)"`             // 创建时间
+	ModifyTime        time.Time `orm:"column(modify_time)"`             // 修改时间
+	BaseFromLyIndexId int       `orm:"column(base_from_ly_index_id)"`   // 指标id
+	IndexCode         string    `orm:"column(index_code)"`              // 指标编码
+	DataTime          time.Time `orm:"column(data_time)"`               // 数据日期
+	Value             float64   `orm:"column(value)"`                   // 数据值
+}
 
+func (ormItem *BaseFromLyDataOrm) convertToLyData() BaseFromLyData {
+	return BaseFromLyData{
+		BaseFromLyDataId:  ormItem.BaseFromLyDataId,
+		CreateTime:        ormItem.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:        ormItem.ModifyTime.Format(utils.FormatDateTime),
+		BaseFromLyIndexId: ormItem.BaseFromLyIndexId,
+		IndexCode:         ormItem.IndexCode,
+		DataTime:          ormItem.DataTime.Format(utils.FormatDate),
+		Value:             ormItem.Value,
+	}
+}
+
+func convertToLyDataList(ormList []BaseFromLyDataOrm) (list []BaseFromLyData) {
+	for _, item := range ormList {
+		list = append(list, item.convertToLyData())
+	}
+	return
+}
 func init() {
 	orm.RegisterModel(new(BaseFromLyData))
 }
@@ -42,10 +71,15 @@ func GetLyDataByIndexIdAndDataTime(indexId int, dataTime string) (items []BaseFr
 func GetLyDataByIndexIdAndDataTimeYM(indexId int, dataTime string) (items []BaseFromLyData, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_ly_data WHERE base_from_ly_index_id=? AND data_time like ?`
-	_, err = o.Raw(sql, indexId, dataTime+"%").QueryRows(&items)
+	var ormList []BaseFromLyDataOrm
+	_, err = o.Raw(sql, indexId, dataTime+"%").QueryRows(&ormList)
 	if errors.Is(err, orm.ErrNoRows) {
 		return nil, nil
 	}
+	if err != nil {
+		return
+	}
+	items = convertToLyDataList(ormList)
 	return
 }
 
@@ -64,9 +98,14 @@ func GetBaseFromLyDataByIndexCode(condition string, pars []interface{}) (items [
 	if condition != "" {
 		sql += condition
 	}
-	_, err = o.Raw(sql, pars...).QueryRows(&items)
+	var ormList []BaseFromLyDataOrm
+	_, err = o.Raw(sql, pars...).QueryRows(&ormList)
 	if errors.Is(err, orm.ErrNoRows) {
 		return nil, nil
 	}
+	if err != nil {
+		return
+	}
+	items = convertToLyDataList(ormList)
 	return
 }