db.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. package models
  2. import (
  3. _ "github.com/go-sql-driver/mysql"
  4. "hongze/hongze_task/models/company_approval"
  5. "hongze/hongze_task/models/company_contract"
  6. "hongze/hongze_task/models/data_manage"
  7. "hongze/hongze_task/models/data_manage/future_good"
  8. "hongze/hongze_task/models/roadshow"
  9. "hongze/hongze_task/models/yb"
  10. "hongze/hongze_task/utils"
  11. "time"
  12. "github.com/beego/beego/v2/client/orm"
  13. )
  14. func init() {
  15. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  16. orm.SetMaxIdleConns("default", 50)
  17. orm.SetMaxOpenConns("default", 100)
  18. db, _ := orm.GetDB("default")
  19. db.SetConnMaxLifetime(10 * time.Minute)
  20. _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
  21. orm.SetMaxIdleConns("rddp", 50)
  22. orm.SetMaxOpenConns("rddp", 100)
  23. report_db, _ := orm.GetDB("rddp")
  24. report_db.SetConnMaxLifetime(10 * time.Minute)
  25. _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB)
  26. orm.SetMaxIdleConns("edb", 50)
  27. orm.SetMaxOpenConns("edb", 100)
  28. edb_db, _ := orm.GetDB("edb")
  29. edb_db.SetConnMaxLifetime(10 * time.Minute)
  30. _ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA)
  31. orm.SetMaxIdleConns("data", 50)
  32. orm.SetMaxOpenConns("data", 100)
  33. data_db, _ := orm.GetDB("data")
  34. data_db.SetConnMaxLifetime(10 * time.Minute)
  35. _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL)
  36. orm.SetMaxIdleConns("gl", 50)
  37. orm.SetMaxOpenConns("gl", 100)
  38. gl, _ := orm.GetDB("gl")
  39. gl.SetConnMaxLifetime(10 * time.Minute)
  40. _ = orm.RegisterDataBase("weekly_trial", "mysql", utils.MYSQL_URL_WEEKLY_TRIAL)
  41. orm.SetMaxIdleConns("weekly_trial", 50)
  42. orm.SetMaxOpenConns("weekly_trial", 100)
  43. trial_datadb, _ := orm.GetDB("weekly_trial")
  44. trial_datadb.SetConnMaxLifetime(10 * time.Minute)
  45. orm.Debug = true
  46. orm.DebugLog = orm.NewLog(utils.Binlog)
  47. //注册对象
  48. orm.RegisterModel(
  49. new(EdbinfoSendMsgRecord),
  50. new(StackCompanyStatistic),
  51. new(company_contract.CompanyContract),
  52. new(company_contract.CompanyContractPermission),
  53. new(company_approval.CompanyApproval),
  54. new(Classify),
  55. new(ReportSendThsDetail),
  56. new(Report),
  57. new(UserViewStatistics),
  58. new(roadshow.RsReportRecord), //路演记录
  59. new(CompanyReportRecord),
  60. new(ChartPermission), // 权限表
  61. )
  62. // 注册客户信息 数据表
  63. initCompany()
  64. // 注册Edb指标 数据表
  65. initEdbDataTable()
  66. // 注册研报 数据表
  67. initYbTable()
  68. // 注册查研观向 数据表
  69. initCygx()
  70. // 注册商品期货 相关数据表
  71. initFutureGoodEdbDataTable()
  72. //注册持仓分析 数据表
  73. initTradePositionTop()
  74. }
  75. // initCompany 注册客户信息 数据表
  76. func initCompany() {
  77. //注册对象
  78. orm.RegisterModel(
  79. new(Company),
  80. new(CompanyReportPermission),
  81. new(CompanyReportPermissionLog),
  82. new(CompanyOperationRecord),
  83. new(CompanyProduct),
  84. new(CompanyPermissionLog),
  85. new(CompanyEndDate),
  86. new(CompanyProductUpdateLog), //客户产品状态变更表
  87. new(CompanyViewStatistics),
  88. )
  89. }
  90. // initEdbDataTable 注册Edb指标 数据表
  91. func initEdbDataTable() {
  92. //注册对象
  93. orm.RegisterModel(
  94. new(DataSourceLongzhong),
  95. new(Longzhonginfo),
  96. new(Longzhongdata),
  97. new(EdbdataClassify),
  98. new(Longzhongpriceinfo),
  99. new(Longzhongpricedata),
  100. new(LongzhongSurveyProduct),
  101. new(LongzhongSurveyData),
  102. new(data_manage.EdbDataWind),
  103. new(data_manage.EdbDataThs),
  104. new(data_manage.EdbDataPb),
  105. new(data_manage.BaseFromSmm),
  106. new(data_manage.BaseFromSmmIndex),
  107. new(data_manage.BaseFromSmmData),
  108. new(data_manage.EdbDataYs),
  109. new(Edbdata),
  110. new(data_manage.EdbInfoCalculateMapping),
  111. new(data_manage.EdbInfo), //hz_data库的edb_info表
  112. new(data_manage.EdbDataCalculateZjpj), //直接拼接
  113. new(data_manage.EdbDataCalculateLjztbpj), //累计同比值拼接
  114. new(data_manage.EdbDataLt), //路透指标数据表
  115. new(VarietyClassify), // 标签分类表
  116. new(VarietyTag), // 标签表
  117. new(ResearchVarietyTagRelation), // 研究员标签关系表
  118. new(CompanyProductTryOutUpdateLog), //客户产品试用变更状态表
  119. new(CompanyProductTryOutUpdatePermissionLog), //客户产品试用变更品种详情表
  120. )
  121. }
  122. // initYbTable 注册ETA表格 数据表
  123. func initYbTable() {
  124. //注册对象
  125. orm.RegisterModel(
  126. new(yb.Activity), // 研报活动表
  127. new(yb.ActivityType), //研报活动分类表
  128. new(yb.ActivityVoice), //研报活动语音表
  129. new(yb.ActivityRegister), //研报活动报名表
  130. new(yb.Speaker), //研报主持人表
  131. new(yb.PriceDriven), // 研报价格驱动表
  132. new(yb.ComeinEvent), //进门会议表
  133. new(yb.ComeinEventUser), //进门会议用户表
  134. new(yb.CommunityVideo), //研报视频社区
  135. new(yb.VoiceBroadcast), // 语音播报
  136. )
  137. }
  138. func initEdb() {
  139. orm.RegisterModel(
  140. new(data_manage.TableData),
  141. new(data_manage.TableEdbMapping),
  142. new(data_manage.TableInfo),
  143. )
  144. }
  145. // initCygx 注册查研观向 数据表
  146. func initCygx() {
  147. //注册对象
  148. orm.RegisterModel(
  149. new(data_manage.CygxReportMapping),
  150. new(data_manage.CygxResearchSummary),
  151. new(data_manage.CygxResearchSummaryLog),
  152. new(data_manage.CygxMinutesSummary),
  153. new(data_manage.CygxMinutesSummaryLog),
  154. new(data_manage.CygxArticle),
  155. new(data_manage.CygxArticleType),
  156. )
  157. }
  158. // initFutureGoodEdbDataTable 注册商品期货Edb指标 数据表
  159. func initFutureGoodEdbDataTable() {
  160. //注册对象
  161. orm.RegisterModel(
  162. new(future_good.FutureGoodEdbInfo),
  163. )
  164. }
  165. // initTradePositionTop 注册持仓分析 数据表
  166. func initTradePositionTop() {
  167. //注册对象
  168. orm.RegisterModel(
  169. new(data_manage.TradePositionDalianTop),
  170. new(data_manage.TradePositionZhengzhouTop),
  171. new(data_manage.TradePositionShanghaiTop),
  172. new(data_manage.TradePositionIneTop),
  173. new(data_manage.TradePositionCffexTop),
  174. )
  175. }