package utils

import "time"

const (
	Md5Key = "GuRaB6dY1bXOJcwG"
)

// 常量定义
const (
	FormatTime                 = "15:04:05"            //时间格式
	FormatDate                 = "2006-01-02"          //日期格式
	FormatDateUnSpace          = "20060102"            //日期格式
	FormatDateTime             = "2006-01-02 15:04:05" //完整时间格式
	FormatDateTimeUnSpace      = "20060102150405"      //完整时间格式
	FormatShortDateTimeUnSpace = "060102150405"        //省去开头两位年份的时间格式
	PageSize15                 = 15                    //列表页每页数据量
	PageSize5                  = 5
	PageSize10                 = 10
	PageSize20                 = 20
	PageSize30                 = 30
)

const (
	APP_NAME_CN      = "弘则-ETA数据刷新"
	APP_NAME_EN      = "hongze_edb_lib"
	EmailSendToUsers = "glji@hzinsights.com;pyan@hzinsights.com;cxzhang@hzinsights.com"
)

// 数据来源渠道
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                            //变频,2023-2-10 13:56:01调整为"升频"->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
)

// 指标来源的中文展示
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
)

// 基础数据初始化日期
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)   //基础数据结束日期
)

type WindUrlMap struct {
	Url string
	Num int
}

var (
	Hz_Ths_Data_Url       string                                   //同花顺,万得接口服务地址(阿里云windows服务器地址)
	Hz_Wind_Data_Url      = "http://datawind.hzinsights.com:8040/" //万得接口服务地址
	Hz_Pb_Data_Url        = "http://datapb.hzinsights.com:8040/"   //彭博接口地址
	Hz_LT_Data_Url        = "http://dataek.hzinsights.com:8040/"   //路透社接口地址
	EDB_DATA_LIMIT        = 10
	Hz_Wind_Data_Url_LIST = []WindUrlMap{
		{Url: "http://datawind.hzinsights.com:8040/", Num: 2000},
		{Url: "http://datawind2.hzinsights.com:8040/", Num: 2000},
		//{Url: "http://datawind3.hzinsights.com:8040/", Num: 100},
	}
)

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_REFRESH = "CACHE_EDB_DATA_REFRESH_"
	CACHE_WIND_URL         = "CACHE_WIND_URL"
	CACHE_CHART_INFO_DATA  = "chart:info:data:" //图表数据
)