edb_data_cffex.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package data_manage
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "time"
  7. )
  8. type CffexData struct {
  9. InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
  10. DataTime string `orm:"column(DATA_DATE)" description:"值"`
  11. }
  12. type BaseFromCffexDataSimple struct {
  13. Id int `orm:"column(base_from_trade_cffex_index_id);pk"`
  14. DealCode string
  15. BuyCode string
  16. SoldCode string
  17. DataTime string
  18. DealValue string
  19. BuyValue string
  20. SoldValue string
  21. }
  22. type BaseInfoFromCffex struct {
  23. DealName string
  24. BuyName string
  25. SoldName string
  26. }
  27. type BaseFromTradeCFFEXIndex struct {
  28. //BaseFromTradeCffexIndexId int `orm:"column(base_from_trade_cffex_index_id);pk"`
  29. BaseFromTradeCffexIndexId int `gorm:"column:base_from_trade_cffex_index_id;primaryKey"`
  30. Rank int
  31. DealShortName string
  32. DealName string
  33. DealCode string
  34. DealValue string
  35. DealChange int
  36. BuyShortName string
  37. BuyName string
  38. BuyCode string
  39. BuyValue string
  40. BuyChange int
  41. SoldShortName string
  42. SoldName string
  43. SoldCode string
  44. SoldValue string
  45. SoldChange int
  46. Frequency string
  47. ClassifyName string
  48. ClassifyType string
  49. CreateTime time.Time
  50. ModifyTime time.Time
  51. DataTime string
  52. }
  53. type MaxAndMinDate struct {
  54. MaxDate time.Time `gorm:"column:maxDate"`
  55. MinDate time.Time `gorm:"column:minDate"`
  56. }
  57. func GetEdbDataCffexMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
  58. //o := orm.NewOrmUsingDB("data")
  59. sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_cffex WHERE edb_code=? `
  60. //err = o.Raw(sql, edbCode).QueryRow(&minDate, &maxDate)
  61. var maxAndMinDate MaxAndMinDate
  62. err = global.DbMap[utils.DbNameIndex].Raw(sql, edbCode).First(&maxAndMinDate).Error
  63. if err != nil {
  64. return
  65. }
  66. minDate = maxAndMinDate.MinDate.Format(utils.FormatDate)
  67. maxDate = maxAndMinDate.MaxDate.Format(utils.FormatDate)
  68. return
  69. }
  70. // GetBaseInfoFromCffexByIndexCode 获取指标信息
  71. func GetBaseInfoFromCffexByIndexCode(indexCode, suffix string) (list []*BaseInfoFromCffex, err error) {
  72. //o := orm.NewOrmUsingDB("data")
  73. sql := `SELECT * FROM base_from_trade_cffex_index WHERE %s_code=? `
  74. sql = fmt.Sprintf(sql, suffix)
  75. //_, err = o.Raw(sql, indexCode).QueryRows(&list)
  76. err = global.DbMap[utils.DbNameIndex].Raw(sql, indexCode).Find(&list).Error
  77. return
  78. }