package models import ( aiPredictModel "eta/eta_api/models/ai_predict_model" "eta/eta_api/models/ai_summary" "eta/eta_api/models/aimod" "eta/eta_api/models/bi_dashboard" binlogDao "eta/eta_api/models/binlog" "eta/eta_api/models/company" "eta/eta_api/models/data_manage" "eta/eta_api/models/data_manage/chart_theme" "eta/eta_api/models/data_manage/cross_variety" "eta/eta_api/models/data_manage/data_manage_permission" "eta/eta_api/models/data_manage/edb_refresh" "eta/eta_api/models/data_manage/excel" future_good2 "eta/eta_api/models/data_manage/future_good" "eta/eta_api/models/data_manage/stl" "eta/eta_api/models/data_manage/supply_analysis" "eta/eta_api/models/data_stat" edbmonitor "eta/eta_api/models/edb_monitor" "eta/eta_api/models/eta_trial" "eta/eta_api/models/fe_calendar" "eta/eta_api/models/ppt_english" "eta/eta_api/models/report" "eta/eta_api/models/report_approve" "eta/eta_api/models/sandbox" "eta/eta_api/models/semantic_analysis" "eta/eta_api/models/smart_report" "eta/eta_api/models/speech_recognition" "eta/eta_api/models/system" "eta/eta_api/models/yb" binlogSvr "eta/eta_api/services/binlog" "eta/eta_api/utils" "time" _ "github.com/go-sql-driver/mysql" "github.com/beego/beego/v2/client/orm" ) func init() { _ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL) orm.SetMaxIdleConns("default", 50) orm.SetMaxOpenConns("default", 100) db, _ := orm.GetDB("default") db.SetConnMaxLifetime(10 * time.Minute) _ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP) orm.SetMaxIdleConns("rddp", 50) orm.SetMaxOpenConns("rddp", 100) report_db, _ := orm.GetDB("rddp") report_db.SetConnMaxLifetime(10 * time.Minute) _ = orm.RegisterDataBase("edb", "mysql", utils.MYSQL_URL_EDB) orm.SetMaxIdleConns("edb", 50) orm.SetMaxOpenConns("edb", 100) edb_db, _ := orm.GetDB("edb") edb_db.SetConnMaxLifetime(10 * time.Minute) _ = orm.RegisterDataBase("data", "mysql", utils.MYSQL_URL_DATA) orm.SetMaxIdleConns("data", 50) orm.SetMaxOpenConns("data", 100) data_db, _ := orm.GetDB("data") data_db.SetConnMaxLifetime(10 * time.Minute) _ = orm.RegisterDataBase("gl", "mysql", utils.MYSQL_URL_GL) orm.SetMaxIdleConns("gl", 50) orm.SetMaxOpenConns("gl", 100) gl, _ := orm.GetDB("gl") gl.SetConnMaxLifetime(10 * time.Minute) // 用户主库 if utils.MYSQL_WEEKLY_URL != `` && (utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox || utils.BusinessCode == utils.BusinessCodeDebug) { _ = orm.RegisterDataBase("weekly", "mysql", utils.MYSQL_WEEKLY_URL) orm.SetMaxIdleConns("weekly", 50) orm.SetMaxOpenConns("weekly", 100) weeklyDb, _ := orm.GetDB("weekly") weeklyDb.SetConnMaxLifetime(10 * time.Minute) } if utils.MYSQL_AI_URL != "" { _ = orm.RegisterDataBase("ai", "mysql", utils.MYSQL_AI_URL) orm.SetMaxIdleConns("ai", 50) orm.SetMaxOpenConns("ai", 100) weeklyDb, _ := orm.GetDB("ai") weeklyDb.SetConnMaxLifetime(10 * time.Minute) } orm.Debug = true orm.DebugLog = orm.NewLog(utils.Binlog) //注册对象 orm.RegisterModel( new(Classify), new(Resource), new(PptV2), new(PptV2PublishRecord), new(PptV2SaveLog), new(PptV2Group), new(PptV2GroupMapping), new(PptV2Grant), //ppt授权操作表 new(VarietyClassify), // 标签分类表 new(VarietyTag), // 标签表 new(ResearchVarietyTagRelation), // 研究员标签关系表 new(ReportPptImg), //Ppt转报告的图片记录表 ) // 系统表 数据表 initSystem() // 客户相关 initCompany() // 联系人相关 initWxUser() // 报告相关 数据表 initReport() // 研报相关 initYb() // 注册Edb沙盘 数据表 initSandbox() // 上海指标服务 数据表 initShEdbData() // 指标服务 数据表 initEdbData() // 图表 数据表 initChart() // 英文报告 initEnglishReport() // 英文ppt initPptEnglish() // 期货数据库 initFutureGood() // 共享网盘 initCloudDisk() // 语义分析 initSemanticAnalysis() // 供应分析 initSupplyAnalysis() //多图配置 initMultipleGraphConfig() // 商家配置 initBusinessConf() // 图库框架 initChartFramework() // 外部链接 initOutLink() // 智能研报 initSmartReport() // ETA试用相关表 if utils.BusinessCode == utils.BusinessCodeSandbox { initEtaTrial() } // initDataStat 数据源统计管理相关表 initDataStat() // 初始化EXCEL的表 initExcel() // 初始化跨品种分析表 initCrossVariety() //初始化AI initAi() // 报告审批 initReportApprove() // 初始化图表主题 initChartTheme() // 初始化指标刷新 initEdbRefresh() // 语音识别 initSpeechRecognition() // 初始化数据资产权限的一些表 initDataMangePerMission() // 初始化外汇日历 initFeCalendar() // 初始化因子指标系列 initFactorEdbSeries() // 初始化STL指标系列 initStlEdbInfo() // 初始化指标监控 initEdbMonitor() // 开启mysql binlog监听 if utils.MYSQL_DATA_BINLOG_URL != "" { initBinlog() go binlogSvr.ListenMysql() } // 初始化部分数据表变量(直接init会有顺序问题=_=!) afterInitTable() // 智能看板 initBiDashBoard() // AI预测模型表 initAiPredictModel() } // initSystem 系统表 数据表 func initSystem() { orm.RegisterModel( new(system.SysUserLoginRecord), new(system.SysSession), new(system.SysDepartment), new(system.SysGroup), new(system.SysRoleMenu), new(system.Admin), new(system.SysRole), new(system.SysMenuButton), new(system.SysRoleButton), new(system.ResearchGroup), // 研究员研究方向分组表 new(system.ResearchGroupRelation), // 研究员研究方向分组关系表 new(system.SysRoleAdmin), //管理员账号和角色映射表 new(system.AdminConfig), //系统用户配置表 new(system.AdminOperateRecord), new(system.AdminVerifyCodeRecord), // 用户短信邮箱验证码记录表 ) } // initCompany 客户相关 数据表 func initCompany() { orm.RegisterModel( new(company.Company), ) } // initWxUser 联系人相关 数据表 func initWxUser() { orm.RegisterModel( new(WxUser), new(UserSellerRelation), ) } // initReport 报告相关 数据表 func initReport() { orm.RegisterModel( new(Report), new(ReportViewRecord), new(ChartPermissionSearchKeyWordMapping), //报告分类权限表 new(ReportChapter), // 报告章节表 new(ReportChapterTicker), // 晨报章节ticker new(ReportChapterTypePermission), // 晨周报章节类型权限表 new(ChartPermission), // 权限表 new(YbPcSuncode), new(YbSuncodePars), new(ReportAuthor), //报告作者 new(ClassifyMenu), // 报告分类-子目录表 new(ClassifyMenuRelation), // 报告分类-子目录关联表 new(ChartPermissionChapterMapping), // 权限mapping表 new(ReportChapterType), // 报告章节类型表 new(ReportStateRecord), // 研报状态修改记录表 new(report.ReportGrant), // 报告授权用户表 new(report.ReportChapterGrant), // 报告章节授权用户表 new(report.ReportChapterPermissionMapping), // 报告章节的权限关系表 ) } // initYb 研报 数据表 func initYb() { orm.RegisterModel( new(yb.PriceDriven), // 价格驱动表 new(yb.PriceDrivenSaveLog), // 价格驱动保存记录表 new(yb.PriceDrivenTag), // 价格驱动标签表 new(yb.CommunityQuestionProcess), // 研报问答社区流程表 ) } // initSandbox 注册Edb沙盘 数据表 func initSandbox() { //注册对象 orm.RegisterModel( new(sandbox.Sandbox), //沙盘主表 new(sandbox.SandboxVersion), //沙盘版本表 new(sandbox.SandboxDraft), //沙盘草稿表 new(sandbox.SandboxClassify), //沙盘分类表 ) } // initShEdbData 上海服务器指标 数据表 func initShEdbData() { orm.RegisterModel( new(Edbdata), new(EdbdataDeleteRecord), new(EdbdataImportFail), new(EdbImportFail), //指标导入失败数据表 new(Edbinfo), //edb库的edbinfo表 new(data_manage.ExcelStyle), //在线excel样式表 new(data_manage.ExcelEdbdataMapping), //excel样式和指标映射表 new(EdbinfoOpRecord), // 手工数据的操作日志 ) } // initEdbData 指标服务 数据表 func initEdbData() { orm.RegisterModel( new(data_manage.EdbClassify), new(data_manage.EdbInfo), //hz_data库的edb_info表 new(data_manage.EdbDataThs), new(data_manage.EdbDataWind), new(data_manage.EdbDataPb), new(data_manage.ManualUserClassify), new(data_manage.EdbdataClassify), new(data_manage.ManualUser), new(data_manage.EdbInfoCalculate), new(data_manage.SearchKeyword), new(data_manage.BaseFromSmm), new(data_manage.BaseFromSmmIndex), new(data_manage.BaseFromSmmData), new(data_manage.BaseFromSmmClassify), new(data_manage.EdbInfoLog), new(data_manage.EdbInfoRecord), new(data_manage.EdbInfoCalculateMapping), new(data_manage.PredictEdbConf), //预测指标配置 new(data_manage.BaseFromMysteelChemicalClassify), //预测指标配置 new(data_manage.BaseFromMysteelChemicalIndex), //钢联化工 new(data_manage.BaseFromEiaSteoClassify), // Eia steo 报告指标 new(data_manage.BaseFromEiaSteoIndex), // Eia steo 报告指标分类 new(data_manage.PredictEdbRuleData), //预测指标,动态规则的计算数据 new(data_manage.ComTradeCountry), //联合国商品贸易数据库的国家编码表 new(data_manage.ComTradeData), //联合国商品贸易数据表 new(data_manage.BaseFromSci), new(data_manage.BaseFromSciIndex), new(data_manage.BaseFromSciData), new(data_manage.BaseFromSciClassify), new(data_manage.TradePositionDalianTop), new(data_manage.TradePositionZhengzhouTop), new(data_manage.TradePositionCffexTop), new(data_manage.TradePositionShanghaiTop), new(data_manage.TradePositionIneTop), new(data_manage.BaseFromBaiinfo), new(data_manage.BaseFromBaiinfoIndex), new(data_manage.BaseFromBaiinfoData), new(data_manage.BaseFromBaiinfoClassify), new(data_manage.EdbDataInsertConfig), // 指标数据插入配置表 new(data_manage.EdbInfoNoPermissionAdmin), //指标不可见用户配置表 new(data_manage.EdbTerminal), //指标终端 new(data_manage.BaseFromThsHfIndex), new(data_manage.BaseFromThsHfData), new(data_manage.BaseFromThsHfClassify), new(data_manage.BaseFromEdbMapping), new(data_manage.EdbInfoRelation), //指标关系表 new(data_manage.BaseFromSciHqClassify), new(data_manage.BaseFromSciHqIndex), new(data_manage.BaseFromSciHqData), ) } // initChart 图表 数据表 func initChart() { orm.RegisterModel( new(data_manage.ChartClassify), new(data_manage.ChartInfo), new(data_manage.ChartEdbMapping), new(data_manage.MyChartClassify), new(data_manage.MyChart), new(data_manage.MyChartLog), new(data_manage.MyChartClassifyMapping), new(data_manage.ChartInfoLog), new(data_manage.ChartInfoCorrelation), new(data_manage.ChartSeries), new(data_manage.ChartSeriesEdbMapping), ) } // initEnglishReport 英文报告 func initEnglishReport() { orm.RegisterModel( new(EnglishReport), new(EnglishPolicyReport), new(EnglishReportEmail), new(EnglishReportEmailPV), new(EnglishReportEmailLog), new(EnglishClassify), new(EnglishCompany), // 英文客户 new(EnglishCompanyLog), // 英文客户操作日志 new(EnglishReportEmailOpLog), // 英文联系人操作日志 new(EnglishCompanyTodo), // 英文客户TODO任务 new(EnglishCompanyTodoPublic), // 英文客户公共TODO任务 new(EnglishVideoCover), // 英文研报线上路演视频封面 new(EnglishVideo), // 英文研报线上路演 new(EnPermission), // 英文品种权限表 new(EnCompanyPermission), // 英文客户品种权限关联表 new(EnClassifyPermission), // 英文分类品种权限关联表 ) } // initPptEnglish ppt英文 func initPptEnglish() { orm.RegisterModel( new(ppt_english.PptEnglish), new(ppt_english.PptEnglishPublishRecord), new(ppt_english.PptEnglishSaveLog), new(ppt_english.PptEnglishGroup), new(ppt_english.PptEnglishGroupMapping), new(ppt_english.PptEnglishGrant), //ppt授权操作表 new(ppt_english.ReportPptEnglishImg), //Ppt转报告的图片记录表 ) } // initFutureGood 注册期货数据 数据表 func initFutureGood() { //注册对象 orm.RegisterModel( new(future_good2.FutureGoodEdbInfo), //期货指标表 new(future_good2.FutureGoodEdbData), //期货指标数据表 //new(future_good2.FutureGoodChartClassify), //期货指标分类表 new(future_good2.ChartInfoFutureGoodProfit), //期货利润图的扩展表 ) } // initCloudDisk 共享云盘 func initCloudDisk() { //注册对象 orm.RegisterModel( new(CloudDiskMenu), // 云盘目录表 new(CloudDiskResource), // 云盘资源表 ) } // initSemanticAnalysis 语义分析 func initSemanticAnalysis() { orm.RegisterModel( new(semantic_analysis.SaLabel), // 语义分析-标签表 new(semantic_analysis.SaDocClassify), // 语义分析-文档分类表 new(semantic_analysis.SaDoc), // 语义分析-文档表 new(semantic_analysis.SaDocSection), // 语义分析-文档段落表 new(semantic_analysis.SaCompareClassify), // 语义分析-比对分类表 new(semantic_analysis.SaCompare), // 语义分析-比对表 new(semantic_analysis.SaCompareDoc), // 语义分析-比对关联文档表 new(semantic_analysis.SaCompareLabel), // 语义分析-比对段落表 new(semantic_analysis.SaCompareSearchKeyword), // 语义分析-比对搜索关键词 ) } // initSupplyAnalysis 供应分析 func initSupplyAnalysis() { orm.RegisterModel( new(supply_analysis.Variety), new(supply_analysis.VarietyAdminPermission), new(supply_analysis.VarietyEdbInfo), new(supply_analysis.VarietyPlant), ) } // initMultipleGraphConfig 多图配置 数据表 func initMultipleGraphConfig() { //注册对象 orm.RegisterModel( new(data_manage.MultipleGraphConfig), //多图配置表 new(data_manage.MultipleGraphConfigChartMapping), //图表与多图配置的关系表 new(data_manage.MultipleGraphConfigEdbMapping), //指标与多图配置的关系表 ) } // initBusinessConf 商家配置 func initBusinessConf() { orm.RegisterModel( new(BusinessConf), // 商家配置表 new(BusinessConfOperationRecord), // 商家配置操作记录表 ) } func initOutLink() { orm.RegisterModel( new(OutLink)) // 外部链接表 } // initEtaTrial 试用平台相关表 func initEtaTrial() { orm.RegisterModel( new(eta_trial.QuestionnaireFillRecord), // 问卷填写记录表 ) } // initDataStat 数据源统计管理相关表 func initDataStat() { orm.RegisterModel( new(data_stat.EdbInfoDeleteLog), // 指标删除日志表 new(data_stat.EdbInfoUpdateStat), // 指标更新/刷新 汇总表(数据源明细表) new(data_stat.EdbInfoUpdateLog), // 指标更新/刷新日志列表 new(data_stat.EdbSourceStat), // 数据源统计表 ) } // initChartFramework 图库框架相关表 func initChartFramework() { orm.RegisterModel( new(data_manage.ChartFramework), // 图库框架主表 new(data_manage.ChartFrameworkNode), // 图库框架节点表 ) } // initExcel 初始化EXCEL func initExcel() { orm.RegisterModel( new(excel.ExcelClassify), //ETA excel表格分类 new(excel.ExcelInfo), //ETA excel表格 new(excel.ExcelDraft), //ETA excel表格草稿 new(excel.ExcelSheet), //ETA excel sheet new(excel.ExcelSheetData), //ETA excel sheet data new(excel.ExcelEdbMapping), //ETA excel 与 指标 的关系表 new(excel.ExcelWorker), // 平衡表协作人表格 new(excel.ExcelChartEdb), // 平衡表做图指标 new(excel.ExcelChartData), // 平衡表作图数据 new(excel.ExcelInfoRuleMapping), //表格的管理规则 ) } // initSmartReport 智能研报相关表 func initSmartReport() { orm.RegisterModel( new(smart_report.SmartReport), // 智能研报主表 new(smart_report.SmartReportSaveLog), // 智能研报-保存记录表 new(smart_report.SmartReportResource), // 智能研报-资源表 ) } // initCrossVariety 跨品种分析 func initCrossVariety() { orm.RegisterModel( new(cross_variety.ChartVariety), // 品种表 new(cross_variety.ChartTag), // 标签表 new(cross_variety.ChartTagVariety), // 标签、品种、指标关系表 new(cross_variety.ChartVarietyMapping), // 图表与品种的关系表 new(cross_variety.ChartInfoCrossVariety), // 跨品种分析配置表 ) } func initAi() { orm.RegisterModel( new(aimod.AiChatTopic), new(aimod.AiChat), new(aimod.FileUploadRecord), new(ai_summary.AiSummaryClassify), new(ai_summary.AiSummary), new(ai_summary.AiPrompt), ) } // initReportApprove 报告审批相关表 func initReportApprove() { orm.RegisterModel( new(report_approve.ReportApprove), // 审批表 new(report_approve.ReportApproveFlow), // 审批流表 new(report_approve.ReportApproveNode), // 审批节点表 new(report_approve.ReportApproveRecord), // 审批记录表 new(report_approve.ReportApproveMessage), // 审批消息表 ) } // initChartTheme 初始化图表主题 func initChartTheme() { orm.RegisterModel( new(chart_theme.ChartTheme), // 图表主题 new(chart_theme.ChartThemeType), // 图表主题类型 new(chart_theme.ChartThemeDefaultData), //默认数据 ) } // initEdbRefresh 初始化指标刷新 func initEdbRefresh() { orm.RegisterModel( new(edb_refresh.EdbRefreshSource), // 刷新的数据源表 new(edb_refresh.EdbRefreshDefaultConfig), // 指标的默认刷新时间配置表 new(edb_refresh.EdbRefreshConfig), // 指标的刷新时间配置表 new(edb_refresh.EdbRefreshMapping), // 指标刷新时间配置关系表 ) } // initSpeechRecognition 语音识别 func initSpeechRecognition() { orm.RegisterModel( new(speech_recognition.SpeechRecognition), // 语音识别表 new(speech_recognition.SpeechRecognitionApiLog), // 语音识别-API请求日志 new(speech_recognition.SpeechRecognitionContent), // 语音识别-转换内容表 new(speech_recognition.SpeechRecognitionMenu), // 语音识别-目录表 new(speech_recognition.SpeechRecognitionTag), // 语音识别-标签表 new(speech_recognition.SpeechRecognitionTagMenu), // 语音识别-标签目录表 new(speech_recognition.SpeechRecognitionTagMapping), // 语音识别-标签关联表 ) } // initDataMangePerMission // @Description: 初始化数据资产权限的一些表 // @author: Roc // @datetime 2024-03-27 14:03:11 func initDataMangePerMission() { orm.RegisterModel( new(data_manage_permission.EdbInfoPermission), // 指标权限表 new(data_manage_permission.EdbClassifyPermission), // 指标分类权限表 new(data_manage_permission.ChartInfoPermission), // 图表权限表 new(data_manage_permission.ChartClassifyPermission), // 图表分类权限表 new(data_manage_permission.ExcelInfoPermission), // ETA表格权限表 new(data_manage_permission.ExcelClassifyPermission), // ETA表格分类权限表 new(data_manage_permission.DataPermissionMessage), // 数据权限变更消息表 new(data_manage_permission.DataPermissionMoveRecord), // 数据资产转移记录表 new(data_manage_permission.EdbInfoPermissionNoAuthRecord), // 指标资产数据未授权分类记录表 new(data_manage_permission.ChartInfoPermissionNoAuthRecord), // 图表资产数据未授权分类记录表 new(data_manage_permission.ExcelInfoPermissionNoAuthRecord), // ETA表格资产数据未授权分类记录表 new(data_manage_permission.EdbInfoClassifyPermissionNoAuthRecord), // 指标资产分类数据未授权分类记录表 new(data_manage_permission.ChartInfoClassifyPermissionNoAuthRecord), // 图表资产分类数据未授权分类记录表 new(data_manage_permission.ExcelInfoClassifyPermissionNoAuthRecord), // ETA表格资产分类数据未授权分类记录表 new(data_manage_permission.DataPermissionClassifyNoAuthRecord), // 资产分类数据权限未授权记录表 new(data_manage_permission.DataPermissionNoAuthRecord), // 资产数据权限设置记录表 ) } // initFeCalendar 初始化外汇日历 func initFeCalendar() { orm.RegisterModel( new(fe_calendar.FeCalendarMatter), // 事项表 ) } // initFactorEdbSeries 因子指标系列数据表 func initFactorEdbSeries() { orm.RegisterModel( new(data_manage.FactorEdbSeries), // 因子指标系列 new(data_manage.FactorEdbSeriesChartMapping), // 因子指标系列-图表关联 new(data_manage.FactorEdbSeriesMapping), // 因子指标系列-指标计算数据 new(data_manage.FactorEdbSeriesCalculateData), // 因子指标系列-指标关联 new(data_manage.FactorEdbSeriesCalculateDataQjjs), // 因子指标系列-区间计算数据 ) } func initStlEdbInfo() { orm.RegisterModel( new(stl.CalculateStlConfig), // STL指标配置 new(stl.CalculateStlConfigMapping), // STL指标映射 new(stl.EdbDataCalculateStl), // STL指标计算数据 ) } // 预警管理 func initEdbMonitor() { orm.RegisterModel( new(edbmonitor.EdbMonitorInfo), // 预警管理表 new(edbmonitor.EdbMonitorClassify), // 预警管理分类表 new(edbmonitor.EdbMonitorMessage), // 预警管理消息表 ) } func initBinlog() { orm.RegisterModel( new(binlogDao.BusinessSysInteractionLog), // binlog表 ) } // initBiDashBoard 智能看板 func initBiDashBoard() { orm.RegisterModel( new(bi_dashboard.BiDashboard), new(bi_dashboard.BiDashboardDetail), new(bi_dashboard.BiDashboardGrant), new(bi_dashboard.BiDashboardHomePage), ) } // initAiPredictModel AI预测模型表 func initAiPredictModel() { orm.RegisterModel( new(aiPredictModel.AiPredictModelClassify), new(aiPredictModel.AiPredictModelIndex), new(aiPredictModel.AiPredictModelData), new(aiPredictModel.AiPredictModelDashboard), new(aiPredictModel.AiPredictModelDashboardDetail), ) } // afterInitTable // @Description: 初始化表结构的的后置操作 // @author: Roc // @datetime 2024-07-01 13:31:09 func afterInitTable() { // 初始化指标来源配置 data_manage.InitEdbSourceVar() // 初始化是否启用mongo配置 InitUseMongoConf() // 初始化商家基本配置 InitBusinessConf() }