|
@@ -5,9 +5,38 @@ import (
|
|
|
"errors"
|
|
|
"eta/eta_index_lib/utils"
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
type BaseFromRzdData struct {
|
|
|
+ BaseFromRzdDataId int `orm:"column(base_from_rzd_data_id);pk"`
|
|
|
+ BaseFromRzdIndexId int `orm:"column(base_from_rzd_index_id)"`
|
|
|
+ CreateTime time.Time `orm:"column(create_time)"`
|
|
|
+ DataTime time.Time `orm:"column(data_time)"`
|
|
|
+ IndexCode string `orm:"column(index_code)"`
|
|
|
+ ModifyTime time.Time `orm:"column(modify_time)"`
|
|
|
+ Value float64 `orm:"column(value)"`
|
|
|
+}
|
|
|
+
|
|
|
+func (t *BaseFromRzdData) toView() BaseFromRzdDataView {
|
|
|
+ return BaseFromRzdDataView{
|
|
|
+ BaseFromRzdDataId: t.BaseFromRzdDataId,
|
|
|
+ BaseFromRzdIndexId: t.BaseFromRzdIndexId,
|
|
|
+ CreateTime: t.CreateTime.Format(utils.FormatDateTime),
|
|
|
+ DataTime: t.DataTime.Format(utils.FormatDate),
|
|
|
+ IndexCode: t.IndexCode,
|
|
|
+ ModifyTime: t.ModifyTime.Format(utils.FormatDateTime),
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func toViewList(items []BaseFromRzdData) (viewList []BaseFromRzdDataView) {
|
|
|
+ for _, item := range items {
|
|
|
+ viewList = append(viewList, item.toView())
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+type BaseFromRzdDataView struct {
|
|
|
BaseFromRzdDataId int `orm:"column(base_from_rzd_data_id);pk"`
|
|
|
BaseFromRzdIndexId int `orm:"column(base_from_rzd_index_id)"`
|
|
|
CreateTime string `orm:"column(create_time)"`
|
|
@@ -29,16 +58,18 @@ func AddRzdDataList(items []BaseFromRzdData) (err error) {
|
|
|
}
|
|
|
|
|
|
// GetRzdDataByIndexCodeAndDataTime 根据指标id和数据日期查询数据
|
|
|
-func GetRzdDataByIndexCodeAndDataTime(indexCode string, dataTime string) (items BaseFromRzdData, err error) {
|
|
|
+func GetRzdDataByIndexCodeAndDataTime(indexCode string, dataTime string) (item BaseFromRzdDataView, err error) {
|
|
|
o := orm.NewOrm()
|
|
|
sql := `SELECT * FROM base_from_rzd_data WHERE index_code=? AND data_time=?`
|
|
|
- err = o.Raw(sql, indexCode, dataTime).QueryRow(&items) // 使用 QueryRow
|
|
|
+ var ormItem BaseFromRzdData
|
|
|
+ err = o.Raw(sql, indexCode, dataTime).QueryRow(&ormItem) // 使用 QueryRow
|
|
|
if errors.Is(err, orm.ErrNoRows) {
|
|
|
- return items, nil
|
|
|
+ return item, nil
|
|
|
}
|
|
|
if err != nil {
|
|
|
- return items, err
|
|
|
+ return item, err
|
|
|
}
|
|
|
+ item = ormItem.toView()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -51,16 +82,21 @@ func UpdateRzdDataById(dataId int, value float64) (err error) {
|
|
|
}
|
|
|
|
|
|
// GetBaseFromRzdDataByCondition 添加查询
|
|
|
-func GetBaseFromRzdDataByCondition(condition string, pars []interface{}) (items []BaseFromRzdData, err error) {
|
|
|
+func GetBaseFromRzdDataByCondition(condition string, pars []interface{}) (items []BaseFromRzdDataView, err error) {
|
|
|
sql := `SELECT * FROM base_from_rzd_data WHERE 1=1 `
|
|
|
o := orm.NewOrm()
|
|
|
if condition != "" {
|
|
|
sql += condition
|
|
|
}
|
|
|
- _, err = o.Raw(sql, pars...).QueryRows(&items)
|
|
|
+ var ormList []BaseFromRzdData
|
|
|
+ _, err = o.Raw(sql, pars...).QueryRows(&ormList)
|
|
|
if errors.Is(err, orm.ErrNoRows) {
|
|
|
return nil, nil
|
|
|
}
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ items = toViewList(ormList)
|
|
|
return
|
|
|
}
|
|
|
|