package utils import ( "io/fs" ) // 常量定义 const ( FormatTime = "15:04:05" //时间格式 FormatTimeHm = "15:04" //时间格式 FormatDate = "2006-01-02" //日期格式 FormatDateWallWithLoc = "2006-01-02T15:04:05-07:00" //日期格式 FormatDateUnSpace = "20060102" //日期格式 FormatDateTime = "2006-01-02 15:04:05" //完整时间格式 HlbFormatDateTime = "2006-01-02_15:04:05.999" //完整时间格式 FormatDateTimeUnSpace = "20060102150405" //完整时间格式 FormatShortDateTimeUnSpace = "060102150405" //省去开头两位年份的时间格式 EmptyDateTimeStr = "0000-00-00 00:00:00" //DateTime零值字符串 EmptyDateStr = "0000-00-00" //Date零值字符串 FormatMonthDayUnSpace = "0102" //日期格式 FormatMonthDay = "01-02" //日期格式 FormatYearMonthDate = "2006-01" //日期格式 FormatYearDate = "2006" //日期格式 PageSize15 = 15 //列表页每页数据量 PageSize5 = 5 PageSize10 = 10 PageSize20 = 20 PageSize30 = 30 PageSize50 = 50 ) const DateTypeNYears = 20 //时间类型为最近N年 // 手机号,电子邮箱正则 const ( RegularMobile = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0-9])|(17[0-9])|(16[0-9])|(19[0-9]))\\d{8}$" //手机号码 RegularEmail = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱 ) // 管理员,ficc管理员,ficc销售,权益管理员,权益销售。 // 角色类型/类型编码 const ( ROLE_TYPE_ADMIN = "管理员" ROLE_TYPE_FICC_ADMIN = "ficc管理员" ROLE_TYPE_FICC_SELLER = "ficc销售" ROLE_TYPE_RAI_ADMIN = "权益管理员" ROLE_TYPE_RAI_SELLER = "权益销售" ROLE_TYPE_FICC_GROUP = "ficc销售组长" ROLE_TYPE_FICC_MANAGER = "ficc销售主管" ROLE_TYPE_RAI_GROUP = "权益组长" ROLE_TYPE_FICC_DEPARTMENT = "ficc部门经理" ROLE_TYPE_RAI_DEPARTMENT = "权益部门经理" ROLE_TYPE_FICC_RESEARCHR = "ficc研究员" ROLE_TYPE_RAI_RESEARCHR = "权益研究员" ROLE_NAME_FICC_DIRECTOR = "ficc销售经理" // 实际角色类型为ficc销售主管 ROLE_TYPE_CODE_ADMIN = "admin" //管理员 ROLE_TYPE_CODE_FICC_ADMIN = "ficc_admin" //ficc管理员 ROLE_TYPE_CODE_FICC_SELLER = "ficc_seller" //ficc销售 ROLE_TYPE_CODE_RAI_ADMIN = "rai_admin" //权益管理员 ROLE_TYPE_CODE_RAI_SELLER = "rai_seller" //权益销售 ROLE_TYPE_CODE_FICC_GROUP = "ficc_group" //ficc销售主管 ROLE_TYPE_CODE_RAI_GROUP = "rai_group" //ficc组长 ROLE_TYPE_CODE_FICC_DEPARTMENT = "ficc_department" //ficc部门经理 ROLE_TYPE_CODE_RAI_DEPARTMENT = "rai_department" //权益部门经理 ROLE_TYPE_CODE_FICC_RESEARCHR = "ficc_researcher" //ficc研究员 ROLE_TYPE_CODE_RESEARCHR = "researcher" //ficc研究员(最早定义的) ROLE_TYPE_CODE_RAI_RESEARCHR = "rai_researcher" //权益研究员 ROLE_TYPE_CODE_COMPLIANCE = "compliance" //合规角色 ROLE_TYPE_CODE_FINANCE = "finance" //财务角色 ROLE_TYPE_CODE_FICC_TEAM = "ficc_team" //ficc销售组长 ROLE_TYPE_SELLERS = "'ficc_admin','ficc_seller','ficc_team','rai_admin','rai_seller','ficc_group','rai_group','ficc_department','rai_department','compliance','finance'" ) const ( COMPANY_PRODUCT_FICC_ID = 1 COMPANY_PRODUCT_FICC_NAME = "ficc" COMPANY_PRODUCT_RAI_ID = 2 COMPANY_PRODUCT_RAI_NAME = "权益" ) //apply_method:申请类型:1:试用->正式,2:冻结—>试用,3:流失—>正式,4:试用延期,5:原销售申请领取流失客户,6:正式客户申请服务更新 // 数据来源渠道 const ( DATA_SOURCE_THS = iota + 1 //同花顺 DATA_SOURCE_WIND //wind->2 DATA_SOURCE_PB //彭博->3 DATA_SOURCE_CALCULATE //指标运算->4 DATA_SOURCE_CALCULATE_LJZZY //累计值转月->5 DATA_SOURCE_CALCULATE_TBZ //同比值->6 DATA_SOURCE_CALCULATE_TCZ //同差值->7 DATA_SOURCE_CALCULATE_NSZYDPJJS //N数值移动平均计算->8 DATA_SOURCE_MANUAL //手工指标->9 DATA_SOURCE_LZ //隆众->10 DATA_SOURCE_YS //有色->11 DATA_SOURCE_CALCULATE_HBZ //环比值->12 DATA_SOURCE_CALCULATE_HCZ //环差值->13 DATA_SOURCE_CALCULATE_BP //变频->14 DATA_SOURCE_GL //钢联->15 DATA_SOURCE_ZZ //郑商所->16 DATA_SOURCE_DL //大商所->17 DATA_SOURCE_SH //上期所->18 DATA_SOURCE_CFFEX //中金所->19 DATA_SOURCE_SHFE //上期能源->20 DATA_SOURCE_GIE //欧洲天然气->21 DATA_SOURCE_CALCULATE_TIME_SHIFT //时间移位->22 DATA_SOURCE_CALCULATE_ZJPJ //直接拼接->23 DATA_SOURCE_CALCULATE_LJZTBPJ //累计值同比拼接->24 DATA_SOURCE_LT //路透->25 DATA_SOURCE_COAL //中国煤炭市场网->26 DATA_SOURCE_PYTHON //python代码->27 DATA_SOURCE_PB_FINANCE //彭博财务数据->28 DATA_SOURCE_GOOGLE_TRAVEL //谷歌出行->29 DATA_SOURCE_PREDICT //普通预测指标->30 DATA_SOURCE_PREDICT_CALCULATE //预测指标运算->31 DATA_SOURCE_PREDICT_CALCULATE_TBZ //预测同比值->32 DATA_SOURCE_PREDICT_CALCULATE_TCZ //预测同差值->33 DATA_SOURCE_MYSTEEL_CHEMICAL //钢联化工->34 DATA_SOURCE_CALCULATE_CJJX //超季节性->35 DATA_SOURCE_EIA_STEO //eia steo报告->36 DATA_SOURCE_CALCULATE_NHCC //计算指标(拟合残差)->37 DATA_SOURCE_COM_TRADE //联合国商品贸易数据->38 DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS //预测指标 - N数值移动平均计算 -> 39 DATA_SOURCE_CALCULATE_ADJUST //数据调整->40 DATA_SOURCE_SCI //卓创数据(红桃三)->41 DATA_SOURCE_PREDICT_CALCULATE_LJZZY //预测指标 - 累计值转月->42 DATA_SOURCE_PREDICT_CALCULATE_HBZ //预测指标 - 环比值->43 DATA_SOURCE_PREDICT_CALCULATE_HCZ //预测指标 - 环差值->44 DATA_SOURCE_PREDICT_CALCULATE_BP //预测指标 - 变频->45 DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT //预测指标 - 时间移位->46 DATA_SOURCE_PREDICT_CALCULATE_ZJPJ //预测指标 - 直接拼接->47 DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ //预测指标 - 累计值同比拼接->48 DATA_SOURCE_PREDICT_CALCULATE_CJJX //预测指标 - 超季节性->49 DATA_SOURCE_PREDICT_CALCULATE_NHCC //预测指标 - 计算指标(拟合残差)->50 DATA_SOURCE_CALCULATE_JP //变频->51 DATA_SOURCE_CALCULATE_NH //年化->52 DATA_SOURCE_CALCULATE_KSZS //扩散指数->53 DATA_SOURCE_PREDICT_CALCULATE_JP //预测指标 - 计算指标(降频)->54 DATA_SOURCE_PREDICT_CALCULATE_NH //预测指标 - 计算指标(年化)->55 DATA_SOURCE_PREDICT_CALCULATE_KSZS //预测指标 - 计算指标(扩散指数)->56 DATA_SOURCE_BAIINFO //百川盈孚 ->57 DATA_SOURCE_STOCK_PLANT //存量装置 ->58 DATA_SOURCE_CALCULATE_CORRELATION //滚动相关性->59 DATA_SOURCE_NATIONAL_STATISTICS //国家统计局->60 DATA_SOURCE_CALCULATE_LJZZJ //累计值转季 -> 61 DATA_SOURCE_CALCULATE_LJZ //累计值 -> 62 DATA_SOURCE_CALCULATE_LJZNCZJ //累计值(年初至今) -> 63 DATA_SOURCE_PREDICT_CALCULATE_LJZZJ //预测指标 - 累计值转季->64 DATA_SOURCE_PREDICT_CALCULATE_LJZ //预测指标 - 累计值 -> 65 DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ //预测指标 - 累计值(年初至今) -> 66 DATA_SOURCE_CALCULATE_STANDARD_DEVIATION //标准差->67 DATA_SOURCE_CALCULATE_PERCENTILE //百分位图表->68 DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION //预测标准差->69 DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE //预测百分位->70 DATA_SOURCE_FUBAO //富宝->71 DATA_SOURCE_CALCULATE_ZSXY // 指数修匀->72 DATA_SOURCE_PREDICT_CALCULATE_ZSXY // 预测指数修匀->73 DATA_SOURCE_CALCULATE_ZDYFX // 自定义分析->74 DATA_SOURCE_CALCULATE_RJZ // 日均值计算->75 DATA_SOURCE_GFEX = 78 // 广州期货交易所->78 DATA_SOURCE_ICPI = 79 // ICPI消费价格指数->79 DATA_SOURCE_BLOOMBERG = 83 // bloomberg彭博数据 DATA_SOURCE_BUSINESS = 84 // 来源于自有数据 DATA_SOURCE_SCI99 = 85 // 卓创资讯 -> 85 DATA_SOURCE_CALCULATE_RANGEANLYSIS = 87 //区间计算->87 DATA_SOURCE_PREDICT_CALCULATE_RANGEANLYSIS = 90 // 预测指标区间计算->90 DATA_SOURCE_SCI_HQ = 88 // 卓创红期->88 DATA_SOURCE_OILCHEM = 89 // 隆众资讯 -> 89 DATA_SOURCE_FENWEI = 77 // 汾渭数据->92 ) // 数据刷新频率 const ( DATA_START_REFRESH_LIMIT = 7 //7个单位,日/周/月/季度/年 DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间 ) const ( DATA_PREFIX = "hz_data" CHART_PREFIX = "hz_chart" EXCEL_DATA_PREFIX = "hz_excel_data" ) const ( EDB_DATA_LIMIT = 10 ) const ( HZ_CHART_LIB_DETAIL = "HZ_CHART_LIB_DETAIL_" //图表数据缓存 HZ_CHART_LIB_EXCEL_TABLE_DETAIL = "HZ_CHART_LIB_EXCEL_TABLE_DETAIL" //excel表格数据缓存 ) // 缓存key const ( CACHE_KEY_LOGS = "HZ_ADMIN_CACHE_KEY_LOGS" //api用户操作日志队列 CACHE_KEY_ADMIN = "calendar:admin:list" //系统用户列表缓存key CACHE_KEY_ADMIN_ID = "calendar:admin:id:list" //系统用户列表缓存key CACHE_CHART_INFO_DATA = "chart:info:data:" //图表数据 CACHE_CHART_CLASSIFY = "chart:classify" //图表分类数据 CACHE_IMPORT_MANUAL_DATA = "import:manual:data" //手工数据导入后刷新 CACHE_ACCESS_TOKEN_LOGIN = "pc_eta_admin:login:" //管理后台登录 CACHE_ACCESS_TOKEN_LOGIN_NO_TRUST = "pc_eta_admin:login:no_trust:" //管理后台登录(不可信登录态) CACHE_ABNORMAL_LOGIN = "pc_eta_admin:login:abnormal:" //管理后台登录-异常登录 CACHE_LOGIN_ERR_PASS = "pc_eta_admin:login:errPass:" //管理后台登录-输入错误密码次数 CACHE_FIND_PASS_VERIFY = "pc_eta_admin:findPass:verify:" //找回密码校验成功标记 CACHE_KEY_ADMIN_OPERATE_RECORD = "HZ_ADMIN_CACHE_ADMIN_OPERATE_RECORD" //系统用户操作日志队列 CACHE_PPT_EDITING = "eta:ppt:editing:" // PPT用户编辑中 CACHE_EN_PPT_EDITING = "eta:en_ppt:editing:" // 英文PPT用户编辑中 CACHE_BI_DASHBOARD_EDITING = "eta:bi_dashboard:editing:" // 看板用户编辑中 CACHE_EDB_TERMINAL_CODE_URL = "edb:terminal_code:edb_code:" // 指标与终端关系的缓存 CACHE_KEY_REPLACE_EDB = "eta:replace_edb" //系统用户操作日志队列 ) // 模板消息推送类型 const ( TEMPLATE_MSG_REPORT = iota + 1 //日度点评报告推送 ) // 研报类型标识 var ( REPORT_TYPE_DAY = "day" REPORT_TYPE_WEEK = "week" REPORT_TYPE_TWO_WEEK = "two_week" REPORT_TYPE_MONTH = "month" REPORT_TYPE_OTHER = "other" ) // GetFiccAdminDepartmentIds 获取ficc管理员的所属部门 func GetFiccAdminDepartmentIds() (idStr string) { if RunMode == "release" { idStr = `1,2,4,6` } else { idStr = `1,2,6` } return } const ( ReportFrequencyDay = "日度" ReportFrequencyWeek = "周度" ReportFrequencyTwoWeek = "双周度" ReportFrequencyMonth = "月度" ReportFrequencyDefault = "不定时" ) // 图表类型 const ( CHART_SOURCE_DEFAULT = 1 //图表 CHART_SOURCE_FUTURE_GOOD = 2 //商品价格曲线 CHART_SOURCE_CORRELATION = 3 // 相关性图表 CHART_SOURCE_ROLLING_CORRELATION = 4 // 滚动相关性图表 CHART_SOURCE_FUTURE_GOOD_PROFIT = 5 // 商品利润曲线 CHART_SOURCE_LINE_EQUATION = 6 // 拟合方程图表 CHART_SOURCE_LINE_FEATURE_STANDARD_DEVIATION = 7 // 统计特征-标准差图表 CHART_SOURCE_LINE_FEATURE_PERCENTILE = 8 // 统计特征-百分位图表 CHART_SOURCE_LINE_FEATURE_FREQUENCY = 9 // 统计特征-频率分布图表 CHART_SOURCE_CROSS_HEDGING = 10 // 跨品种分析图表 CHART_SOURCE_BALANCE_EXCEL = 11 // 平衡表图表 CHART_SOURCE_RANGE_ANALYSIS = 12 // 区间分析图表 ) // 批量配置图表的位置来源 const ( CHART_MULTIPLE_GRAPH_CURVE = 1 // 曲线图 CHART_MULTIPLE_GRAPH_CORRELATION = 2 // 相关性图 CHART_MULTIPLE_GRAPH_ROLLING_CORRELATION_ONE = 3 // 滚动相关性图1 CHART_MULTIPLE_GRAPH_ROLLING_CORRELATION_TWO = 4 // 滚动相关性图2 CHART_MULTIPLE_GRAPH_LINE_EQUATION_ONE = 5 // 拟合方程-斜率图 CHART_MULTIPLE_GRAPH_LINE_EQUATION_TWO = 6 // 拟合方程-截距图 CHART_MULTIPLE_GRAPH_LINE_EQUATION_THREE = 7 // 拟合方程-相关性图 CHART_MULTIPLE_GRAPH_LINE_FEATURE_STANDARD_DEVIATION = 8 // 统计特征-标准差图表 CHART_MULTIPLE_GRAPH_LINE_FEATURE_PERCENTILE = 9 // 统计特征-百分位图表 CHART_MULTIPLE_GRAPH_LINE_FEATURE_FREQUENCY = 10 // 统计特征-频率分布图表 ) // ETA表格 const ( EXCEL_DEFAULT = 1 // 自定义excel TIME_TABLE = 2 // 时间序列表格 MIXED_TABLE = 3 // 混合表格 CUSTOM_ANALYSIS_TABLE = 4 // 自定义分析表格 BALANCE_TABLE = 5 // 平衡表 ) // 图表样式类型 const ( CHART_TYPE_CURVE = 1 //曲线图 CHART_TYPE_SEASON = 2 //季节性图 CHART_TYPE_BAR = 7 //柱形图 CHART_TYPE_SECTION_SCATTER = 10 //截面散点图样式 CHART_TYPE_RADAR = 11 //雷达图 CHART_TYPE_SECTION_COMBINE = 14 //截面组合图 ) // 指标类型 const ( EDB_INFO_TYPE = 0 //指标类型 0:普通指标 PREDICT_EDB_INFO_TYPE = 1 //指标类型 1:预测指标 ) // FrequencyDaysMap 频度日期的map关系 var FrequencyDaysMap = map[string]int{ "天": 1, "周": 7, "月": 30, "季": 90, "年": 365, } const ( AiChatLimit = 500 ) // BusinessCodeSalt 商家编码盐值 const BusinessCodeSalt = "dr7WY0OZgGR7upw1" // 验证码 const ( CaptchaCachePrefix = "captcha:lock:eta_" // 验证码缓存Key VerifyCodeExpireMinute = 15 // 短信/邮箱验证码过期时间-分钟 ) const CrmEtaAuthorization = "NIi1RbEmH0C2rksXtPGDPBBgRgTZY87Q" const LoginCacheTime = 8 * 60 // 登录缓存时长, 分钟 const ( STORAGESOURCE_OSS_NAME = "oss" STORAGESOURCE_MINIO_NAME = "minio" STORAGESOURCE_S3_NAME = "s3" ) // DIR_MOD 目录创建权限 const DIR_MOD fs.FileMode = 0766 // Unix permission bits // 子数据来源渠道 const ( DATA_SUB_SOURCE_EDB = iota //经济数据库 DATA_SUB_SOURCE_DATE //日期序列 DATA_SUB_SOURCE_HIGH_FREQUENCY //高频数据 ) const ( WindDbWsd = "wsd" ThsDs = "thsds" ThsHf = "thshf" ) const ( UserLoginSalt = "MiQM9yusNA9T2uIH" // 用户登录盐值 DesKeySalt = "JMCqSoUrTAmyNNIRb0TtlrPk" // DesKey盐值 ) // DataSourceEnMap 指标来源的英文名称 var DataSourceEnMap = map[int]string{ DATA_SOURCE_WIND: "Wind", DATA_SOURCE_THS: "iFind", DATA_SOURCE_PB: "Bloomberg", DATA_SOURCE_PB_FINANCE: "Bloomberg Finance", DATA_SOURCE_LT: "Reuters", DATA_SOURCE_MANUAL: "Horizon Insights", DATA_SOURCE_LZ: "OilChem", DATA_SOURCE_YS: "SMM", DATA_SOURCE_GL: "MySteel", DATA_SOURCE_ZZ: "Zhengzhou Commodity Exchange", DATA_SOURCE_DL: "Dalian Commodity Exchange", DATA_SOURCE_SH: "Shanghai Futures Exchange", DATA_SOURCE_CFFEX: "China Financial Futures Exchange", DATA_SOURCE_SHFE: "Shanghai International Energy Exchange", DATA_SOURCE_GIE: "Eurostat", DATA_SOURCE_COAL: "China Coal Transport & Distribution Association", DATA_SOURCE_GOOGLE_TRAVEL: "Our World in Data", DATA_SOURCE_EIA_STEO: "Energy Information Administration", DATA_SOURCE_COM_TRADE: "United Nations", DATA_SOURCE_SCI: "Sublime China Information", DATA_SOURCE_BAIINFO: "BAIINFO", DATA_SOURCE_MYSTEEL_CHEMICAL: "Horizon Insights", DATA_SOURCE_FUBAO: "FuBao", DATA_SOURCE_SCI_HQ: "SCI(hongqi)", } const ( TelAreaCodeHome = "86" // 大陆区号 ) const ( LdapInitPassword = "123456a" // 域用户初始密码 ) const ( PercentCalculateTypeRange = 0 // 百分位算法类型-数据区间 PercentCalculateTypeNum = 1 // 百分位算法类型-数据个数 ) // 语言版本 const ( ZhLangVersion = "zh" // 中文语言版本 EnLangVersion = "en" // 英文语言版本 ) // 指标引用对象 const ( EDB_RELATION_CHART = 1 // 图表 EDB_RELATION_SANDBOX = 2 // ETA逻辑 EDB_RELATION_CALENDAR = 3 // 事件日历 EDB_RELATION_TABLE = 4 // 表格 ) // 指标计算方式 const ( EdbBaseCalculateLjzzy = 1 // 累计值转月->1 EdbBaseCalculateLjzzj = 2 // 累计值转季->2 EdbBaseCalculateTbz = 3 // 同比值->3 EdbBaseCalculateTcz = 4 // 同差值->4 EdbBaseCalculateNszydpjjs = 5 // N数值移动平均数计算->5 EdbBaseCalculateHbz = 6 // 环比值->6 EdbBaseCalculateHcz = 7 // 环差值->7 EdbBaseCalculateUpFrequency = 8 // 升频->8 EdbBaseCalculateDownFrequency = 9 // 降频->9 EdbBaseCalculateTimeShift = 10 // 时间移位->10 EdbBaseCalculateCjjx = 11 // 超季节性->11 EdbBaseCalculateAnnualized = 12 // 年化->12 EdbBaseCalculateLjz = 13 // 累计值->13 EdbBaseCalculateLjzNczj = 14 // 累计值年初至今->14 EdbBaseCalculateExponentialSmoothing = 15 // 指数修匀->15 EdbBaseCalculateRjz = 16 // 日均值->16 ) // MultiAddNum 批量插入的数据量 const MultiAddNum = 500 const EdbClassifyMaxLevel = 9 // 指标库分类最大层级 const ( EdbClassifyTypeBase = 0 // 指标分类-指标库 EdbClassifyTypePredict = 1 // 指标分类-预测指标 EdbClassifyTypeCalculate = 2 // 指标分类-计算指标 EdbClassifyTypeOrigin = -1 // 指标分类-原(基础+计算)指标 ) const ( EdbTypeBase = 1 // 指标类型-基础指标 EdbTypeCalculate = 2 // 指标类型-计算指标 ) const ( EdbPermissionSourceBase = 3 // 指标权限来源-基础指标(数据查看) EdbPermissionSourcePredict = 4 // 指标权限来源-预测指标(衍生指标) ChartPermissionSource = 5 // 图库权限来源 TablePermissionSource = 6 // 表格权限来源 EdbPermissionSourceCalculate = 7 // 指标权限来源-计算指标 ) // BaseEdbRefreshStartDate 指标的基础刷新开始日期 const BaseEdbRefreshStartDate = `1899-01-01` const ( ReportTypeDefault = 1 // 报告类型-默认研报 ReportTypePPT = 2 // 报告类型-PPT ReportSourceLocal = 1 // 报告来源-本地 ReportSourceOuter = 2 // 报告来源-外部 ReportAddTypeNew = 1 // 报告新增方式-新增 ReportAddTypeInherit = 2 // 报告新增方式-继承 ReportWriteTypeSingle = 1 // 报告协作方式-个人 ReportWriteTypeGroup = 2 // 报告协作方式-多人 ) const ReportPptEditingWait = 30 // 报告/PPT编辑退出后其他人的等待时长(单位:s)