edb_data_calculate_zjpj.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package data_manage
  2. import (
  3. "rdluck_tools/orm"
  4. "time"
  5. )
  6. // EdbDataCalculateZjpj 直接拼接数据结构体
  7. type EdbDataCalculateZjpj struct {
  8. EdbDataId int `orm:"column(edb_data_id);pk"`
  9. EdbInfoId int
  10. EdbCode string
  11. DataTime string
  12. Value float64
  13. Status int
  14. CreateTime time.Time
  15. ModifyTime time.Time
  16. DataTimestamp int64
  17. }
  18. func AddEdbDataCalculateZjpjBySql(sqlStr string) (err error) {
  19. o := orm.NewOrm()
  20. o.Using("data")
  21. _, err = o.Raw(sqlStr).Exec()
  22. return
  23. }
  24. func GetEdbDataCalculateZjpjMaxOrMinDate(edbCode string) (min_date, max_date string, err error) {
  25. o := orm.NewOrm()
  26. o.Using("data")
  27. sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date FROM edb_data_calculate_zjpj WHERE edb_code=? `
  28. err = o.Raw(sql, edbCode).QueryRow(&min_date, &max_date)
  29. return
  30. }
  31. func GetEdbDataCalculateZjpjByCode(edbCode string, size int) (items []*EdbInfoSearchData, err error) {
  32. o := orm.NewOrm()
  33. o.Using("data")
  34. sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_code=? ORDER BY data_time DESC LIMIT ? `
  35. _, err = o.Raw(sql, edbCode, size).QueryRows(&items)
  36. return
  37. }
  38. // GetAllEdbDataCalculateZjpjByEdbInfoId 根据指标id获取全部的数据
  39. func GetAllEdbDataCalculateZjpjByEdbInfoId(edbInfoId int) (items []*EdbDataCalculateZjpj, err error) {
  40. o := orm.NewOrm()
  41. o.Using("data")
  42. sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_info_id=? ORDER BY data_time DESC `
  43. _, err = o.Raw(sql, edbInfoId).QueryRows(&items)
  44. return
  45. }
  46. type EdbDataFromZjpj struct {
  47. Date map[string]int64 `json:"date"`
  48. Ticker map[string]string `json:"ticker"`
  49. Field map[string]string `json:"field"`
  50. Value map[string]float64 `json:"value"`
  51. }