package models

import (
	_ "github.com/go-sql-driver/mysql"
	"hongze/hz_crm_api/models/advisory"
	"hongze/hz_crm_api/models/aimod"
	"hongze/hz_crm_api/models/business_trip"
	"hongze/hz_crm_api/models/company"
	"hongze/hz_crm_api/models/company_report_permission_log"
	"hongze/hz_crm_api/models/company_todo"
	"hongze/hz_crm_api/models/company_user"
	"hongze/hz_crm_api/models/contract"
	"hongze/hz_crm_api/models/cygx"
	"hongze/hz_crm_api/models/data_manage"
	future_good2 "hongze/hz_crm_api/models/data_manage/future_good"
	"hongze/hz_crm_api/models/data_manage/supply_analysis"
	"hongze/hz_crm_api/models/day_new"
	"hongze/hz_crm_api/models/eta_business"
	"hongze/hz_crm_api/models/eta_training_video"
	"hongze/hz_crm_api/models/eta_trial"
	"hongze/hz_crm_api/models/help_doc"
	"hongze/hz_crm_api/models/overseas_custom"
	"hongze/hz_crm_api/models/roadshow"
	"hongze/hz_crm_api/models/seal"
	"hongze/hz_crm_api/models/system"
	"hongze/hz_crm_api/models/video"
	"hongze/hz_crm_api/models/yb"
	"hongze/hz_crm_api/utils"
	"time"

	"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)

	_ = orm.RegisterDataBase("comein_data", "mysql", utils.MYSQL_URL_COMEIN_DATA)
	orm.SetMaxIdleConns("comein_data", 50)
	orm.SetMaxOpenConns("comein_data", 100)

	comein_datadb, _ := orm.GetDB("comein_data")
	comein_datadb.SetConnMaxLifetime(10 * time.Minute)

	_ = orm.RegisterDataBase("weekly_trial", "mysql", utils.MYSQL_URL_WEEKLY_TRIAL)
	orm.SetMaxIdleConns("weekly_trial", 50)
	orm.SetMaxOpenConns("weekly_trial", 100)

	trial_datadb, _ := orm.GetDB("weekly_trial")
	trial_datadb.SetConnMaxLifetime(10 * time.Minute)

	_ = orm.RegisterDataBase("fms", "mysql", utils.MYSQL_URL_FMS)
	orm.SetMaxIdleConns("fms", 50)
	orm.SetMaxOpenConns("fms", 100)

	fms_datadb, _ := orm.GetDB("fms")
	fms_datadb.SetConnMaxLifetime(10 * time.Minute)

	_ = orm.RegisterDataBase("hz_cygx", "mysql", utils.MYSQL_URL_CYGX)
	orm.SetMaxIdleConns("hz_cygx", 50)
	orm.SetMaxOpenConns("hz_cygx", 100)

	cygx_db, _ := orm.GetDB("hz_cygx")
	cygx_db.SetConnMaxLifetime(10 * time.Minute)

	orm.Debug = true
	orm.DebugLog = orm.NewLog(utils.Binlog)

	//注册对象
	orm.RegisterModel(
		new(Classify),
		new(Banner),
		new(Resource),
		//new(Ppt),
		//new(PptPages),
		//new(PptPublishRecord),
		new(video.Video),
		new(video.VideoTags),
		new(OssSTSToken),
		//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()

	// 合同 数据表
	initContract()

	// 用印 数据表
	initSeal()

	// 研报 数据表
	initYb()

	// 路演记录 数据表
	initRoadShow()

	// 注册Edb沙盘 数据表
	//initSandbox()

	// 上海指标服务 数据表
	initShEdbData()

	// 指标服务 数据表
	initEdbData()

	// 图表 数据表
	initChart()

	// 查研观项 数据表
	initCygx()

	// 英文报告
	initEnglishReport()

	// 英文ppt
	//initPptEnglish()

	// 期货数据库
	initFutureGood()

	// 共享网盘
	//initCloudDisk()

	//ETA试用
	initETATrial()

	//出差审批
	initBusinessTrip()

	// 每刻报销
	initMaycur()

	// 语义分析
	//initSemanticAnalysis()

	// 供应分析
	initSupplyAnalysis()

	//多图配置
	initMultipleGraphConfig()

	//AI 聊天记录
	initAiChat()

	// ETA商家
	initEtaBusiness()

	// ETA版本更新日志
	initEtaVersionUpdateLog()

	// 帮助文档
	initHelpDoc()

	// ETA培训视频
	initEtaTrainingVideo()

	//海外客户
	initOverseasCustom()
}

// initSystem 系统表 数据表
func initSystem() {
	orm.RegisterModel(
		new(system.SysUserLoginRecord),
		new(system.SysSession),
		new(system.SysDepartment),
		new(system.SysGroup),
		//new(system.SysRoleMenu),
		new(system.SysRoleMenuCrm),
		new(system.Admin),
		new(system.SysRole),
		new(system.SysMenuButton),
		new(system.SysRoleButton),
		new(system.ApprovalFlow),          //审批配置表
		new(system.ApprovalFlowNode),      //审批节点配置表
		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.CompanyApprovalMessage),
		new(company.CompanyOperationRecord),
		new(company.Company),
		new(company.CompanyPermissionLog),
		new(company.CompanyReportPermission),
		new(company.CompanyContract),
		new(company.CompanyContractPermission),
		new(company.CompanyContractPermissionLog),
		new(company.CompanyProduct),
		new(company.CompanyLog),
		new(company.CompanyProductLog),
		new(company.CompanyRenewalReason),
		new(company.CompanyApproval),
		new(company.CompanyProductRemark),
		new(company.CompanyDelayPermission),
		new(company.CompanyProductUpdateLog),                 //客户产品变更状态表
		new(company.CompanyProductTryOutUpdateLog),           //客户产品试用变更状态表
		new(company.CompanyProductTryOutUpdatePermissionLog), //客户产品试用变更品种详情表
		new(company.CompanyDeleteBak),                        //客户删除时的信息备注表
		new(company.WxUserOpLog),                             //联系人日志记录表
		new(company_todo.CompanyTodo),                        //客户任务列表
		new(company.SellerCompanyPermission),                 //销售客户权限（"添加客户"权限）
		new(company.CompanyServiceRecord),                    // 客户服务记录表
		new(company.CompanyAscribe),                          // 客户归因
		new(company.CompanyNoRenewedNote),                    // 客户未续约记录
		new(company.CompanyNoRenewedAscribe),                 // 确认不续约记录
		new(company.CompanyNoRenewedAscribeLog),              // 确认不续约记录日志
		new(company.CompanyContractNoRenewedAscribe),         // 合同确认不续约记录
		new(company.CompanyContractNoRenewedAscribeLog),      // 合同确认不续约记录日志
		new(company.CrmConfig),                               // 管理后台基本配置表
		new(company.CompanyRenewalRecord),                    // 客户续约状态记录表
		new(company.CompanyHistoryRemark),                    // 客户记录历史记录表
	)
}

// initWxUser 联系人相关 数据表
func initWxUser() {
	orm.RegisterModel(
		new(WxUser),
		new(UserSellerRelation),
		new(UserRecord),
		new(UserTrialApply),
		new(company_user.ChartClassifyPermission),                   // 联系人图表权限表
		new(company_user.CompanyUserChartPermissionOperationRecord), // 联系人图表权限操作记录表
	)
}

// initReport 报告相关 数据表
func initReport() {
	orm.RegisterModel(
		new(Report),
		new(ReportViewRecord),
		new(advisory.AdvisoryArticle),
		new(advisory.AdvisoryArticleLog),
		//new(ResearchReport),                      //日报、周报信息
		new(ChartPermissionSearchKeyWordMapping), //报告分类权限表
		new(ReportChapter),                       // 报告章节表
		//new(ReportChapterTicker),                 // 晨报章节ticker
		//new(ReportChapterTypePermission),         // 晨周报章节类型权限表
		new(company_report_permission_log.CompanyReportPermissionLog),
		new(ReportSendThsDetail), //报告发送至同花顺记录
		new(GroupSendMsg),        //群发消息
		new(UserTemplateRecord),  //模板消息记录
		new(ChartPermission),     // 权限表
		new(YbPcSuncode),
		new(YbSuncodePars),
		//new(ReportAuthor),                  //报告作者
		new(ClassifyMenu),         // 报告分类-子目录表
		new(ClassifyMenuRelation), // 报告分类-子目录关联表
		new(ReportSendThsConfig),  //产品推送给同花顺的配置表
		//new(ChartPermissionChapterMapping), // 权限mapping表
		new(ReportChapterType),    // 报告章节类型表
		new(UserReportViewRecord), // 用户报告阅读记录表（汇总表）
	)
}

// initContract 合同 数据表
func initContract() {
	orm.RegisterModel(
		new(contract.ContractServiceTemplate), //合同服务模板表
		new(contract.ContractTemplate),        //合同模板表
		new(contract.Contract),                //合同主表
		new(contract.ContractService),         //合同服务
		new(contract.ContractServiceDetail),   //合同服务详情
		new(contract.ContractApproval),        //合同审批单
		new(contract.ContractApprovalRecord),  //合同审批流程单（具体审批节点）
		new(contract.ContractOperationRecord), //合同操作记录表
		new(contract.PayChannel),              //支付渠道表
	)
}

// initSeal 用印 数据表
func initSeal() {
	orm.RegisterModel(
		new(seal.Seal),                //用印表
		new(seal.SealOperationRecord), // 用印操作记录表
		new(seal.Attachment),          //用印附件表
	)
}

// initYb 研报 数据表
func initYb() {
	orm.RegisterModel(
		new(yb.Activity),                     // 研报活动表
		new(yb.ActivityType),                 // 研报活动分类表
		new(yb.ActivityVoice),                // 研报活动语音表
		new(yb.ActivityRegister),             // 研报活动报名表
		new(yb.Speaker),                      // 研报主持人表
		new(yb.ActivityPoster),               // 研报活动海报表
		new(yb.ApplyRecord),                  // 研报权限申请记录表
		new(yb.ActivityPermission),           // 研报活动权限表
		new(yb.Comment),                      //研报留言表
		new(yb.Message),                      //研报消息表
		new(yb.QsEvent),                      // 全时会议表
		new(yb.QsEventUser),                  // 全时会议用户表
		new(yb.CommunityQuestion),            // 研报问答社区表
		new(yb.CommunityQuestionAudio),       // 研报问答音频表
		new(yb.CommunityVideo),               // 研报视频社区表
		new(yb.CommunityVideoCover),          // 研报视频社区封面库表
		new(yb.PriceDriven),                  // 价格驱动表
		new(yb.PriceDrivenSaveLog),           // 价格驱动保存记录表
		new(yb.ComeinEvent),                  // 进门会议表
		new(yb.ComeinEventUser),              // 进门会议用户表
		new(yb.PriceDrivenTag),               // 价格驱动标签表
		new(yb.VoiceSection),                 // 语音播报板块表
		new(yb.YbCommunityQuestionLikeTease), // 问答点赞/吐槽表
		new(yb.YbCommunityQuestionComment),   // 问答评论表
		new(yb.RoadVideo),                    // 路演视频表
		new(day_new.WeworkMsg),               // 企业微信会话存档表
		new(day_new.WeworkMsgLog),            // 企业微信群消息拉取日志表
		new(day_new.WeworkUser),              // 企业微信用户信息表
		new(day_new.DayNewDefault),           // 每日资讯默认项
		new(yb.BulletChat),                   // 研报弹幕表
		new(yb.CommunityQuestionProcess),     // 研报问答社区流程表
		new(yb.Pdf),                          // 研报PDF表
	)
}

// 路演记录 数据表
func initRoadShow() {
	//注册对象
	orm.RegisterModel(
		new(roadshow.RsCalendar),                  //路演主表
		new(roadshow.RsCalendarResearcher),        //路演研究员信息表
		new(roadshow.RsMatters),                   //公开会议表
		new(roadshow.RsCalendarRelation),          //路演关系表（与上海的路演日历关系）
		new(roadshow.RsReportRecord),              //路演统计表
		new(roadshow.RsCalendarMeetingUser),       //路演参会名单表
		new(roadshow.RsCalendarMeetingLabelGroup), //路演参会名单关联的标签表
	)
}

// initCygx 查研观项 数据表
func initCygx() {
	orm.RegisterModel(
		new(cygx.CygxIndustryMap),
		new(cygx.CygxIndustrialManagement),
		new(cygx.CygxIndustrialAnalyst),
		new(cygx.CygxIndustrialSubject),
		new(cygx.CygxArticle),
		new(cygx.CygxActivity),
		new(cygx.CygxActivityVivoPointsSet),
		new(cygx.CygxActivitySignup),
		new(cygx.CygxActivityRestrictSignup),
		new(cygx.CygxActivityAttendanceDetail),
		new(cygx.CygxActivityOfflineMeetingDetail),
		new(cygx.CygxSummaryFastsearchKeywords),
		new(cygx.CygxMySchedule),
		new(cygx.CygxIndustrialArticleGroupManagement),
		new(cygx.CygxIndustrialArticleGroupSubject),
		new(cygx.CygxArticleDepartment),
		new(cygx.CygxInterfaceLog),
		new(cygx.CygxResearchSummary),
		new(cygx.CygxResearchSummaryLog),
		new(cygx.CygxMinutesSummary),
		new(cygx.CygxMinutesSummaryLog),
		new(cygx.CygxReportSelection),
		new(cygx.CygxReportSelectionLog),
		new(cygx.CygxActivityMeetDetailLog),
		new(cygx.CygxIndustrialActivityGroupManagement),
		new(cygx.CygxIndustrialActivityGroupSubject),
		new(cygx.CygxActivitySpecial),
		new(cygx.UserRemarks),
		new(cygx.CygxActivityUserRemarks),
		new(cygx.CygxActivityMeetingHistory),
		new(cygx.CygxActivityAppointment),
		new(cygx.CygxActivityMeetingReminder),
		new(cygx.CygxUserRemind),
		new(cygx.CygxArticleType),
		new(cygx.CygxIndustryFllow),
		new(cygx.CygxActivityVoice),
		new(cygx.CygxThreeApiLog),
		new(cygx.CygxMicroRoadshowVideo),
		new(cygx.CygxMicroRoadshowVideoHistory),
		new(cygx.CygxActivityVideo),
		new(cygx.CygxActivitySpecialDay),
		new(cygx.CygxActivitySpecialTrip),
		new(cygx.CygxActivitySpecialMeetingDetail),
		new(cygx.CygxMorningMeetingReviewChapter),
		new(cygx.CygxMorningMeetingReviews),
		new(cygx.CygxResourceData),
		new(cygx.CygxReportSelectionChartLog),
		new(cygx.CygxActivitySpecialTripBill),
		new(cygx.CygxCompanyUserType),
		new(cygx.CygxTacticsTimeLine),
		new(cygx.CygxProductInterior),
		new(cygx.CygxReportMappingCygx),
		new(cygx.CygxReportMappingCelue),
		new(cygx.CygxReportMappingGroup),
		new(cygx.CygxProductInteriorIndustrialGroupManagement),
		new(cygx.CygxProductInteriorIndustrialGroupSubject),
		new(cygx.CygxActivityPoster),
		new(cygx.CygxActivitySignupBreak),
		new(cygx.CygxBanner),
		new(cygx.CygxUserLabel),
		new(cygx.CygxUserLabelActivity),
		new(cygx.CygxUserLabelActivitySpecial),
		new(cygx.CygxActivitySignupDetail),
		new(cygx.CygxActivityPointsSet),
		new(cygx.CygxActivityPointsBill),
		new(cygx.CygxActivityPointsCompany),
		new(cygx.CygxTag),
		new(cygx.AliyunOcrLog),
		new(cygx.CygxReportMappingCategoryGroup),
		new(cygx.CygxResourceDataIndustrialGroupManagement),
		new(cygx.CygxResourceDataIndustrialGroupSubject),
		new(cygx.CygxYanxuanSpecialAuthor),
		new(cygx.CygxYanxuanSpecialApprovalLog),
		new(cygx.CygxAllocationCompanyContract),
		new(cygx.CygxAllocationCompanyContractLog),
		new(cygx.CygxAllocationCompanyContractPermission),
		new(cygx.CygxAllocationCompanyContractPermissionLog),
		new(cygx.CygxQuestionnaire),
		new(cygx.CygxQuestionnaireTheme),
		new(cygx.CygxAskserieVideo),
		new(cygx.CygxIndustrialAskserieVideoGroupManagement),
		new(cygx.CygxActivitySpecialPermissionPoints),
		new(cygx.CygxUserYanxuanPermission),
		new(cygx.CygxUserYanxuanPermissionLog),
		new(cygx.CygxEnterScore),
		new(cygx.CygxEnterScoreGroup),
		new(cygx.CygxEnterScorePermission),
		new(cygx.CygxEnterScoreResearcher),
		new(cygx.CygxOrderRefund),
		new(cygx.CygxOrder),
		new(cygx.CygxOrderAction),
		new(cygx.CygxUserFeedback),
	)
}

// 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样式和指标映射表
	)
}

// 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.EdbDataCalculate),
		new(data_manage.EdbInfoCalculateLjzzy),
		new(data_manage.EdbInfoCalculateTbz),
		new(data_manage.EdbInfoCalculateTcz),
		new(data_manage.EdbInfoCalculateNszydpjjs),
		new(data_manage.SearchKeyword),
		new(data_manage.EdbInfoCalculateHbz),
		new(data_manage.EdbInfoCalculateHcz),
		new(data_manage.EdbInfoCalculateBp),
		new(data_manage.BaseFromSmm),
		new(data_manage.BaseFromSmmIndex),
		new(data_manage.BaseFromSmmData),
		new(data_manage.BaseFromSmmClassify),
		new(data_manage.EdbInfoLog),
		new(data_manage.EdbInfoCalculateMapping),
		new(data_manage.EdbDataCalculateZjpj),            //直接拼接
		new(data_manage.EdbDataCalculateLjztbpj),         //累计同比值拼接
		new(data_manage.ExcelClassify),                   //ETA excel表格分类
		new(data_manage.ExcelInfo),                       //ETA excel表格
		new(data_manage.ExcelDraft),                      //ETA excel表格草稿
		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), //指标不可见用户配置表
	)
}

// 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),
	)
}

// 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), //期货利润图的扩展表
	)
}

// initETATrial ETA试用
func initETATrial() {
	orm.RegisterModel(
		new(eta_trial.EtaTrial),
		new(eta_trial.EtaTrialApproval),
		new(eta_trial.EtaTrialQuestionnaire),
	)
}

// initCloudDisk 共享云盘
//func initCloudDisk() {
//	//注册对象
//	orm.RegisterModel(
//		new(CloudDiskMenu),     // 云盘目录表
//		new(CloudDiskResource), // 云盘资源表
//	)
//}

// 出差
func initBusinessTrip() {
	orm.RegisterModel(
		new(business_trip.BusinessApply),
		new(business_trip.BusinessApplyPeer),
	)
}

// 每刻报销
func initMaycur() {
	orm.RegisterModel(
		new(MaycurCompanyProfile),        // 每刻报销-客户档案表
		new(MaycurPublicOfferingCompany), // 每刻报销-公募客户表
		new(MaycurPublicOfferingSale),    // 每刻报销-公募销售表
	)
}

// 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),   //指标与多图配置的关系表
	)
}

func initAiChat() {
	//注册对象
	orm.RegisterModel(
		new(aimod.AiChatTopic), //主题
		new(aimod.AiChat),      //聊天
	)
}

// initEtaBusiness ETA商家相关表
func initEtaBusiness() {
	orm.RegisterModel(
		new(eta_business.EtaBusiness),                // ETA商家表
		new(eta_business.EtaBusinessContract),        // ETA合同表
		new(eta_business.EtaBusinessOperationRecord), // ETA操作记录表
		new(eta_business.EtaBusinessMenu),            // ETA商家菜单表
		new(eta_business.EtaBusinessMenuRelate),      // ETA商家菜单关联表
		new(eta_business.EtaBusinessConfigRelate),    // ETA商家配置关联表
		new(eta_business.EtaBusinessMenuIcon),        // ETA商家菜单icon表
	)
}

// initEtaVersionUpdateLog ETA版本更新日志
func initEtaVersionUpdateLog() {
	orm.RegisterModel(
		new(EtaVersionUpdateLog), // 更新日志表
	)
}

func initHelpDoc() {
	//注册对象
	orm.RegisterModel(
		new(help_doc.HelpDocClassify), //分类
		new(help_doc.HelpDoc),         //文章
	)
}

// initEtaTrainingVideo ETA培训视频相关表
func initEtaTrainingVideo() {
	orm.RegisterModel(
		new(eta_training_video.EtaTrainingVideo),      // 视频表
		new(eta_training_video.EtaTrainingVideoOpLog), // 视频操作记录表
		//new(eta_training_video.EtaTrainingVideoViewLog),        // 视频访问记录表
		new(eta_training_video.EtaTrainingVideoTag),            // 标签表
		new(eta_training_video.EtaTrainingVideoTagRelate),      // 标签关联表
		new(eta_training_video.EtaTrainingVideoClassify),       // 分类表
		new(eta_training_video.EtaTrainingVideoClassifyRelate), // 分类关联表
	)
}

func initOverseasCustom() {
	orm.RegisterModel(
		new(overseas_custom.OverseasCustomerSale),
	)
}
