db_init.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. _ "github.com/go-sql-driver/mysql"
  5. "hongze/hongze_open_api/models/tables"
  6. "hongze/hongze_open_api/models/tables/admin"
  7. "hongze/hongze_open_api/models/tables/business_conf"
  8. "hongze/hongze_open_api/models/tables/company"
  9. "hongze/hongze_open_api/models/tables/company_product"
  10. "hongze/hongze_open_api/models/tables/cygx/article"
  11. "hongze/hongze_open_api/models/tables/cygx/cygx_activity"
  12. "hongze/hongze_open_api/models/tables/cygx/cygx_chart"
  13. "hongze/hongze_open_api/models/tables/cygx/cygx_three_api_log"
  14. "hongze/hongze_open_api/models/tables/day_new"
  15. "hongze/hongze_open_api/models/tables/open_api_user"
  16. "hongze/hongze_open_api/models/tables/qs_event"
  17. "hongze/hongze_open_api/models/tables/qs_event_user"
  18. "hongze/hongze_open_api/models/tables/wx_user"
  19. "hongze/hongze_open_api/models/tables/yb_activity"
  20. "hongze/hongze_open_api/utils"
  21. "time"
  22. )
  23. func init() {
  24. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  25. orm.SetMaxIdleConns("default", 50)
  26. orm.SetMaxOpenConns("default", 100)
  27. db, _ := orm.GetDB("default")
  28. db.SetConnMaxLifetime(10 * time.Minute)
  29. //rddp数据库
  30. _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
  31. orm.SetMaxIdleConns("rddp", 50)
  32. orm.SetMaxOpenConns("rddp", 100)
  33. report_db, _ := orm.GetDB("rddp")
  34. report_db.SetConnMaxLifetime(10 * time.Minute)
  35. _ = orm.RegisterDataBase("hz_cygx", "mysql", utils.MYSQL_URL_CYGX)
  36. orm.SetMaxIdleConns("hz_cygx", 50)
  37. orm.SetMaxOpenConns("hz_cygx", 100)
  38. cygx_db, _ := orm.GetDB("hz_cygx")
  39. cygx_db.SetConnMaxLifetime(10 * time.Minute)
  40. if utils.MYSQL_URL_ETA != `` {
  41. _ = orm.RegisterDataBase("eta", "mysql", utils.MYSQL_URL_ETA)
  42. orm.SetMaxIdleConns("eta", 50)
  43. orm.SetMaxOpenConns("eta", 100)
  44. eta_db, _ := orm.GetDB("eta")
  45. eta_db.SetConnMaxLifetime(10 * time.Minute)
  46. }
  47. //注册对象
  48. orm.RegisterModel(
  49. new(open_api_user.OpenApiUser), //开放API用户表
  50. new(admin.Admin), //系统用户表
  51. new(article.CygxArticleCeluePush), //策略平台推送过来更新的文章
  52. new(cygx_chart.CygxChartCeluePush), //策略平台推送过来更新的图表
  53. new(cygx_activity.CygxActivitySignup), //易董报名审核
  54. new(cygx_activity.CygxYidongActivitySignupLog), //易董报名记录日志
  55. new(cygx_activity.CygxYidongActivityExamineStatus), //易董审核记录日志
  56. new(cygx_activity.CygxMySchedule), //易董审核通过之后添加我的日程
  57. new(cygx_three_api_log.CygxThreeApiLog), //易董审核通过之后添加我的日程
  58. new(business_conf.BusinessConf), //商家配置
  59. )
  60. orm.Debug = true
  61. orm.DebugLog = orm.NewLog(utils.Binlog)
  62. // 注册研报相关的表
  63. initYb()
  64. // 注册客户相关的表
  65. initCompany()
  66. initEnglishReport()
  67. AfterInitTable()
  68. }
  69. // initYb 研报活动相关
  70. func initYb() {
  71. orm.RegisterModel(
  72. new(yb_activity.Activity), //研报活动
  73. new(qs_event.QsEvent), //全时与ficc研报活动的关系表
  74. new(qs_event_user.QsEventUser), //全时参会信息
  75. new(day_new.WeworkMsg), // 企业微信会话存档表
  76. new(day_new.WeworkMsgLog), // 企业微信群消息拉取日志表
  77. new(day_new.WeworkUser), // 企业微信用户信息表
  78. )
  79. }
  80. // initCompany 注册客户相关的
  81. func initCompany() {
  82. orm.RegisterModel(
  83. new(company.Company), //company客户表
  84. new(company_product.CompanyProduct), //company_product客户产品表
  85. new(wx_user.WxUser), //微信用户表
  86. )
  87. }
  88. // initEnglishReport 英文研报
  89. func initEnglishReport() {
  90. orm.RegisterModel(
  91. new(tables.EnglishClassify), //EnglishClassify 英文分类表
  92. new(tables.EnglishPolicyReport), //EnglishPolicyReport 英文策略表
  93. new(tables.EnglishReport), //英文研报表
  94. )
  95. }
  96. func AfterInitTable() {
  97. // 初始化商家基本配置
  98. business_conf.InitBusinessConf()
  99. }