package utils

// 常量定义
const (
	FormatTime            = "15:04:05"                //时间格式
	FormatDate            = "2006-01-02"              //日期格式
	FormatDateUnSpace     = "20060102"                //日期格式
	FormatDateTime        = "2006-01-02 15:04:05"     //完整时间格式
	HlbFormatDateTime     = "2006-01-02_15:04:05.999" //完整时间格式
	FormatDateTimeUnSpace = "20060102150405"          //完整时间格式
	PageSize15            = 15                        //列表页每页数据量
	PageSize5             = 5
	PageSize10            = 10
	PageSize20            = 20
	PageSize30            = 30
)
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+)*`                                             //匹配电子邮箱
)

// 数据来源渠道
const (
	DATA_SOURCE_THS                                  = iota + 1 //同花顺
	DATA_SOURCE_WIND                                            //wind
	DATA_SOURCE_PB                                              //彭博
	DATA_SOURCE_CALCULATE                                       //指标运算
	DATA_SOURCE_CALCULATE_LJZZY                                 //累计值转月
	DATA_SOURCE_CALCULATE_TBZ                                   //同比值
	DATA_SOURCE_CALCULATE_TCZ                                   //同差值
	DATA_SOURCE_CALCULATE_NSZYDPJJS                             //N数值移动平均计算
	DATA_SOURCE_MANUAL                                          //手工指标
	DATA_SOURCE_LZ                                              //隆众
	DATA_SOURCE_YS                                              //有色
	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       // 卓创资讯
)

// 数据刷新频率
const (
	DATA_REFRESH        = 7 //7个单位,日/周/月/季度/年
	DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间
)

// 数据缓存
const (
	CATCH_EDB_DATA = "EDB_DATA_"
)

const (
	DATA_PREFIX  = "hz_data"
	CHART_PREFIX = "hz_chart"
)

const (
	HZ_CHART_LIB_DETAIL                     = "HZ_CHART_LIB_DETAIL_" //图表
	HZ_TABLE_LIB_DETAIL                     = "HZ_TABLE_LIB_DETAIL_" //表格
	HZ_CHART_LIB_EXCEL_TABLE_DETAIL         = "HZ_CHART_LIB_EXCEL_TABLE_DETAIL"
	HZ_CHART_LIB_EXCEL_TABLE_DETAIL_REFRESH = "HZ_CHART_LIB_EXCEL_TABLE_DETAIL_REFRESH"
)

// 图表类型
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 // 平衡表图表
)

// 图表查询来源
const (
	CHART_SOURCE_DW = 1 // 东吴
)

// ETA表格
const (
	EXCEL_DEFAULT         = 1 // 自定义excel
	TIME_TABLE            = 2 // 时间序列表格
	MIXED_TABLE           = 3 // 混合表格
	CUSTOM_ANALYSIS_TABLE = 4 // 自定义分析表格
)

// 图表样式类型
const (
	CHART_TYPE_CURVE           = 1  //曲线图
	CHART_TYPE_BAR             = 7  //柱形图
	CHART_TYPE_SECTION_SCATTER = 10 //截面散点图样式
	CHART_TYPE_RADAR           = 11 //雷达图
	CHART_TYPE_SECTION_COMBINE = 14 //截面组合图
)

// 图表类型
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 // 拟合方程-相关性图
)

// FrequencyDaysMap 频度日期的map关系
var FrequencyDaysMap = map[string]int{
	"天": 1, "周": 7, "月": 30, "季": 90, "年": 365,
}

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

// 子数据来源渠道
const (
	DATA_SUB_SOURCE_EDB            = iota //经济数据库
	DATA_SUB_SOURCE_DATE                  //日期序列
	DATA_SUB_SOURCE_HIGH_FREQUENCY        //高频数据
)

const (
	PercentCalculateTypeRange = 0 // 百分位算法类型-数据区间
	PercentCalculateTypeNum   = 1 // 百分位算法类型-数据个数
)

// 语言版本
const (
	ZhLangVersion = "zh" // 中文语言版本
	EnLangVersion = "en" // 英文语言版本
)