db.go 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. package models
  2. import (
  3. "eta/eta_mobile/models/data_manage"
  4. "eta/eta_mobile/models/data_stat"
  5. "eta/eta_mobile/models/ppt_english"
  6. "eta/eta_mobile/models/report_approve"
  7. "eta/eta_mobile/models/sandbox"
  8. saModel "eta/eta_mobile/models/semantic_analysis"
  9. "eta/eta_mobile/models/system"
  10. "eta/eta_mobile/utils"
  11. _ "github.com/go-sql-driver/mysql"
  12. "time"
  13. "github.com/beego/beego/v2/client/orm"
  14. )
  15. func init() {
  16. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  17. orm.SetMaxIdleConns("default", 50)
  18. orm.SetMaxOpenConns("default", 100)
  19. db, _ := orm.GetDB("default")
  20. db.SetConnMaxLifetime(10 * time.Minute)
  21. _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
  22. orm.SetMaxIdleConns("rddp", 50)
  23. orm.SetMaxOpenConns("rddp", 100)
  24. report_db, _ := orm.GetDB("rddp")
  25. report_db.SetConnMaxLifetime(10 * time.Minute)
  26. _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB)
  27. orm.SetMaxIdleConns("edb", 50)
  28. orm.SetMaxOpenConns("edb", 100)
  29. edb_db, _ := orm.GetDB("edb")
  30. edb_db.SetConnMaxLifetime(10 * time.Minute)
  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. _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL)
  37. orm.SetMaxIdleConns("gl", 50)
  38. orm.SetMaxOpenConns("gl", 100)
  39. gl, _ := orm.GetDB("gl")
  40. gl.SetConnMaxLifetime(10 * time.Minute)
  41. // 用户主库
  42. if utils.MYSQL_WEEKLY_URL != `` && (utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox) {
  43. _ = orm.RegisterDataBase("weekly", "mysql", utils.MYSQL_WEEKLY_URL)
  44. orm.SetMaxIdleConns("weekly", 50)
  45. orm.SetMaxOpenConns("weekly", 100)
  46. weeklyDb, _ := orm.GetDB("weekly")
  47. weeklyDb.SetConnMaxLifetime(10 * time.Minute)
  48. }
  49. orm.Debug = true
  50. orm.DebugLog = orm.NewLog(utils.Binlog)
  51. //注册对象
  52. orm.RegisterModel(
  53. new(Classify),
  54. new(Resource),
  55. new(Ppt),
  56. new(PptPages),
  57. new(PptPublishRecord),
  58. new(PptV2),
  59. new(PptV2PublishRecord),
  60. new(PptV2SaveLog),
  61. new(PptV2Group),
  62. new(PptV2GroupMapping),
  63. new(PptV2Grant), //ppt授权操作表
  64. )
  65. // 报告相关 数据表
  66. initReport()
  67. initSystem()
  68. initChart()
  69. // 指标服务 数据表
  70. initEdbData()
  71. // 英文ppt
  72. initPptEnglish()
  73. //多图配置
  74. initMultipleGraphConfig()
  75. // 英文报告
  76. initEnglishReport()
  77. // 沙盘推演
  78. initSandbox()
  79. // 文档对比
  80. initSaCompare()
  81. // 商家配置
  82. initBusinessConf()
  83. // 初始化部分数据表变量(直接init会有顺序问题=_=!)
  84. data_manage.InitEdbSource()
  85. // initDataStat 数据源统计管理相关表
  86. initDataStat()
  87. // 报告审批
  88. initReportApprove()
  89. }
  90. // initSystem 系统表 数据表
  91. func initSystem() {
  92. orm.RegisterModel(
  93. new(system.SysUserLoginRecord),
  94. new(system.SysSession),
  95. new(system.Admin),
  96. new(system.AdminConfig), //系统用户配置表
  97. new(system.AdminVerifyCodeRecord), // 用户短信邮箱验证码记录表
  98. )
  99. }
  100. // initReport 报告相关 数据表
  101. func initReport() {
  102. orm.RegisterModel(
  103. new(Report),
  104. new(ChartPermissionSearchKeyWordMapping), //报告分类权限表
  105. new(ReportChapter), // 报告章节表
  106. new(ReportChapterTicker), // 晨报章节ticker
  107. new(ReportChapterTypePermission), // 晨周报章节类型权限表
  108. new(YbPcSuncode),
  109. new(YbSuncodePars),
  110. new(ReportAuthor), //报告作者
  111. new(ClassifyMenu), // 报告分类-子目录表
  112. new(ClassifyMenuRelation), // 报告分类-子目录关联表
  113. new(ReportChapterType), // 报告章节类型表
  114. new(ReportStateRecord), // 研报状态修改记录表
  115. )
  116. }
  117. // initChart 图表 数据表
  118. func initChart() {
  119. orm.RegisterModel(
  120. new(data_manage.ChartClassify),
  121. new(data_manage.ChartInfo),
  122. new(data_manage.ChartEdbMapping),
  123. new(data_manage.MyChartClassify),
  124. new(data_manage.MyChart),
  125. new(data_manage.MyChartLog),
  126. new(data_manage.MyChartClassifyMapping),
  127. new(data_manage.ChartInfoLog),
  128. new(data_manage.ChartInfoCorrelation),
  129. )
  130. }
  131. // initEdbData 指标服务 数据表
  132. func initEdbData() {
  133. orm.RegisterModel(
  134. new(data_manage.EdbClassify),
  135. new(data_manage.EdbInfo), //hz_data库的edb_info表
  136. new(data_manage.EdbDataThs),
  137. new(data_manage.EdbDataWind),
  138. new(data_manage.EdbDataPb),
  139. new(data_manage.EdbInfoCalculate),
  140. new(data_manage.EdbDataCalculate),
  141. new(data_manage.EdbInfoCalculateTbz),
  142. new(data_manage.SearchKeyword),
  143. new(data_manage.BaseFromSmm),
  144. new(data_manage.BaseFromSmmIndex),
  145. new(data_manage.BaseFromSmmData),
  146. new(data_manage.EdbInfoLog),
  147. new(data_manage.EdbInfoCalculateMapping),
  148. new(data_manage.ExcelClassify), //ETA excel表格分类
  149. new(data_manage.ExcelInfo), //ETA excel表格
  150. new(data_manage.PredictEdbConf), //预测指标配置
  151. new(data_manage.BaseFromMysteelChemicalIndex), //钢联化工
  152. new(data_manage.BaseFromEiaSteoClassify), // Eia steo 报告指标
  153. new(data_manage.BaseFromEiaSteoIndex), // Eia steo 报告指标分类
  154. new(data_manage.PredictEdbRuleData), //预测指标,动态规则的计算数据
  155. new(data_manage.BaseFromSci),
  156. new(data_manage.BaseFromSciIndex),
  157. new(data_manage.BaseFromSciData),
  158. new(data_manage.BaseFromBaiinfo),
  159. new(data_manage.BaseFromBaiinfoIndex),
  160. new(data_manage.BaseFromBaiinfoData),
  161. new(data_manage.EdbDataInsertConfig), // 指标数据插入配置表
  162. new(data_manage.EdbInfoNoPermissionAdmin), //指标不可见用户配置表
  163. )
  164. }
  165. // initPptEnglish ppt英文
  166. func initPptEnglish() {
  167. orm.RegisterModel(
  168. new(ppt_english.PptEnglish),
  169. new(ppt_english.PptEnglishPublishRecord),
  170. new(ppt_english.PptEnglishSaveLog),
  171. new(ppt_english.PptEnglishGroup),
  172. new(ppt_english.PptEnglishGroupMapping),
  173. new(ppt_english.PptEnglishGrant), //ppt授权操作表
  174. new(ppt_english.ReportPptEnglishImg), //Ppt转报告的图片记录表
  175. )
  176. }
  177. // initMultipleGraphConfig 多图配置 数据表
  178. func initMultipleGraphConfig() {
  179. //注册对象
  180. orm.RegisterModel(
  181. new(data_manage.MultipleGraphConfig), //多图配置表
  182. new(data_manage.MultipleGraphConfigChartMapping), //图表与多图配置的关系表
  183. //new(data_manage.MultipleGraphConfigEdbMapping), //指标与多图配置的关系表
  184. )
  185. }
  186. // initEnglishReport 英文报告
  187. func initEnglishReport() {
  188. orm.RegisterModel(
  189. new(EnglishReport),
  190. new(EnglishPolicyReport),
  191. new(EnglishReportEmail),
  192. new(EnglishReportEmailLog),
  193. new(EnglishClassify),
  194. new(EnglishCompany), // 英文客户
  195. new(EnglishCompanyTodo), // 英文客户TODO任务
  196. new(EnglishVideo), // 英文研报线上路演
  197. new(EnPermission), // 英文品种权限表
  198. new(EnCompanyPermission), // 英文客户品种权限关联表
  199. new(EnClassifyPermission), // 英文分类品种权限关联表
  200. )
  201. }
  202. // initSandbox 注册Edb沙盘 数据表
  203. func initSandbox() {
  204. //注册对象
  205. orm.RegisterModel(
  206. new(sandbox.Sandbox), //沙盘主表
  207. )
  208. }
  209. func initSaCompare() {
  210. orm.RegisterModel(
  211. new(saModel.SaCompare), //文档对比
  212. )
  213. }
  214. // initBusinessConf 商家配置
  215. func initBusinessConf() {
  216. orm.RegisterModel(
  217. new(BusinessConf), // 商家配置表
  218. new(BusinessConfOperationRecord), // 商家配置操作记录表
  219. )
  220. }
  221. // initDataStat 数据源统计管理相关表
  222. func initDataStat() {
  223. orm.RegisterModel(
  224. new(data_stat.EdbInfoDeleteLog), // 指标删除日志表
  225. new(data_stat.EdbInfoUpdateLog), // 指标更新/刷新日志列表
  226. )
  227. }
  228. // initReportApprove 报告审批相关表
  229. func initReportApprove() {
  230. orm.RegisterModel(
  231. new(report_approve.ReportApprove), // 审批表
  232. new(report_approve.ReportApproveFlow), // 审批流表
  233. new(report_approve.ReportApproveNode), // 审批节点表
  234. new(report_approve.ReportApproveRecord), // 审批记录表
  235. new(report_approve.ReportApproveMessage), // 审批消息表
  236. )
  237. }