package models import ( "eta/eta_task/models/data_manage" "eta/eta_task/models/data_manage/edb_refresh" "eta/eta_task/models/data_manage/future_good" "eta/eta_task/models/report" "eta/eta_task/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) if utils.MYSQL_URL_RDDP != "" { _ = 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) } if utils.MYSQL_URL_EDB != "" { _ = 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) } if utils.MYSQL_URL_DATA != "" { _ = 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) } if utils.MYSQL_URL_GL != "" { _ = 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_URL_ETA != "" { _ = orm.RegisterDataBase("eta", "mysql", utils.MYSQL_URL_ETA) orm.SetMaxIdleConns("eta", 50) orm.SetMaxOpenConns("eta", 100) etaDb, _ := orm.GetDB("eta") etaDb.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) } orm.Debug = true orm.DebugLog = orm.NewLog(utils.Binlog) // 注册Edb指标 数据表 initEdbDataTable() // 注册商品期货 相关数据表 initFutureGoodEdbDataTable() //注册持仓分析 数据表 initTradePositionTop() // 研报数据表 initReport() // 智能研报数据表 initSmartReport() // 初始化指标刷新 initEdbRefresh() // 初始化部分数据表变量(直接init会有顺序问题=_=!) data_manage.InitEdbSourceVar() } // initEdbDataTable 注册Edb指标 数据表 func initEdbDataTable() { //注册对象 orm.RegisterModel( new(data_manage.EdbDataWind), new(data_manage.EdbDataThs), new(data_manage.EdbDataPb), new(data_manage.BaseFromSmm), new(data_manage.BaseFromSmmIndex), new(data_manage.BaseFromSmmData), new(data_manage.EdbDataYs), new(data_manage.EdbInfoCalculateMapping), new(data_manage.EdbInfo), //hz_data库的edb_info表 new(data_manage.EdbDataCalculateZjpj), //直接拼接 new(data_manage.EdbDataCalculateLjztbpj), //累计同比值拼接 new(data_manage.BaseFromTradeZhengzhouIndex), new(data_manage.BaseFromTradeDalianIndex), new(data_manage.BaseFromTradeShanghaiIndex), new(data_manage.BaseFromTradeCffexIndex), new(data_manage.BaseFromTradeIneIndex), new(data_manage.BaseFromChangesVisitorsCovid), new(data_manage.BaseFromEiaSteoIndex), new(data_manage.BaseFromEiaSteoClassify), new(data_manage.BaseFromEiaSteoData), new(data_manage.ComTradeIndex), // 联合国指标表 new(data_manage.ComTradeCodeMapping), // 联合国指标关系表 new(data_manage.ComTradeData), // 联合国数据表 new(data_manage.MeetingProbabilities), // 联储加息概率 new(data_manage.BaseFromTradeEicIndexV2), // 欧洲天然气 //广期所 new(data_manage.BaseFromTradeGuangzhouClassify), new(data_manage.BaseFromTradeGuangzhouContract), new(data_manage.BaseFromTradeGuangzhouIndex), new(data_manage.BaseFromTradeGuangzhouData), //ICPI new(data_manage.BaseFromIcpiIndex), new(data_manage.BaseFromIcpiClassify), new(data_manage.BaseFromIcpiData), new(data_manage.BusinessSysInteractionLog), // 商家系统交互记录表 new(data_manage.EdbInfoRelation), //指标引用关联表 new(data_manage.BaseFromThsHfIndex), //美国农业部 new(data_manage.BaseFromUsdaFasIndex), new(data_manage.BaseFromUsdaFasClassify), new(data_manage.BaseFromUsdaFasData), ) } // initFutureGoodEdbDataTable 注册商品期货Edb指标 数据表 func initFutureGoodEdbDataTable() { //注册对象 orm.RegisterModel( new(future_good.FutureGoodEdbInfo), ) } // initTradePositionTop 注册持仓分析 数据表 func initTradePositionTop() { //注册对象 orm.RegisterModel( new(data_manage.TradePositionDalianTop), new(data_manage.TradePositionZhengzhouTop), new(data_manage.TradePositionShanghaiTop), new(data_manage.TradePositionIneTop), new(data_manage.TradePositionCffexTop), new(data_manage.BaseFromTradeClassify), // 交易所分类 new(data_manage.TradePositionGuangzhouTop), ) } // initReport 注册研报数据表 func initReport() { orm.RegisterModel( new(Report), new(ReportChapter), new(report.ReportChapterPermissionMapping), // 报告章节的权限关系表 ) } // initSmartReport 注册智能研报数据表 func initSmartReport() { orm.RegisterModel( new(SmartReport), new(ReportStateRecord), ) } // initEdbRefresh 初始化指标刷新 func initEdbRefresh() { orm.RegisterModel( new(edb_refresh.EdbRefreshSource), // 刷新的数据源表 new(edb_refresh.EdbRefreshDefaultConfig), // 指标的默认刷新时间配置表 new(edb_refresh.EdbRefreshConfig), // 指标的刷新时间配置表 new(edb_refresh.EdbRefreshMapping), // 指标刷新时间配置关系表 ) }