base_from_trade_cffex.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package data_manage
  2. import (
  3. sql2 "database/sql"
  4. "eta/eta_task/global"
  5. "eta/eta_task/utils"
  6. "time"
  7. )
  8. type BaseFromTradeCffexIndex struct {
  9. BaseFromTradeCffexIndexId int `gorm:"column:base_from_trade_cffex_index_id;primaryKey;autoIncrement"`
  10. Rank int
  11. DealShortName string
  12. DealName string
  13. DealCode string
  14. DealValue int
  15. DealChange int
  16. BuyShortName string
  17. BuyName string
  18. BuyCode string
  19. BuyValue int
  20. BuyChange int
  21. SoldShortName string
  22. SoldName string
  23. SoldCode string
  24. SoldValue int
  25. SoldChange int
  26. Frequency string
  27. ClassifyName string
  28. ClassifyType string
  29. CreateTime time.Time
  30. ModifyTime time.Time
  31. DataTime string
  32. }
  33. func AddBaseFromTradeCffexIndex(item *BaseFromTradeCffexIndex) (lastId int64, err error) {
  34. err = global.DbMap[utils.DbNameIndex].Create(item).Error
  35. return
  36. }
  37. func GetBaseFromTradeCffexIndexAll(dateStr string) (list []*BaseFromTradeCffexIndex, err error) {
  38. o := global.DbMap[utils.DbNameIndex]
  39. sql := `SELECT * FROM base_from_trade_cffex_index WHERE data_time=?`
  40. err = o.Raw(sql, dateStr).Find(&list).Error
  41. return
  42. }
  43. func ModifyBaseFromTradeCffexIndex(columnList [5]string, dataList [5]interface{}, dataId int) (err error) {
  44. o := global.DbMap[utils.DbNameIndex]
  45. sql := "UPDATE base_from_trade_cffex_index SET " +
  46. columnList[0] + "=?," + columnList[1] + "=?," + columnList[2] + "=?," + columnList[3] + "=?," + columnList[4] +
  47. "=?,modify_time=NOW() WHERE base_from_trade_cffex_index_id=? "
  48. err = o.Exec(sql, dataList[0], dataList[1], dataList[2], dataList[3], dataList[4], dataId).Error
  49. return
  50. }
  51. type CffexIndexResp struct {
  52. Ret int
  53. Msg string
  54. ErrMsg string
  55. ErrCode string
  56. Data []*BaseFromTradeCffexIndex
  57. }
  58. func GetBaseFromTradeCffexIndexMaxDate() (maxDate time.Time, err error) {
  59. o := global.DbMap[utils.DbNameIndex]
  60. sql := ` SELECT max(a.data_time)as max_date FROM base_from_trade_cffex_index as a `
  61. var timeNull sql2.NullTime
  62. err = o.Raw(sql).Scan(&timeNull).Error
  63. if err != nil {
  64. return
  65. }
  66. if timeNull.Valid {
  67. maxDate = timeNull.Time
  68. }
  69. return
  70. }