edb_data_dl.go 2.5 KB

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