package utils

import "io/fs"

const (
	Md5Key = "Ks@h64WJ#tcVgG8$&WlNfqvLAtMgpxWN"
)

// 常量定义
const (
	FormatTime                 = "15:04:05"                //时间格式
	FormatTimeHm               = "15:04"                   //时间格式
	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"            //省去开头两位年份的时间格式
	EmptyDateTimeStr           = "0000-00-00 00:00:00"     //DateTime零值字符串
	EmptyDateStr               = "0000-00-00"              //Date零值字符串
	FormatMonthDay             = "01-02"                   //日期格式
	FormatMonthDayUnSpace      = "0102"                    //日期格式
	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_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  = "权益"
)

var PermissionFiccClassifyArr = [...]string{"宏观经济", "化工产业", "建材产业", "有色产业", "市场策略"}
var PermissionAllClassifyArr = [...]string{"宏观经济", "化工产业", "建材产业", "有色产业", "市场策略", "权益"}

//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_BUSINESS                             = 84       // 来源于自有数据
	DATA_SOURCE_SCI_HQ                               = 88       // 卓创红期
)

// 数据刷新频率
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
)

var Hz_Data_WIND_Url_List = []string{"http://datawind.hzinsights.com:8040/", "http://datawind2.hzinsights.com:8040/"}

const (
	HZ_CHART_LIB_DETAIL             = "HZ_CHART_LIB_DETAIL_"            //图表数据缓存
	HZ_CHART_LIB_EXCEL_TABLE_DETAIL = "HZ_CHART_LIB_EXCEL_TABLE_DETAIL" //excel表格数据缓存
	CACHE_SYNC_DEPARTMENT           = "hz_crm_eta:sync_department"      // 同步部门的缓存队列key
)

// 缓存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_KEY_OLD_REPORT_PUBLISH      = "HZ_CACHE_KEY_OLD_REPORT_PUBLISH"   //老后台报告发布队列
	CACHE_ADMIN_YB_CONFIG             = "admin:yb_config:"                  //研报配置相关缓存前缀
	CACHE_WIND_URL                    = "CACHE_WIND_URL"                    //指标与wind服务器的绑定关系
	CACHE_CHART_INFO_DATA             = "chart:info:data:"                  //图表数据
	CACHE_CHART_CLASSIFY              = "chart:classify"                    //图表分类数据
	CACHE_IMPORT_MANUAL_DATA          = "import:manual:data"                //手工数据导入后刷新
	CACHE_ACCESS_TOKEN_LOGIN          = "mobile_eta_admin:login:"           //管理后台登录
	CACHE_ACCESS_TOKEN_LOGIN_NO_TRUST = "mobile_eta_admin:login:no_trust:"  //管理后台登录（不可信登录态）
	CACHE_ABNORMAL_LOGIN              = "mobile_eta_admin:login:abnormal:"  //管理后台登录-异常登录
	CACHE_LOGIN_ERR_PASS              = "mobile_eta_admin:login:errPass:"   //管理后台登录-输入错误密码次数
	CACHE_FIND_PASS_VERIFY            = "mobile_eta_admin:findPass:verify:" //找回密码校验成功标记
	CACHE_KEY_COMPANY_MATCH_PRE       = "admin:company:match:"              //客户名单匹配
	CACHE_KEY_MYSTEEL_REFRESH         = "mysteel_chemical:refresh"          //上海钢联刷新
	CACHE_KEY_DAYNEW_REFRESH          = "admin:day_new:refresh"             //每日资讯拉取企业微信聊天记录
	CACHE_KEY_DAYNEW_TRANSLATE        = "admin:day_new:translate"           //每日资讯中翻英
	CACHE_CREATE_REPORT_IMGPDF_QUEUE  = "eta_report:report_img_pdf_queue"   // 生成报告长图PDF队列
	CACHE_EDB_TERMINAL_CODE_URL       = "edb:terminal_code:edb_code:"       // 指标与终端关系的缓存
	CACHE_PPT_EDITING                 = "eta:ppt:editing:"                  // PPT用户编辑中
	CACHE_EN_PPT_EDITING              = "eta:en_ppt:editing:"               // 英文PPT用户编辑中
	CACHE_SMART_REPORT_EDITING        = "eta:smart_report:editing:"         // 智能研报用户编辑中
	CACHE_SMART_REPORT_SEND_MSG       = "eta:smart_report:sending:"         // 智能研报用户报告推送
	CACHE_KEY_REPLACE_EDB             = "eta:replace_edb"                   //系统用户操作日志队列
	CACHE_REPORT_SHARE_SHORT_Url      = "eta:report_share_url:report_id:"   //报告短链映射key
	CACHE_REPORT_SHARE_ORIGIN_Url     = "eta:report_share_url:token:"       //短链与原始报告链接的映射key
	CACHE_CHART_AUTH                  = "eta:chart:auth:"                   //图表数据授权
	CACHE_REPORT_SHARE_AUTH           = "eta:report:auth:share:"            //报告短链与报告图表授权映射key
	CACHE_REPORT_AUTH                 = "eta:report:auth:"                  //报告图表数据授权
)

// 模板消息推送类型
const (
	TEMPLATE_MSG_REPORT                  = iota + 1 //日度点评报告推送
	TEMPLATE_MSG_INDEX                              //指标更新
	TEMPLATE_MSG_APPLY                              //审批通知
	TEMPLATE_MSG_RECEIVE                            //销售领取客户通知
	TEMPLATE_MSG_CYGX_ACTIVITY_CACLE                //查研观向活动取消通知
	TEMPLATE_MSG_CYGX_ACTIVITY_UPDATE               //查研观向活动更改时间通知
	TEMPLATE_MSG_CYGX_ARTICLE                       //关注的作者发布报告通知
	TEMPLATE_MSG_CYGX_DAY_REPORT                    //发送日报（周报、双周报、月报）
	TEMPLATE_MSG_ACTIVITY_APPOINTMENT               //活动预约/报名时间通知
	TEMPLATE_MSG_RECEIVE_PERMISSION                 //销售"添加客户/领取客户"权限变更通知
	TEMPLATE_MSG_YB_COMMUNITY_QUESTION              //研报问答社区
	TEMPLATE_MSG_CYGX_ACTIVITY_ADD                  //查研观向小程序活动更新推送 12
	TEMPLATE_MSG_CYGX_ARTICLE_ADD                   //查研观向报告更新推送  13
	TEMPLATE_MSG_YB_PRICE_DRIVEN                    //研报价格驱动 14
	TEMPLATE_MSG_SEAL_FINISHED                      //用印申请已迁回通知 15
	TEMPLATE_MSG_YB_COMMUNITY_VIDEO                 //研报视频社区 16
	TEMPLATE_MSG_YB_ROAD_VIDEO                      //研报线上路演 17
	TEMPLATE_MSG_CYGX_ROADSHOW_VIDEO                //查研观向微路演视频 18
	TEMPLATE_MSG_CYGX_MORNING_MEETING               //查研观向晨会点评 19
	TEMPLATE_MSG_YB_VOICE_BROADCAST                 //研报语音播报 20 (hongze_yb,hongze_task在用,此处占位)
	TEMPLATE_MSG_CYGX_ACTIVITY_CUSTOMIZE            //查研观向活动自定义模版消息 23
)

// 研报类型标识
var (
	REPORT_TYPE_DAY      = "day"
	REPORT_TYPE_WEEK     = "week"
	REPORT_TYPE_TWO_WEEK = "two_week"
	REPORT_TYPE_MONTH    = "month"
	REPORT_TYPE_OTHER    = "other"
)

// 微信用户user_record注册平台
const (
	USER_RECORD_PLATFORM_RDDP      = iota + 1 // 日度点评公众号
	USER_RECORD_PLATFORM_BACKSTAGE            // 管理后台
	USER_RECORD_PLATFORM_PC                   // PC端网站
	USER_RECORD_PLATFORM_CYGX                 // 查研观向小程序
	_
	USER_RECORD_PLATFORM_YB // 研报小程序
)

// 留言管理员头像
const DEFAULT_HONGZE_SYS_LOGO = "https://hzstatic.hzinsights.com/static/yb_wx/hongze_sys_default_head.png" //弘则官方默认头像
const DEFAULT_HONGZE_USER_LOGO = "https://hzstatic.hzinsights.com/static/icon/hzyb/default_avatar.png"     //个人中心默认头像、匿名用户留言默认头像

// GetFiccAdminDepartmentIds 获取ficc管理员的所属部门
func GetFiccAdminDepartmentIds() (idStr string) {
	if RunMode == "release" {
		idStr = `1,2,4,6`
	} else {
		idStr = `1,2,6`
	}
	return
}

const (
	CHART_PERMISSION_NAME_MF_YANXUAN        = "买方研选"
	LU_YAN_FU_WU                            = "路演服务"
	CHART_PERMISSION_NAME_YANXUAN           = "研选"
	CHART_PERMISSION_ID_YANXUAN             = 31
	CE_LUE_NAME                      string = "策略"
	CE_LUE_ID                        int    = 23
	YI_YAO_NAME                      string = "医药"
	YI_YAO_ID                        int    = 22
	XIAO_FEI_NAME                    string = "消费"
	XIAO_FEI_ID                      int    = 21
	KE_JI_NAME                       string = "科技"
	KE_JI_ID                         int    = 20
	ZHI_ZAO_NAME                     string = "智造"
	ZHI_ZAO_ID                       int    = 19
	GU_SHOU_NAME                     string = "固收"
	GU_SHOU_ID                       int    = 100000 // 自定义权限类型ID ，十万起步
	YI_DONG_NAME                     string = "（易董）"
	YI_DONG_NAME_TWO                 string = "--易董"
	CYGX_ACTIVITY_TYPE_NAME_HZ              = "弘则活动"
	CYGX_ACTIVITY_TYPE_NAME_YX              = "研选活动"
	CYGX_LYJH                               = "路演精华"
	PERMISSION_ID_UPGRADE                   = 100000 //行业权限升级的时候所添加的起步值
)

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_AREA            = 3  // 面积图
	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,
}

// MultiAddNum 批量插入的数据量
const MultiAddNum = 500

// 验证码
const (
	CaptchaCachePrefix     = "captcha:lock:crm_" // 验证码缓存Key
	VerifyCodeExpireMinute = 15                  // 短信/邮箱验证码过期时间-分钟
	SmsLoginTplId          = "65692"             // 【弘则研究】您的验证码是XXX，如非本人操作，请忽略本短信
	SmsNewLoginTplId       = "254663"            // 【弘则研究】您的验证码是XXX，有效期15分钟
)

const LoginCacheTime = 60 // 登录缓存时长, 分钟

// DIR_MOD 目录创建权限
const DIR_MOD fs.FileMode = 0766 // Unix permission bits

// 自用商户号
const (
	BusinessCodeSandbox = "E2023080700" // 试用平台
	BusinessCodeRelease = "E2023080900" // 生产环境
	BusinessCodeDebug   = "E2023080901" // 测试环境
)

// 系统来源
const (
	SOURCE_ETA_FLAG = 2
)

// BusinessCodeSalt 商家编码盐值
const BusinessCodeSalt = "dr7WY0OZgGR7upw1"

const CrmEtaAuthorization = "NIi1RbEmH0C2rksXtPGDPBBgRgTZY87Q"

// 对象存储客户端
const (
	STORAGESOURCE_OSS   = 1 //阿里云OSS
	STORAGESOURCE_MINIO = 2 //MinIo
)

const (
	STORAGESOURCE_OSS_NAME   = "oss"
	STORAGESOURCE_MINIO_NAME = "minio"
	STORAGESOURCE_S3_NAME    = "s3"
)

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

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 (
	WindDbWsd = "wsd"
	ThsDs     = "thsds"
)

const (
	TelAreaCodeHome = "86" // 大陆区号
)

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

// 语言版本
const (
	ZhLangVersion = "zh" // 中文语言版本
	EnLangVersion = "en" // 英文语言版本
)
// 图表分类设置精选资源分类
const (
	ChartClassifyIsSelected = 1 // 图表分类设置精选资源分类
	ChartClassifyResourceStatusUp = 1 // 图表分类上架状态
	ChartClassifyResourceStatusDown = 2 // 图表分类下架状态
	ChartClassifyResourceStatusDefault = 0 // 图表分类默认状态
)
