db.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package models
  2. import (
  3. "eta/eta_index_lib/models/data_stat"
  4. "eta/eta_index_lib/models/edb_refresh"
  5. "eta/eta_index_lib/models/excel"
  6. "eta/eta_index_lib/models/future_good"
  7. "eta/eta_index_lib/models/supply_analysis"
  8. "eta/eta_index_lib/utils"
  9. "time"
  10. "github.com/beego/beego/v2/client/orm"
  11. _ "github.com/go-sql-driver/mysql"
  12. )
  13. func init() {
  14. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  15. orm.SetMaxIdleConns("default", 50)
  16. orm.SetMaxOpenConns("default", 100)
  17. db, _ := orm.GetDB("default")
  18. db.SetConnMaxLifetime(10 * time.Minute)
  19. _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB)
  20. orm.SetMaxIdleConns("edb", 50)
  21. orm.SetMaxOpenConns("edb", 100)
  22. edb_db, _ := orm.GetDB("edb")
  23. edb_db.SetConnMaxLifetime(10 * time.Minute)
  24. _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL)
  25. orm.SetMaxIdleConns("gl", 50)
  26. orm.SetMaxOpenConns("gl", 100)
  27. gl, _ := orm.GetDB("gl")
  28. gl.SetConnMaxLifetime(10 * time.Minute)
  29. orm.Debug = true
  30. orm.DebugLog = orm.NewLog(utils.Binlog)
  31. //注册对象
  32. orm.RegisterModel(
  33. new(EdbDataCalculateZjpj),
  34. new(EdbDataCalculateLjztbpj),
  35. new(EdbInfo),
  36. new(EdbInfoRecord),
  37. new(BaseFromSmmRecord),
  38. new(BaseFromMysteelChemicalRecord),
  39. new(EdbInfoCalculateMapping),
  40. new(EdbPythonCode),
  41. new(EdbDataPython),
  42. new(ChartEdbMapping),
  43. new(PredictEdbConf),
  44. new(EdbClassify),
  45. new(PredictEdbConfCalculateMapping),
  46. new(PredictEdbRuleData),
  47. new(EdbDataCalculateNhcc),
  48. new(EdbDataPredictCalculateLjztbpj),
  49. new(EdbDataPredictCalculateNhcc),
  50. new(EdbDataPredictCalculateZjpj),
  51. new(EdbAdjustConf), // 数据调整的配置
  52. new(EdbDataInsertConfig),
  53. new(BaseFromMysteelChemicalClassify),
  54. )
  55. // 注册期货数据 数据表
  56. initFutureGood()
  57. // 供应分析 数据表
  58. initSupplyAnalysis()
  59. // 基础指标表
  60. initBaseIndex()
  61. // initDataStat 数据源统计管理相关表
  62. initDataStat()
  63. // Eta表格相关
  64. initExcel()
  65. // 初始化指标刷新
  66. initEdbRefresh()
  67. // 初始化部分数据表变量(直接init会有顺序问题=_=!)
  68. InitEdbSource()
  69. }
  70. // initFutureGood 注册期货数据 数据表
  71. func initFutureGood() {
  72. //注册对象
  73. orm.RegisterModel(
  74. new(future_good.FutureGoodEdbInfo), //期货指标表
  75. new(future_good.FutureGoodEdbData), //期货指标数据表
  76. new(future_good.ChartInfoFutureGoodProfit), //商品期货利润图表相关的信息
  77. )
  78. }
  79. // initSupplyAnalysis 供应分析
  80. func initSupplyAnalysis() {
  81. orm.RegisterModel(
  82. new(supply_analysis.Variety),
  83. new(supply_analysis.VarietyAdminPermission),
  84. new(supply_analysis.VarietyEdbInfo),
  85. new(supply_analysis.VarietyPlant),
  86. new(supply_analysis.BaseFromStockPlantData),
  87. )
  88. }
  89. // initBaseIndex 基础指标表
  90. func initBaseIndex() {
  91. orm.RegisterModel(
  92. new(BaseFromSciIndex),
  93. new(BaseFromSciData),
  94. new(BaseFromBaiinfoIndex),
  95. new(BaseFromBaiinfoData),
  96. new(BaseFromSmmIndex),
  97. new(BaseFromSmmData),
  98. new(BaseFromMysteelChemicalIndex),
  99. new(BaseFromMysteelChemicalData),
  100. new(BaseFromTradeShanghaiIndex),
  101. new(BaseFromTradeIneIndex),
  102. new(BaseFromSmmClassify),
  103. new(BaseFromYongyiIndex),
  104. new(BaseFromYongyiData),
  105. new(BaseFromYongyiClassify),
  106. new(BaseFromCoalmineMapping),
  107. new(BaseFromCoalmineJsmIndex),
  108. new(BaseFromCoalmineCoastalIndex),
  109. new(BaseFromCoalmineInlandIndex),
  110. new(BaseFromCoalmineCompanyIndex),
  111. new(BaseFromCoalmineFirmIndex),
  112. new(BaseFromFenweiIndex),
  113. new(BaseFromFenweiData),
  114. new(BaseFromMtjhMapping),
  115. new(BaseFromMtjhIndex),
  116. new(BaseFromBloombergIndex),
  117. new(BaseFromBloombergData),
  118. )
  119. }
  120. // initDataStat 数据源统计管理相关表
  121. func initDataStat() {
  122. orm.RegisterModel(
  123. new(data_stat.EdbInfoUpdateLog), // 指标更新/刷新日志列表
  124. new(data_stat.EdbInfoUpdateStat), // 数据源明细表
  125. new(data_stat.EdbSourceStat), // 数据源统计表
  126. )
  127. }
  128. // initExcel Excel
  129. func initExcel() {
  130. orm.RegisterModel(
  131. new(excel.ExcelInfo),
  132. new(excel.ExcelClassify),
  133. new(excel.ExcelEdbMapping), //excel与指标的关系表
  134. )
  135. }
  136. // initEdbRefresh 初始化指标刷新
  137. func initEdbRefresh() {
  138. orm.RegisterModel(
  139. new(edb_refresh.EdbRefreshSource), // 刷新的数据源表
  140. new(edb_refresh.EdbRefreshDefaultConfig), // 指标的默认刷新时间配置表
  141. new(edb_refresh.EdbRefreshConfig), // 指标的刷新时间配置表
  142. new(edb_refresh.EdbRefreshMapping), // 指标刷新时间配置关系表
  143. )
  144. }