db.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. package models
  2. import (
  3. _ "github.com/go-sql-driver/mysql"
  4. "hongze/hz_eta_api/models/aimod"
  5. "hongze/hz_eta_api/models/company"
  6. "hongze/hz_eta_api/models/company_user"
  7. "hongze/hz_eta_api/models/data_manage"
  8. future_good2 "hongze/hz_eta_api/models/data_manage/future_good"
  9. "hongze/hz_eta_api/models/data_manage/supply_analysis"
  10. "hongze/hz_eta_api/models/ppt_english"
  11. "hongze/hz_eta_api/models/sandbox"
  12. "hongze/hz_eta_api/models/semantic_analysis"
  13. "hongze/hz_eta_api/models/system"
  14. "hongze/hz_eta_api/models/yb"
  15. "hongze/hz_eta_api/utils"
  16. "time"
  17. "github.com/beego/beego/v2/client/orm"
  18. )
  19. func init() {
  20. _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
  21. orm.SetMaxIdleConns("default", 50)
  22. orm.SetMaxOpenConns("default", 100)
  23. db, _ := orm.GetDB("default")
  24. db.SetConnMaxLifetime(10 * time.Minute)
  25. _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)
  26. orm.SetMaxIdleConns("rddp", 50)
  27. orm.SetMaxOpenConns("rddp", 100)
  28. report_db, _ := orm.GetDB("rddp")
  29. report_db.SetConnMaxLifetime(10 * time.Minute)
  30. _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB)
  31. orm.SetMaxIdleConns("edb", 50)
  32. orm.SetMaxOpenConns("edb", 100)
  33. edb_db, _ := orm.GetDB("edb")
  34. edb_db.SetConnMaxLifetime(10 * time.Minute)
  35. _ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA)
  36. orm.SetMaxIdleConns("data", 50)
  37. orm.SetMaxOpenConns("data", 100)
  38. data_db, _ := orm.GetDB("data")
  39. data_db.SetConnMaxLifetime(10 * time.Minute)
  40. _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL)
  41. orm.SetMaxIdleConns("gl", 50)
  42. orm.SetMaxOpenConns("gl", 100)
  43. gl, _ := orm.GetDB("gl")
  44. gl.SetConnMaxLifetime(10 * time.Minute)
  45. orm.Debug = true
  46. orm.DebugLog = orm.NewLog(utils.Binlog)
  47. //注册对象
  48. orm.RegisterModel(
  49. new(Classify),
  50. new(Resource),
  51. new(OssSTSToken),
  52. new(PptV2),
  53. new(PptV2PublishRecord),
  54. new(PptV2SaveLog),
  55. new(PptV2Group),
  56. new(PptV2GroupMapping),
  57. new(PptV2Grant), //ppt授权操作表
  58. new(VarietyClassify), // 标签分类表
  59. new(VarietyTag), // 标签表
  60. new(ResearchVarietyTagRelation), // 研究员标签关系表
  61. new(ReportPptImg), //Ppt转报告的图片记录表
  62. )
  63. // 系统表 数据表
  64. initSystem()
  65. // 客户相关
  66. initCompany()
  67. // 联系人相关
  68. initWxUser()
  69. // 报告相关 数据表
  70. initReport()
  71. // 研报相关
  72. initYb()
  73. // 注册Edb沙盘 数据表
  74. initSandbox()
  75. // 上海指标服务 数据表
  76. initShEdbData()
  77. // 指标服务 数据表
  78. initEdbData()
  79. // 图表 数据表
  80. initChart()
  81. // 英文报告
  82. initEnglishReport()
  83. // 英文ppt
  84. initPptEnglish()
  85. // 期货数据库
  86. initFutureGood()
  87. // 共享网盘
  88. initCloudDisk()
  89. // 语义分析
  90. initSemanticAnalysis()
  91. // 供应分析
  92. initSupplyAnalysis()
  93. //多图配置
  94. initMultipleGraphConfig()
  95. //AI 聊天记录
  96. initAiChat()
  97. }
  98. // initSystem 系统表 数据表
  99. func initSystem() {
  100. orm.RegisterModel(
  101. new(system.SysUserLoginRecord),
  102. new(system.SysSession),
  103. new(system.SysDepartment),
  104. new(system.SysGroup),
  105. new(system.SysRoleMenu),
  106. new(system.Admin),
  107. new(system.SysRole),
  108. new(system.SysMenuButton),
  109. new(system.SysRoleButton),
  110. new(system.ResearchGroup), // 研究员研究方向分组表
  111. new(system.ResearchGroupRelation), // 研究员研究方向分组关系表
  112. new(system.SysRoleAdmin), //管理员账号和角色映射表
  113. new(system.AdminConfig), //系统用户配置表
  114. new(system.AdminOperateRecord),
  115. )
  116. }
  117. // initCompany 客户相关 数据表
  118. func initCompany() {
  119. orm.RegisterModel(
  120. new(company.CompanyApprovalMessage),
  121. new(company.CompanyOperationRecord),
  122. new(company.Company),
  123. new(company.CompanyLog),
  124. new(company.CompanyProductUpdateLog), //客户产品变更状态表
  125. new(company.CompanyProductTryOutUpdateLog), //客户产品试用变更状态表
  126. new(company.CompanyProductTryOutUpdatePermissionLog), //客户产品试用变更品种详情表
  127. new(company.WxUserOpLog), //联系人日志记录表
  128. new(company.SellerCompanyPermission), //销售客户权限("添加客户"权限)
  129. new(company.CompanyServiceRecord), // 客户服务记录表
  130. )
  131. }
  132. // initWxUser 联系人相关 数据表
  133. func initWxUser() {
  134. orm.RegisterModel(
  135. new(WxUser),
  136. new(UserSellerRelation),
  137. new(UserRecord),
  138. new(company_user.ChartClassifyPermission), // 联系人图表权限表
  139. new(company_user.CompanyUserChartPermissionOperationRecord), // 联系人图表权限操作记录表
  140. )
  141. }
  142. // initReport 报告相关 数据表
  143. func initReport() {
  144. orm.RegisterModel(
  145. new(Report),
  146. new(ReportViewRecord),
  147. new(ResearchReport), //日报、周报信息
  148. new(ChartPermissionSearchKeyWordMapping), //报告分类权限表
  149. new(ReportChapter), // 报告章节表
  150. new(ReportChapterTicker), // 晨报章节ticker
  151. new(ReportChapterTypePermission), // 晨周报章节类型权限表
  152. new(ReportSendThsDetail), //报告发送至同花顺记录
  153. new(GroupSendMsg), //群发消息
  154. new(UserTemplateRecord), //模板消息记录
  155. new(ChartPermission), // 权限表
  156. new(YbPcSuncode),
  157. new(YbSuncodePars),
  158. new(ReportAuthor), //报告作者
  159. new(ClassifyMenu), // 报告分类-子目录表
  160. new(ClassifyMenuRelation), // 报告分类-子目录关联表
  161. new(ReportSendThsConfig), //产品推送给同花顺的配置表
  162. new(ChartPermissionChapterMapping), // 权限mapping表
  163. new(ReportChapterType), // 报告章节类型表
  164. )
  165. }
  166. // initYb 研报 数据表
  167. func initYb() {
  168. orm.RegisterModel(
  169. new(yb.PriceDriven), // 价格驱动表
  170. new(yb.PriceDrivenSaveLog), // 价格驱动保存记录表
  171. new(yb.PriceDrivenTag), // 价格驱动标签表
  172. new(yb.CommunityQuestionProcess), // 研报问答社区流程表
  173. )
  174. }
  175. // initSandbox 注册Edb沙盘 数据表
  176. func initSandbox() {
  177. //注册对象
  178. orm.RegisterModel(
  179. new(sandbox.Sandbox), //沙盘主表
  180. new(sandbox.SandboxVersion), //沙盘版本表
  181. new(sandbox.SandboxDraft), //沙盘草稿表
  182. )
  183. }
  184. // initShEdbData 上海服务器指标 数据表
  185. func initShEdbData() {
  186. orm.RegisterModel(
  187. new(Edbdata),
  188. new(EdbdataDeleteRecord),
  189. new(EdbdataImportFail),
  190. new(EdbImportFail), //指标导入失败数据表
  191. new(Edbinfo), //edb库的edbinfo表
  192. new(data_manage.ExcelStyle), //在线excel样式表
  193. new(data_manage.ExcelEdbdataMapping), //excel样式和指标映射表
  194. )
  195. }
  196. // initEdbData 指标服务 数据表
  197. func initEdbData() {
  198. orm.RegisterModel(
  199. new(data_manage.EdbClassify),
  200. new(data_manage.EdbInfo), //hz_data库的edb_info表
  201. new(data_manage.EdbDataThs),
  202. new(data_manage.EdbDataWind),
  203. new(data_manage.EdbDataPb),
  204. new(data_manage.ManualUserClassify),
  205. new(data_manage.EdbdataClassify),
  206. new(data_manage.ManualUser),
  207. new(data_manage.EdbInfoCalculate),
  208. new(data_manage.EdbDataCalculate),
  209. new(data_manage.EdbInfoCalculateLjzzy),
  210. new(data_manage.EdbInfoCalculateTbz),
  211. new(data_manage.EdbInfoCalculateTcz),
  212. new(data_manage.EdbInfoCalculateNszydpjjs),
  213. new(data_manage.SearchKeyword),
  214. new(data_manage.EdbInfoCalculateHbz),
  215. new(data_manage.EdbInfoCalculateHcz),
  216. new(data_manage.EdbInfoCalculateBp),
  217. new(data_manage.BaseFromSmm),
  218. new(data_manage.BaseFromSmmIndex),
  219. new(data_manage.BaseFromSmmData),
  220. new(data_manage.BaseFromSmmClassify),
  221. new(data_manage.EdbInfoLog),
  222. new(data_manage.EdbInfoCalculateMapping),
  223. new(data_manage.EdbDataCalculateZjpj), //直接拼接
  224. new(data_manage.EdbDataCalculateLjztbpj), //累计同比值拼接
  225. new(data_manage.ExcelClassify), //ETA excel表格分类
  226. new(data_manage.ExcelInfo), //ETA excel表格
  227. new(data_manage.ExcelDraft), //ETA excel表格草稿
  228. new(data_manage.PredictEdbConf), //预测指标配置
  229. new(data_manage.BaseFromMysteelChemicalClassify), //预测指标配置
  230. new(data_manage.BaseFromMysteelChemicalIndex), //钢联化工
  231. new(data_manage.BaseFromEiaSteoClassify), // Eia steo 报告指标
  232. new(data_manage.BaseFromEiaSteoIndex), // Eia steo 报告指标分类
  233. new(data_manage.PredictEdbRuleData), //预测指标,动态规则的计算数据
  234. new(data_manage.ComTradeCountry), //联合国商品贸易数据库的国家编码表
  235. new(data_manage.ComTradeData), //联合国商品贸易数据表
  236. new(data_manage.BaseFromSci),
  237. new(data_manage.BaseFromSciIndex),
  238. new(data_manage.BaseFromSciData),
  239. new(data_manage.BaseFromSciClassify),
  240. new(data_manage.TradePositionDalianTop),
  241. new(data_manage.TradePositionZhengzhouTop),
  242. new(data_manage.TradePositionCffexTop),
  243. new(data_manage.TradePositionShanghaiTop),
  244. new(data_manage.TradePositionIneTop),
  245. new(data_manage.BaseFromBaiinfo),
  246. new(data_manage.BaseFromBaiinfoIndex),
  247. new(data_manage.BaseFromBaiinfoData),
  248. new(data_manage.BaseFromBaiinfoClassify),
  249. new(data_manage.EdbDataInsertConfig), // 指标数据插入配置表
  250. new(data_manage.EdbInfoNoPermissionAdmin), //指标不可见用户配置表
  251. )
  252. }
  253. // initChart 图表 数据表
  254. func initChart() {
  255. orm.RegisterModel(
  256. new(data_manage.ChartClassify),
  257. new(data_manage.ChartInfo),
  258. new(data_manage.ChartEdbMapping),
  259. new(data_manage.MyChartClassify),
  260. new(data_manage.MyChart),
  261. new(data_manage.MyChartLog),
  262. new(data_manage.MyChartClassifyMapping),
  263. new(data_manage.ChartInfoLog),
  264. new(data_manage.ChartInfoCorrelation),
  265. )
  266. }
  267. // initEnglishReport 英文报告
  268. func initEnglishReport() {
  269. orm.RegisterModel(
  270. new(EnglishReport),
  271. new(EnglishPolicyReport),
  272. new(EnglishReportEmail),
  273. new(EnglishReportEmailPV),
  274. new(EnglishReportEmailLog),
  275. new(EnglishClassify),
  276. new(EnglishCompany), // 英文客户
  277. new(EnglishCompanyLog), // 英文客户操作日志
  278. new(EnglishReportEmailOpLog), // 英文联系人操作日志
  279. new(EnglishCompanyTodo), // 英文客户TODO任务
  280. new(EnglishCompanyTodoPublic), // 英文客户公共TODO任务
  281. new(EnglishVideoCover), // 英文研报线上路演视频封面
  282. new(EnglishVideo), // 英文研报线上路演
  283. new(EnPermission), // 英文品种权限表
  284. new(EnCompanyPermission), // 英文客户品种权限关联表
  285. new(EnClassifyPermission), // 英文分类品种权限关联表
  286. )
  287. }
  288. // initPptEnglish ppt英文
  289. func initPptEnglish() {
  290. orm.RegisterModel(
  291. new(ppt_english.PptEnglish),
  292. new(ppt_english.PptEnglishPublishRecord),
  293. new(ppt_english.PptEnglishSaveLog),
  294. new(ppt_english.PptEnglishGroup),
  295. new(ppt_english.PptEnglishGroupMapping),
  296. new(ppt_english.PptEnglishGrant), //ppt授权操作表
  297. new(ppt_english.ReportPptEnglishImg), //Ppt转报告的图片记录表
  298. )
  299. }
  300. // initFutureGood 注册期货数据 数据表
  301. func initFutureGood() {
  302. //注册对象
  303. orm.RegisterModel(
  304. new(future_good2.FutureGoodEdbInfo), //期货指标表
  305. new(future_good2.FutureGoodEdbData), //期货指标数据表
  306. //new(future_good2.FutureGoodChartClassify), //期货指标分类表
  307. new(future_good2.ChartInfoFutureGoodProfit), //期货利润图的扩展表
  308. )
  309. }
  310. // initCloudDisk 共享云盘
  311. func initCloudDisk() {
  312. //注册对象
  313. orm.RegisterModel(
  314. new(CloudDiskMenu), // 云盘目录表
  315. new(CloudDiskResource), // 云盘资源表
  316. )
  317. }
  318. // initSemanticAnalysis 语义分析
  319. func initSemanticAnalysis() {
  320. orm.RegisterModel(
  321. new(semantic_analysis.SaLabel), // 语义分析-标签表
  322. new(semantic_analysis.SaDocClassify), // 语义分析-文档分类表
  323. new(semantic_analysis.SaDoc), // 语义分析-文档表
  324. new(semantic_analysis.SaDocSection), // 语义分析-文档段落表
  325. new(semantic_analysis.SaCompareClassify), // 语义分析-比对分类表
  326. new(semantic_analysis.SaCompare), // 语义分析-比对表
  327. new(semantic_analysis.SaCompareDoc), // 语义分析-比对关联文档表
  328. new(semantic_analysis.SaCompareLabel), // 语义分析-比对段落表
  329. new(semantic_analysis.SaCompareSearchKeyword), // 语义分析-比对搜索关键词
  330. )
  331. }
  332. // initSupplyAnalysis 供应分析
  333. func initSupplyAnalysis() {
  334. orm.RegisterModel(
  335. new(supply_analysis.Variety),
  336. new(supply_analysis.VarietyAdminPermission),
  337. new(supply_analysis.VarietyEdbInfo),
  338. new(supply_analysis.VarietyPlant),
  339. )
  340. }
  341. // initMultipleGraphConfig 多图配置 数据表
  342. func initMultipleGraphConfig() {
  343. //注册对象
  344. orm.RegisterModel(
  345. new(data_manage.MultipleGraphConfig), //多图配置表
  346. new(data_manage.MultipleGraphConfigChartMapping), //图表与多图配置的关系表
  347. new(data_manage.MultipleGraphConfigEdbMapping), //指标与多图配置的关系表
  348. )
  349. }
  350. func initAiChat() {
  351. //注册对象
  352. orm.RegisterModel(
  353. new(aimod.AiChatTopic), //主题
  354. new(aimod.AiChat), //聊天
  355. )
  356. }