|
@@ -1,639 +1,110 @@
|
|
|
package models
|
|
|
|
|
|
import (
|
|
|
- "eta_gn/eta_api/models/ai_summary"
|
|
|
- "eta_gn/eta_api/models/aimod"
|
|
|
- "eta_gn/eta_api/models/company"
|
|
|
+ _ "dm"
|
|
|
+ dm "dmgorm2"
|
|
|
"eta_gn/eta_api/models/data_manage"
|
|
|
- "eta_gn/eta_api/models/data_manage/chart_theme"
|
|
|
- "eta_gn/eta_api/models/data_manage/cross_variety"
|
|
|
- "eta_gn/eta_api/models/data_manage/data_manage_permission"
|
|
|
- "eta_gn/eta_api/models/data_manage/edb_refresh"
|
|
|
- "eta_gn/eta_api/models/data_manage/excel"
|
|
|
- future_good2 "eta_gn/eta_api/models/data_manage/future_good"
|
|
|
- "eta_gn/eta_api/models/data_manage/supply_analysis"
|
|
|
- "eta_gn/eta_api/models/data_stat"
|
|
|
- "eta_gn/eta_api/models/eta_trial"
|
|
|
- "eta_gn/eta_api/models/fe_calendar"
|
|
|
- "eta_gn/eta_api/models/ppt_english"
|
|
|
- "eta_gn/eta_api/models/report"
|
|
|
- "eta_gn/eta_api/models/report_approve"
|
|
|
- "eta_gn/eta_api/models/sandbox"
|
|
|
- "eta_gn/eta_api/models/semantic_analysis"
|
|
|
- "eta_gn/eta_api/models/smart_report"
|
|
|
- "eta_gn/eta_api/models/speech_recognition"
|
|
|
- "eta_gn/eta_api/models/system"
|
|
|
- "eta_gn/eta_api/models/yb"
|
|
|
"eta_gn/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+ "gorm.io/gorm"
|
|
|
+ "gorm.io/gorm/logger"
|
|
|
+ "io"
|
|
|
+ "log"
|
|
|
+ "os"
|
|
|
"time"
|
|
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
+)
|
|
|
|
|
|
- "github.com/beego/beego/v2/client/orm"
|
|
|
+var (
|
|
|
+ DmSQL map[string]*gorm.DB //数据库连接配置
|
|
|
+ DEFAULT_DmSQL *gorm.DB //默认数据库连接配置
|
|
|
)
|
|
|
|
|
|
+// 达梦数据库初始化
|
|
|
func init() {
|
|
|
+ dmSqlMap := make(map[string]*gorm.DB)
|
|
|
|
|
|
- _ = 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)
|
|
|
+ //开启日志
|
|
|
+ logWriter := io.MultiWriter(utils.Binlog) //binlog日志,记录到文件中去
|
|
|
+ if utils.RunMode == `debug` { // 测试环境,默认输出在控制台,不需要的话,可以注释if里面下面的这行
|
|
|
+ logWriter = io.MultiWriter(utils.Binlog, os.Stdout)
|
|
|
+ }
|
|
|
+ newLogger := logger.New(log.New(logWriter, "\r\n", log.LstdFlags), logger.Config{
|
|
|
+ SlowThreshold: 200 * time.Millisecond, //慢sql :200ms
|
|
|
+ LogLevel: logger.Info, //记录的日志类型,info代表所有信息都记录
|
|
|
+ IgnoreRecordNotFoundError: true, //是否忽略找不到数据错误信息(只是日志记录记录成err还是普通的输出的区别,并不影响业务代码中的:找不到数据行error)
|
|
|
+ Colorful: true, //是否颜色输出
|
|
|
+ })
|
|
|
+
|
|
|
+ // 默认库
|
|
|
+ initDm(utils.MYSQL_URL, "default", newLogger, dmSqlMap, true)
|
|
|
+
|
|
|
+ // 报告库
|
|
|
+ initDm(utils.MYSQL_URL_RDDP, "rddp", newLogger, dmSqlMap, false)
|
|
|
+ // 手工数据库
|
|
|
+ initDm(utils.MYSQL_URL_EDB, "edb", newLogger, dmSqlMap, false)
|
|
|
+ // 指标库
|
|
|
+ initDm(utils.MYSQL_URL_DATA, "data", newLogger, dmSqlMap, false)
|
|
|
+ // 钢联库
|
|
|
+ initDm(utils.MYSQL_URL_GL, "gl", newLogger, dmSqlMap, false)
|
|
|
|
|
|
// 用户主库
|
|
|
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)
|
|
|
+ // 用户主库
|
|
|
+ initDm(utils.MYSQL_WEEKLY_URL, "weekly", newLogger, dmSqlMap, false)
|
|
|
}
|
|
|
|
|
|
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)
|
|
|
+ // AI库
|
|
|
+ initDm(utils.MYSQL_AI_URL, "ai", newLogger, dmSqlMap, false)
|
|
|
}
|
|
|
|
|
|
- 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()
|
|
|
+ //全局赋值数据库链接
|
|
|
+ DmSQL = dmSqlMap
|
|
|
|
|
|
// 初始化部分数据表变量(直接init会有顺序问题=_=!)
|
|
|
afterInitTable()
|
|
|
}
|
|
|
|
|
|
-// 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),
|
|
|
- )
|
|
|
-}
|
|
|
+// 达梦数据库连接
|
|
|
+func initDm(dsn, aliasName string, newLogger logger.Interface, dmSqlMap map[string]*gorm.DB, isDefault bool) {
|
|
|
+ if dsn == `` {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //dsn := "dm://SYSDBA:SYSDBA001@8.136.199.33:30236?schema=\"eta_master\""
|
|
|
+ //dsn := "dm://ETA:Han6258199118%60@localhost:5236?schema=ECOLOGY_TARGET"
|
|
|
+ db, err := gorm.Open(dm.Open(dsn), &gorm.Config{
|
|
|
+ Logger: newLogger,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ //global.LOG.Errorf("mysql 启动异常,数据库:default;Err:", err)
|
|
|
+ panic(fmt.Errorf("mysql 启动异常,数据库:%s;Err:%s", aliasName, err))
|
|
|
+ }
|
|
|
|
|
|
-// 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), // 审批消息表
|
|
|
- )
|
|
|
-}
|
|
|
+ //创建连接池
|
|
|
+ sqlDB, err := db.DB()
|
|
|
+ if err != nil {
|
|
|
+ //global.LOG.Errorf("mysql 创建连接池失败,数据库:default;Err:", err)
|
|
|
+ panic(fmt.Errorf("mysql 创建连接池失败,数据库:%s;Err:%s", aliasName, err))
|
|
|
+ }
|
|
|
|
|
|
-// initChartTheme 初始化图表主题
|
|
|
-func initChartTheme() {
|
|
|
- orm.RegisterModel(
|
|
|
- new(chart_theme.ChartTheme), // 图表主题
|
|
|
- new(chart_theme.ChartThemeType), // 图表主题类型
|
|
|
- new(chart_theme.ChartThemeDefaultData), //默认数据
|
|
|
- )
|
|
|
-}
|
|
|
+ dmSqlMap[aliasName] = db
|
|
|
|
|
|
-// initEdbRefresh 初始化指标刷新
|
|
|
-func initEdbRefresh() {
|
|
|
- orm.RegisterModel(
|
|
|
- new(edb_refresh.EdbRefreshSource), // 刷新的数据源表
|
|
|
- new(edb_refresh.EdbRefreshDefaultConfig), // 指标的默认刷新时间配置表
|
|
|
- new(edb_refresh.EdbRefreshConfig), // 指标的刷新时间配置表
|
|
|
- new(edb_refresh.EdbRefreshMapping), // 指标刷新时间配置关系表
|
|
|
- )
|
|
|
-}
|
|
|
+ //默认数据库连接
|
|
|
+ if isDefault {
|
|
|
+ DEFAULT_DmSQL = db
|
|
|
+ }
|
|
|
|
|
|
-// 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), // 语音识别-标签关联表
|
|
|
- )
|
|
|
-}
|
|
|
+ // SetMaxIdleConns 设置空闲连接池中连接的最大数量
|
|
|
+ sqlDB.SetMaxIdleConns(50)
|
|
|
|
|
|
-// 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), // 资产数据权限设置记录表
|
|
|
- )
|
|
|
-}
|
|
|
+ // SetMaxOpenConns 设置打开数据库连接的最大数量。
|
|
|
+ sqlDB.SetMaxOpenConns(100)
|
|
|
|
|
|
-// initFeCalendar 初始化外汇日历
|
|
|
-func initFeCalendar() {
|
|
|
- orm.RegisterModel(
|
|
|
- new(fe_calendar.FeCalendarMatter), // 事项表
|
|
|
- )
|
|
|
-}
|
|
|
+ // SetConnMaxLifetime 设置了连接可复用的最大时间。
|
|
|
+ sqlDB.SetConnMaxLifetime(10 * time.Minute)
|
|
|
|
|
|
-// 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), // 因子指标系列-区间计算数据
|
|
|
- )
|
|
|
}
|
|
|
|
|
|
// afterInitTable
|