package utils

import "time"

// 常量定义
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"          //完整时间格式
	FormatShortDateTimeUnSpace = "060102150405"            //省去开头两位年份的时间格式
	FormatYearMonthDate        = "2006-01"                 //日期格式
	FormatYearMonthUnSpace     = "200601"                  //年月的日期格式
	PageSize15                 = 15                        //列表页每页数据量
	PageSize5                  = 5
	PageSize10                 = 10
	PageSize20                 = 20
	PageSize30                 = 30
)

const (
	DATA_SOURCE_YONYI  = 76 //涌益咨询
	DATA_SOURCE_FENWEI = 77 //汾渭煤炭
)

// 数据来源渠道
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_MTJH          = 80 // 煤炭江湖->80
	DATA_SOURCE_CALCULATE_SUM = 81
	DATA_SOURCE_CALCULATE_AVG = 82
	DATA_SOURCE_BLOOMBERG     = 83 // bloomberg彭博数据
	DATA_SOURCE_BUSINESS      = 84 // 来源于自有数据
	DATA_SOURCE_SCI99         = 85 // 卓创资讯
)

// 指标来源的中文展示
const (
	DATA_SOURCE_NAME_THS                                  = `同花顺`               //同花顺
	DATA_SOURCE_NAME_WIND                                 = `wind`              //wind
	DATA_SOURCE_NAME_PB                                   = `彭博`                //彭博
	DATA_SOURCE_NAME_CALCULATE                            = `指标运算`              //指标运算
	DATA_SOURCE_NAME_CALCULATE_LJZZY                      = `累计值转月值`            //累计值转月
	DATA_SOURCE_NAME_CALCULATE_TBZ                        = `同比值`               //同比值
	DATA_SOURCE_NAME_CALCULATE_TCZ                        = `同差值`               //同差值
	DATA_SOURCE_NAME_CALCULATE_NSZYDPJJS                  = `N数值移动平均计算`         //N数值移动平均计算
	DATA_SOURCE_NAME_MANUAL                               = `手工数据`              //手工指标
	DATA_SOURCE_NAME_LZ                                   = `隆众`                //隆众
	DATA_SOURCE_NAME_YS                                   = `SMM`               //有色
	DATA_SOURCE_NAME_CALCULATE_HBZ                        = `环比值`               //环比值->12
	DATA_SOURCE_NAME_CALCULATE_HCZ                        = `环差值`               //环差值->13
	DATA_SOURCE_NAME_CALCULATE_BP                         = `升频`                //变频,2023-2-10 13:56:01调整为"升频"->14
	DATA_SOURCE_NAME_GL                                   = `钢联`                //钢联->15
	DATA_SOURCE_NAME_ZZ                                   = `郑商所`               //郑商所->16
	DATA_SOURCE_NAME_DL                                   = `大商所`               //大商所->17
	DATA_SOURCE_NAME_SH                                   = `上期所`               //上期所->18
	DATA_SOURCE_NAME_CFFEX                                = `中金所`               //中金所->19
	DATA_SOURCE_NAME_SHFE                                 = `上期能源`              //上期能源->20
	DATA_SOURCE_NAME_GIE                                  = `欧洲天然气`             //欧洲天然气->21
	DATA_SOURCE_NAME_CALCULATE_TIME_SHIFT                 = `时间移位`              //时间移位->22
	DATA_SOURCE_NAME_CALCULATE_ZJPJ                       = `直接拼接`              //直接拼接->23
	DATA_SOURCE_NAME_CALCULATE_LJZTBPJ                    = `累计值同比拼接`           //累计值同比拼接->24
	DATA_SOURCE_NAME_LT                                   = `路透`                //路透->25
	DATA_SOURCE_NAME_COAL                                 = `中国煤炭市场网`           //中国煤炭市场网->26
	DATA_SOURCE_NAME_PYTHON                               = `代码运算`              //python代码->27
	DATA_SOURCE_NAME_PB_FINANCE                           = `彭博财务`              //彭博财务数据->28
	DATA_SOURCE_NAME_GOOGLE_TRAVEL                        = `our world in data` //谷歌出行数据->29
	DATA_SOURCE_NAME_PREDICT                              = `预测指标`              //普通预测指标->30
	DATA_SOURCE_NAME_PREDICT_CALCULATE                    = `预测指标运算`            //预测指标运算->31
	DATA_SOURCE_NAME_PREDICT_CALCULATE_TBZ                = `预测同比`              //预测指标 - 同比值->32
	DATA_SOURCE_NAME_PREDICT_CALCULATE_TCZ                = `预测同差`              //预测指标 - 同差值->33
	DATA_SOURCE_NAME_MYSTEEL_CHEMICAL                     = `钢联化工`              //钢联化工->34
	DATA_SOURCE_NAME_CALCULATE_CJJX                       = `超季节性`              //超季节性->35
	DATA_SOURCE_NAME_EIA_STEO                             = `EIA STERO报告`       //eia stero报告->36
	DATA_SOURCE_NAME_CALCULATE_NHCC                       = `拟合残差`              //计算指标（拟合残差）->37
	DATA_SOURCE_NAME_COM_TRADE                            = `UN`                //联合国商品贸易数据->38
	DATA_SOURCE_NAME_PREDICT_CALCULATE_NSZYDPJJS          = `预测N数值移动平均计算`       //预测指标 - N数值移动平均计算 -> 39
	DATA_SOURCE_NAME_CALCULATE_ADJUST                     = `数据调整`              //数据调整->40
	DATA_SOURCE_NAME_SCI                                  = `SCI`               //卓创数据（红桃三）->41
	DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZZY              = `预测累计值转月值`          //预测指标 - 累计值转月->42
	DATA_SOURCE_NAME_PREDICT_CALCULATE_HBZ                = `预测环比值`             //预测指标 - 环比值->43
	DATA_SOURCE_NAME_PREDICT_CALCULATE_HCZ                = `预测环差值`             //预测指标 - 环差值->44
	DATA_SOURCE_NAME_PREDICT_CALCULATE_BP                 = `预测升频`              //预测指标 - 升频->45
	DATA_SOURCE_NAME_PREDICT_CALCULATE_TIME_SHIFT         = `预测时间移位`            //预测指标 - 时间移位->46
	DATA_SOURCE_NAME_PREDICT_CALCULATE_ZJPJ               = `预测直接拼接`            //预测指标 - 直接拼接->47
	DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZTBPJ            = `预测累计值同比拼接`         //预测指标 - 累计值同比拼接->48
	DATA_SOURCE_NAME_PREDICT_CALCULATE_CJJX               = `预测超季节性`            //预测指标 - 超季节性->49
	DATA_SOURCE_NAME_PREDICT_CALCULATE_NHCC               = `预测拟合残差`            //预测指标 - 计算指标（拟合残差）->50
	DATA_SOURCE_NAME_CALCULATE_JP                         = `降频`                //降频->51
	DATA_SOURCE_NAME_CALCULATE_NH                         = `年化`                //年化->52
	DATA_SOURCE_NAME_CALCULATE_KSZS                       = `扩散指数`              //扩散指数->53
	DATA_SOURCE_NAME_PREDICT_CALCULATE_JP                 = `预测降频`              //预测指标 - 计算指标(降频)->54
	DATA_SOURCE_NAME_PREDICT_CALCULATE_NH                 = `预测年化`              //预测指标 - 计算指标(年化)->55
	DATA_SOURCE_NAME_PREDICT_CALCULATE_KSZS               = `预测扩散指数`            //预测指标 - 计算指标(扩散指数)->56
	DATA_SOURCE_NAME_BAIINFO                              = `百川盈孚`              //百川盈孚 ->57
	DATA_SOURCE_NAME_STOCK_PLANT                          = `存量装置`              //存量装置 ->58
	DATA_SOURCE_NAME_CALCULATE_CORRELATION                = `相关性计算`             //相关性计算->59
	DATA_SOURCE_NAME_NATIONAL_STATISTICS                  = `国家统计局`             //国家统计局->60
	DATA_SOURCE_NAME_CALCULATE_LJZZJ                      = `累计值转季值`            //累计值转季 -> 61
	DATA_SOURCE_NAME_CALCULATE_LJZ                        = `累计值`               //累计值 -> 62
	DATA_SOURCE_NAME_CALCULATE_LJZNCZJ                    = `年初至今累计值`           //累计值(年初至今） -> 63
	DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZZJ              = `预测累计值转季值`          //预测指标 - 累计值转季->64
	DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZ                = `预测累计值`             //预测指标 - 累计值 -> 65
	DATA_SOURCE_NAME_PREDICT_CALCULATE_LJZNCZJ            = `预测年初至今累计值`         //预测指标 - 累计值(年初至今） -> 66
	DATA_SOURCE_NAME_CALCULATE_STANDARD_DEVIATION         = `标准差`               //标准差->67
	DATA_SOURCE_NAME_CALCULATE_PERCENTILE                 = `百分位`               //百分位->68
	DATA_SOURCE_NAME_PREDICT_CALCULATE_STANDARD_DEVIATION = `预测标准差`             //预测标准差->69
	DATA_SOURCE_NAME_PREDICT_CALCULATE_PERCENTILE         = `预测百分位`             //预测百分位->70
	DATA_SOURCE_NAME_FUBAO                                = `富宝数据`              //富宝数据->71
	DATA_SOURCE_NAME_CALCULATE_ZSXY                       = `指数修匀`              //指数修匀->72
	DATA_SOURCE_NAME_PREDICT_CALCULATE_ZSXY               = `预测指数修匀`            //预测指数修匀->73
	DATA_SOURCE_NAME_CALCULATE_ZDYFX                      = `自定义分析`             //自定义分析->74
	DATA_SOURCE_NAME_YONYI                                = `涌益咨询`              // 涌益咨询

	DATA_SOURCE_NAME_FENWEI        = `汾渭数据` // 汾渭煤炭
	DATA_SOURCE_NAME_MTJH          = `煤炭江湖` // 煤炭江湖->80
	DATA_SOURCE_NAME_ICPI          = "ICPI消费价格指数"
	DATA_SOURCE_NAME_CALCULATE_SUM = `多指标求和`
	DATA_SOURCE_NAME_CALCULATE_AVG = `多指标求平均`
	DATA_SOURCE_NAME_BUSINESS      = `自有数据`
)

// 基础数据初始化日期
var (
	BASE_START_DATE         = time.Now().AddDate(-30, 0, 0).Format(FormatDate)        //基础数据开始日期
	BASE_END_DATE           = time.Now().AddDate(4, 0, 0).Format(FormatDate)          //基础数据结束日期
	BASE_START_DATE_UnSpace = time.Now().AddDate(-30, 0, 0).Format(FormatDateUnSpace) //基础数据开始日期
	BASE_END_DATE_UnSpace   = time.Now().AddDate(4, 0, 0).Format(FormatDateUnSpace)   //基础数据结束日期
)

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

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

const (
	CACHE_EDB_DATA_ADD               = "CACHE_EDB_DATA_ADD_"
	CACHE_EDB_DATA_EDIT              = "CACHE_EDB_DATA_EDIT_"
	CACHE_EDB_DATA_REFRESH           = "CACHE_EDB_DATA_REFRESH_"
	CACHE_WIND_URL                   = "CACHE_WIND_URL"
	CACHE_CHART_INFO_DATA            = "chart:info:data:"                 //图表数据
	CACHE_STOCK_PLANT_CALCULATE      = "CACHE_STOCK_PLANT_CALCULATE_"     // 库存装置减产计算
	CACHE_EDB_TERMINAL_CODE_URL      = "edb:terminal_code:edb_code:"      // 指标与终端关系的缓存
	CACHE_EDB_TERMINAL_CODE_GOOD_URL = "edb:terminal_code:good:edb_code:" // 指标与终端关系的缓存, 商品期货
	CACHE_EDB_THS_SERVER_TOKEN       = "edb:ths_server_token:"            //同花顺调用凭证
	CACHE_SELF_EDB_HANDLE            = "CACHE_SELF_EDB_HANDLE:"           // 自定义指标缓存
)

// 图表类型
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 // 商品利润曲线
)

// MonthQuarterMap 月份与季度的map
var MonthQuarterMap = map[int]int{
	1:  1,
	2:  1,
	3:  1,
	4:  2,
	5:  2,
	6:  2,
	7:  3,
	8:  3,
	9:  3,
	10: 4,
	11: 4,
	12: 4,
}

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

var (
	HZ_TRIAL_BUSSINESS_CODE = "E2023080700" //商家试用平台
)

// 指标类型:1:基础指标,2:计算指标
const (
	DEFAULT_EDB_TYPE   = 1 //基础指标
	CALCULATE_EDB_TYPE = 2 //计算指标
)

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

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

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