db.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package models
  2. import (
  3. "eta/eta_task/models/data_manage"
  4. "eta/eta_task/models/data_manage/future_good"
  5. "eta/eta_task/utils"
  6. _ "github.com/go-sql-driver/mysql"
  7. "time"
  8. "github.com/beego/beego/v2/client/orm"
  9. )
  10. func init() {
  11. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  12. orm.SetMaxIdleConns("default", 50)
  13. orm.SetMaxOpenConns("default", 100)
  14. db, _ := orm.GetDB("default")
  15. db.SetConnMaxLifetime(10 * time.Minute)
  16. if utils.MYSQL_URL_RDDP != "" {
  17. _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
  18. orm.SetMaxIdleConns("rddp", 50)
  19. orm.SetMaxOpenConns("rddp", 100)
  20. report_db, _ := orm.GetDB("rddp")
  21. report_db.SetConnMaxLifetime(10 * time.Minute)
  22. }
  23. if utils.MYSQL_URL_EDB != "" {
  24. _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB)
  25. orm.SetMaxIdleConns("edb", 50)
  26. orm.SetMaxOpenConns("edb", 100)
  27. edb_db, _ := orm.GetDB("edb")
  28. edb_db.SetConnMaxLifetime(10 * time.Minute)
  29. }
  30. if utils.MYSQL_URL_DATA != "" {
  31. _ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA)
  32. orm.SetMaxIdleConns("data", 50)
  33. orm.SetMaxOpenConns("data", 100)
  34. data_db, _ := orm.GetDB("data")
  35. data_db.SetConnMaxLifetime(10 * time.Minute)
  36. }
  37. if utils.MYSQL_URL_GL != "" {
  38. _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL)
  39. orm.SetMaxIdleConns("gl", 50)
  40. orm.SetMaxOpenConns("gl", 100)
  41. gl, _ := orm.GetDB("gl")
  42. gl.SetConnMaxLifetime(10 * time.Minute)
  43. }
  44. if utils.MYSQL_URL_ETA != "" {
  45. _ = orm.RegisterDataBase("eta", "mysql", utils.MYSQL_URL_ETA)
  46. orm.SetMaxIdleConns("eta", 50)
  47. orm.SetMaxOpenConns("eta", 100)
  48. etaDb, _ := orm.GetDB("eta")
  49. etaDb.SetConnMaxLifetime(10 * time.Minute)
  50. }
  51. orm.Debug = true
  52. orm.DebugLog = orm.NewLog(utils.Binlog)
  53. // 注册Edb指标 数据表
  54. initEdbDataTable()
  55. // 注册商品期货 相关数据表
  56. initFutureGoodEdbDataTable()
  57. //注册持仓分析 数据表
  58. initTradePositionTop()
  59. // 智能研报数据表
  60. initSmartReport()
  61. // 初始化部分数据表变量(直接init会有顺序问题=_=!)
  62. data_manage.InitEdbSourceVar()
  63. }
  64. // initEdbDataTable 注册Edb指标 数据表
  65. func initEdbDataTable() {
  66. //注册对象
  67. orm.RegisterModel(
  68. new(data_manage.EdbDataWind),
  69. new(data_manage.EdbDataThs),
  70. new(data_manage.EdbDataPb),
  71. new(data_manage.BaseFromSmm),
  72. new(data_manage.BaseFromSmmIndex),
  73. new(data_manage.BaseFromSmmData),
  74. new(data_manage.EdbDataYs),
  75. new(data_manage.EdbInfoCalculateMapping),
  76. new(data_manage.EdbInfo), //hz_data库的edb_info表
  77. new(data_manage.EdbDataCalculateZjpj), //直接拼接
  78. new(data_manage.EdbDataCalculateLjztbpj), //累计同比值拼接
  79. new(data_manage.BaseFromTradeZhengzhouIndex),
  80. new(data_manage.BaseFromTradeDalianIndex),
  81. new(data_manage.BaseFromTradeShanghaiIndex),
  82. new(data_manage.BaseFromTradeCffexIndex),
  83. new(data_manage.BaseFromTradeIneIndex),
  84. new(data_manage.BaseFromChangesVisitorsCovid),
  85. new(data_manage.BaseFromEiaSteoIndex),
  86. new(data_manage.BaseFromEiaSteoData),
  87. new(data_manage.ComTradeIndex), // 联合国指标表
  88. new(data_manage.ComTradeCodeMapping), // 联合国指标关系表
  89. new(data_manage.ComTradeData), // 联合国数据表
  90. new(data_manage.MeetingProbabilities), // 联储加息概率
  91. //广期所
  92. new(data_manage.BaseFromTradeGuangzhouClassify),
  93. new(data_manage.BaseFromTradeGuangzhouContract),
  94. new(data_manage.BaseFromTradeGuangzhouIndex),
  95. new(data_manage.BaseFromTradeGuangzhouData),
  96. //ICPI
  97. new(data_manage.BaseFromIcpiIndex),
  98. new(data_manage.BaseFromIcpiClassify),
  99. new(data_manage.BaseFromIcpiData),
  100. )
  101. }
  102. // initFutureGoodEdbDataTable 注册商品期货Edb指标 数据表
  103. func initFutureGoodEdbDataTable() {
  104. //注册对象
  105. orm.RegisterModel(
  106. new(future_good.FutureGoodEdbInfo),
  107. )
  108. }
  109. // initTradePositionTop 注册持仓分析 数据表
  110. func initTradePositionTop() {
  111. //注册对象
  112. orm.RegisterModel(
  113. new(data_manage.TradePositionDalianTop),
  114. new(data_manage.TradePositionZhengzhouTop),
  115. new(data_manage.TradePositionShanghaiTop),
  116. new(data_manage.TradePositionIneTop),
  117. new(data_manage.TradePositionCffexTop),
  118. new(data_manage.BaseFromTradeClassify), // 交易所分类
  119. )
  120. }
  121. // initSmartReport 注册智能研报数据表
  122. func initSmartReport() {
  123. orm.RegisterModel(
  124. new(SmartReport),
  125. new(ReportStateRecord),
  126. )
  127. }