edb_data_sh.go 2.4 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 ShData struct {
  9. InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
  10. DataTime string `orm:"column(DATA_DATE)" description:"值"`
  11. }
  12. type BaseFromShDataSimple struct {
  13. //Id int `orm:"column(base_from_trade_shanghai_index_id);pk"`
  14. Id int `gorm:"column:base_from_trade_shanghai_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 BaseInfoFromSh struct {
  24. DealName string
  25. BuyName string
  26. SoldName string
  27. }
  28. type BaseFromTradeShIndex struct {
  29. //BaseFromTradeShIndexId int `orm:"column(base_from_trade_shanghai_index_id);pk"`
  30. BaseFromTradeShIndexId int `gorm:"column:base_from_trade_shanghai_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 GetEdbDataShMaxOrMinDate(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_sh 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. // GetBaseInfoFromShByIndexCode 获取指标信息
  68. func GetBaseInfoFromShByIndexCode(indexCode, suffix string) (list []*BaseInfoFromSh, err error) {
  69. //o := orm.NewOrmUsingDB("data")
  70. sql := `SELECT * FROM base_from_trade_shanghai_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. }