constants.go 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. package utils
  2. // 常量定义
  3. const (
  4. FormatTime = "15:04:05" //时间格式
  5. FormatTimeHm = "15:04" //时间格式
  6. FormatDate = "2006-01-02" //日期格式
  7. FormatDateUnSpace = "20060102" //日期格式
  8. FormatDateTime = "2006-01-02 15:04:05" //完整时间格式
  9. HlbFormatDateTime = "2006-01-02_15:04:05.999" //完整时间格式
  10. FormatDateTimeUnSpace = "20060102150405" //完整时间格式
  11. FormatShortDateTimeUnSpace = "060102150405" //省去开头两位年份的时间格式
  12. EmptyDateTimeStr = "0000-00-00 00:00:00" //DateTime零值字符串
  13. EmptyDateStr = "0000-00-00" //Date零值字符串
  14. FormatMonthDayUnSpace = "0102" //日期格式
  15. FormatMonthDay = "01-02" //日期格式
  16. FormatYearMonthDate = "2006-01" //日期格式
  17. FormatYearDate = "2006" //日期格式
  18. PageSize15 = 15 //列表页每页数据量
  19. PageSize5 = 5
  20. PageSize10 = 10
  21. PageSize20 = 20
  22. PageSize30 = 30
  23. PageSize50 = 50
  24. )
  25. const DateTypeNYears = 20 //时间类型为最近N年
  26. // 手机号,电子邮箱正则
  27. const (
  28. 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}$" //手机号码
  29. RegularEmail = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱
  30. )
  31. // 验证码code
  32. const (
  33. REGISTER_CODE = iota + 1 //注册
  34. LOGIN_CODE //登录
  35. )
  36. // 管理员,ficc管理员,ficc销售,权益管理员,权益销售。
  37. // 角色类型/类型编码
  38. const (
  39. ROLE_TYPE_ADMIN = "管理员"
  40. ROLE_TYPE_FICC_ADMIN = "ficc管理员"
  41. ROLE_TYPE_FICC_SELLER = "ficc销售"
  42. ROLE_TYPE_RAI_ADMIN = "权益管理员"
  43. ROLE_TYPE_RAI_SELLER = "权益销售"
  44. ROLE_TYPE_FICC_GROUP = "ficc销售组长"
  45. ROLE_TYPE_FICC_MANAGER = "ficc销售主管"
  46. ROLE_TYPE_RAI_GROUP = "权益组长"
  47. ROLE_TYPE_FICC_DEPARTMENT = "ficc部门经理"
  48. ROLE_TYPE_RAI_DEPARTMENT = "权益部门经理"
  49. ROLE_TYPE_FICC_RESEARCHR = "ficc研究员"
  50. ROLE_TYPE_RAI_RESEARCHR = "权益研究员"
  51. ROLE_NAME_FICC_DIRECTOR = "ficc销售经理" // 实际角色类型为ficc销售主管
  52. ROLE_TYPE_CODE_ADMIN = "admin" //管理员
  53. ROLE_TYPE_CODE_FICC_ADMIN = "ficc_admin" //ficc管理员
  54. ROLE_TYPE_CODE_FICC_SELLER = "ficc_seller" //ficc销售
  55. ROLE_TYPE_CODE_RAI_ADMIN = "rai_admin" //权益管理员
  56. ROLE_TYPE_CODE_RAI_SELLER = "rai_seller" //权益销售
  57. ROLE_TYPE_CODE_FICC_GROUP = "ficc_group" //ficc销售主管
  58. ROLE_TYPE_CODE_RAI_GROUP = "rai_group" //ficc组长
  59. ROLE_TYPE_CODE_FICC_DEPARTMENT = "ficc_department" //ficc部门经理
  60. ROLE_TYPE_CODE_RAI_DEPARTMENT = "rai_department" //权益部门经理
  61. ROLE_TYPE_CODE_FICC_RESEARCHR = "ficc_researcher" //ficc研究员
  62. ROLE_TYPE_CODE_RESEARCHR = "researcher" //ficc研究员(最早定义的)
  63. ROLE_TYPE_CODE_RAI_RESEARCHR = "rai_researcher" //权益研究员
  64. ROLE_TYPE_CODE_COMPLIANCE = "compliance" //合规角色
  65. ROLE_TYPE_CODE_FINANCE = "finance" //财务角色
  66. ROLE_TYPE_CODE_FICC_TEAM = "ficc_team" //ficc销售组长
  67. ROLE_TYPE_SELLERS = "'ficc_admin','ficc_seller','ficc_team','rai_admin','rai_seller','ficc_group','rai_group','ficc_department','rai_department','compliance','finance'"
  68. )
  69. const (
  70. COMPANY_PRODUCT_FICC_ID = 1
  71. COMPANY_PRODUCT_FICC_NAME = "ficc"
  72. COMPANY_PRODUCT_RAI_ID = 2
  73. COMPANY_PRODUCT_RAI_NAME = "权益"
  74. )
  75. var PermissionFiccClassifyArr = [...]string{"宏观经济", "化工产业", "建材产业", "有色产业", "市场策略"}
  76. var PermissionAllClassifyArr = [...]string{"宏观经济", "化工产业", "建材产业", "有色产业", "市场策略", "权益"}
  77. //apply_method:申请类型:1:试用->正式,2:冻结—>试用,3:流失—>正式,4:试用延期,5:原销售申请领取流失客户,6:正式客户申请服务更新
  78. // 数据来源渠道
  79. const (
  80. DATA_SOURCE_THS = iota + 1 //同花顺
  81. DATA_SOURCE_WIND //wind->2
  82. DATA_SOURCE_PB //彭博->3
  83. DATA_SOURCE_CALCULATE //指标运算->4
  84. DATA_SOURCE_CALCULATE_LJZZY //累计值转月->5
  85. DATA_SOURCE_CALCULATE_TBZ //同比值->6
  86. DATA_SOURCE_CALCULATE_TCZ //同差值->7
  87. DATA_SOURCE_CALCULATE_NSZYDPJJS //N数值移动平均计算->8
  88. DATA_SOURCE_MANUAL //手工指标->9
  89. DATA_SOURCE_LZ //隆众->10
  90. DATA_SOURCE_YS //有色->11
  91. DATA_SOURCE_CALCULATE_HBZ //环比值->12
  92. DATA_SOURCE_CALCULATE_HCZ //环差值->13
  93. DATA_SOURCE_CALCULATE_BP //变频->14
  94. DATA_SOURCE_GL //钢联->15
  95. DATA_SOURCE_ZZ //郑商所->16
  96. DATA_SOURCE_DL //大商所->17
  97. DATA_SOURCE_SH //上期所->18
  98. DATA_SOURCE_CFFEX //中金所->19
  99. DATA_SOURCE_SHFE //上期能源->20
  100. DATA_SOURCE_GIE //欧洲天然气->21
  101. DATA_SOURCE_CALCULATE_TIME_SHIFT //时间移位->22
  102. DATA_SOURCE_CALCULATE_ZJPJ //直接拼接->23
  103. DATA_SOURCE_CALCULATE_LJZTBPJ //累计值同比拼接->24
  104. DATA_SOURCE_LT //路透->25
  105. DATA_SOURCE_COAL //中国煤炭网->26
  106. DATA_SOURCE_PYTHON //python代码->27
  107. DATA_SOURCE_PB_FINANCE //彭博财务数据->28
  108. DATA_SOURCE_GOOGLE_TRAVEL //谷歌出行->29
  109. DATA_SOURCE_PREDICT //普通预测指标->30
  110. DATA_SOURCE_PREDICT_CALCULATE //预测指标运算->31
  111. DATA_SOURCE_PREDICT_CALCULATE_TBZ //预测同比值->32
  112. DATA_SOURCE_PREDICT_CALCULATE_TCZ //预测同差值->33
  113. DATA_SOURCE_MYSTEEL_CHEMICAL //钢联化工->34
  114. DATA_SOURCE_CALCULATE_CJJX //超季节性->35
  115. DATA_SOURCE_EIA_STEO //eia steo报告->36
  116. DATA_SOURCE_CALCULATE_NHCC //计算指标(拟合残差)->37
  117. DATA_SOURCE_COM_TRADE //联合国商品贸易数据->38
  118. DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS //预测指标 - N数值移动平均计算 -> 39
  119. DATA_SOURCE_CALCULATE_ADJUST //数据调整->40
  120. DATA_SOURCE_SCI //卓创数据(红桃三)->41
  121. DATA_SOURCE_PREDICT_CALCULATE_LJZZY //预测指标 - 累计值转月->42
  122. DATA_SOURCE_PREDICT_CALCULATE_HBZ //预测指标 - 环比值->43
  123. DATA_SOURCE_PREDICT_CALCULATE_HCZ //预测指标 - 环差值->44
  124. DATA_SOURCE_PREDICT_CALCULATE_BP //预测指标 - 变频->45
  125. DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT //预测指标 - 时间移位->46
  126. DATA_SOURCE_PREDICT_CALCULATE_ZJPJ //预测指标 - 直接拼接->47
  127. DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ //预测指标 - 累计值同比拼接->48
  128. DATA_SOURCE_PREDICT_CALCULATE_CJJX //预测指标 - 超季节性->49
  129. DATA_SOURCE_PREDICT_CALCULATE_NHCC //预测指标 - 计算指标(拟合残差)->50
  130. DATA_SOURCE_CALCULATE_JP //变频->51
  131. DATA_SOURCE_CALCULATE_NH //年化->52
  132. DATA_SOURCE_CALCULATE_KSZS //扩散指数->53
  133. DATA_SOURCE_PREDICT_CALCULATE_JP //预测指标 - 计算指标(降频)->54
  134. DATA_SOURCE_PREDICT_CALCULATE_NH //预测指标 - 计算指标(年化)->55
  135. DATA_SOURCE_PREDICT_CALCULATE_KSZS //预测指标 - 计算指标(扩散指数)->56
  136. DATA_SOURCE_BAIINFO //百川盈孚 ->57
  137. DATA_SOURCE_STOCK_PLANT //存量装置 ->58
  138. DATA_SOURCE_CALCULATE_CORRELATION //滚动相关性->59
  139. DATA_SOURCE_NATIONAL_STATISTICS //国家统计局->60
  140. DATA_SOURCE_CALCULATE_LJZZJ //累计值转季 -> 61
  141. DATA_SOURCE_CALCULATE_LJZ //累计值 -> 62
  142. DATA_SOURCE_CALCULATE_LJZNCZJ //累计值(年初至今) -> 63
  143. DATA_SOURCE_PREDICT_CALCULATE_LJZZJ //预测指标 - 累计值转季->64
  144. DATA_SOURCE_PREDICT_CALCULATE_LJZ //预测指标 - 累计值 -> 65
  145. DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ //预测指标 - 累计值(年初至今) -> 66
  146. DATA_SOURCE_CALCULATE_STANDARD_DEVIATION //标准差->67
  147. DATA_SOURCE_CALCULATE_PERCENTILE //百分位图表->68
  148. DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION //预测标准差->69
  149. DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE //预测百分位->70
  150. DATA_SOURCE_FUBAO //富宝->71
  151. DATA_SOURCE_CALCULATE_ZSXY // 指数修匀->72
  152. DATA_SOURCE_PREDICT_CALCULATE_ZSXY // 预测指数修匀->73
  153. )
  154. // 数据刷新频率
  155. const (
  156. DATA_START_REFRESH_LIMIT = 7 //7个单位,日/周/月/季度/年
  157. DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间
  158. )
  159. const (
  160. DATA_PREFIX = "hz_data"
  161. CHART_PREFIX = "hz_chart"
  162. EXCEL_DATA_PREFIX = "hz_excel_data"
  163. )
  164. const (
  165. EDB_DATA_LIMIT = 10
  166. )
  167. var Hz_Data_WIND_Url_List = []string{"http://datawind.hzinsights.com:8040/", "http://datawind2.hzinsights.com:8040/"}
  168. const (
  169. HZ_CHART_LIB_DETAIL = "HZ_CHART_LIB_DETAIL_" //图表数据缓存
  170. HZ_CHART_LIB_EXCEL_TABLE_DETAIL = "HZ_CHART_LIB_EXCEL_TABLE_DETAIL" //excel表格数据缓存
  171. )
  172. // 缓存key
  173. const (
  174. CACHE_KEY_LOGS = "HZ_ADMIN_CACHE_KEY_LOGS" //api用户操作日志队列
  175. CACHE_KEY_ADMIN = "calendar:admin:list" //系统用户列表缓存key
  176. CACHE_KEY_ADMIN_ID = "calendar:admin:id:list" //系统用户列表缓存key
  177. CACHE_KEY_OLD_REPORT_PUBLISH = "HZ_CACHE_KEY_OLD_REPORT_PUBLISH" //老后台报告发布队列
  178. CACHE_ADMIN_YB_CONFIG = "admin:yb_config:" //研报配置相关缓存前缀
  179. CACHE_WIND_URL = "CACHE_WIND_URL" //指标与wind服务器的绑定关系
  180. CACHE_CHART_INFO_DATA = "chart:info:data:" //图表数据
  181. CACHE_CHART_CLASSIFY = "chart:classify" //图表分类数据
  182. CACHE_IMPORT_MANUAL_DATA = "import:manual:data" //手工数据导入后刷新
  183. CACHE_ACCESS_TOKEN_LOGIN = "pc_eta_admin:login:" //管理后台登录
  184. CACHE_ACCESS_TOKEN_LOGIN_NO_TRUST = "pc_eta_admin:login:no_trust:" //管理后台登录(不可信登录态)
  185. CACHE_ABNORMAL_LOGIN = "pc_eta_admin:login:abnormal:" //管理后台登录-异常登录
  186. CACHE_LOGIN_ERR_PASS = "pc_eta_admin:login:errPass:" //管理后台登录-输入错误密码次数
  187. CACHE_FIND_PASS_VERIFY = "pc_eta_admin:findPass:verify:" //找回密码校验成功标记
  188. CACHE_KEY_MYSTEEL_REFRESH = "mysteel_chemical:refresh" //钢联化工刷新
  189. CACHE_KEY_DAYNEW_REFRESH = "admin:day_new:refresh" //每日资讯拉取企业微信聊天记录
  190. CACHE_KEY_DAYNEW_TRANSLATE = "admin:day_new:translate" //每日资讯中翻英
  191. CACHE_KEY_ADMIN_OPERATE_RECORD = "HZ_ADMIN_CACHE_ADMIN_OPERATE_RECORD" //系统用户操作日志队列
  192. CACHE_SYNC_ADMIN = "hz_crm_eta:sync_admin" // 同步用户的缓存队列key
  193. CACHE_SYNC_ROLE = "hz_crm_eta:sync_role" // 同步角色的缓存队列key
  194. CACHE_SYNC_DEPARTMENT = "hz_crm_eta:sync_department" // 同步部门的缓存队列key
  195. CACHE_SYNC_GROUP = "hz_crm_eta:sync_group" // 同步分组的缓存队列key
  196. CACHE_SYNC_USER_EN_ROLE = "hz_crm_eta:sync_user_en_role" // 同步用户英文权限角色缓存队列key
  197. )
  198. // 模板消息推送类型
  199. const (
  200. TEMPLATE_MSG_REPORT = iota + 1 //日度点评报告推送
  201. )
  202. // 研报类型标识
  203. var (
  204. REPORT_TYPE_DAY = "day"
  205. REPORT_TYPE_WEEK = "week"
  206. REPORT_TYPE_TWO_WEEK = "two_week"
  207. REPORT_TYPE_MONTH = "month"
  208. REPORT_TYPE_OTHER = "other"
  209. )
  210. // GetFiccAdminDepartmentIds 获取ficc管理员的所属部门
  211. func GetFiccAdminDepartmentIds() (idStr string) {
  212. if RunMode == "release" {
  213. idStr = `1,2,4,6`
  214. } else {
  215. idStr = `1,2,6`
  216. }
  217. return
  218. }
  219. const (
  220. ReportFrequencyDay = "日度"
  221. ReportFrequencyWeek = "周度"
  222. ReportFrequencyTwoWeek = "双周度"
  223. ReportFrequencyMonth = "月度"
  224. ReportFrequencyDefault = "不定时"
  225. )
  226. // 图表类型
  227. const (
  228. CHART_SOURCE_DEFAULT = 1
  229. CHART_SOURCE_FUTURE_GOOD = 2
  230. CHART_SOURCE_CORRELATION = 3 // 相关性图表
  231. CHART_SOURCE_ROLLING_CORRELATION = 4 // 滚动相关性图表
  232. CHART_SOURCE_FUTURE_GOOD_PROFIT = 5 // 商品利润曲线
  233. CHART_SOURCE_LINE_EQUATION = 6 // 拟合方程图表
  234. CHART_SOURCE_LINE_FEATURE_STANDARD_DEVIATION = 7 // 统计特征-标准差图表
  235. CHART_SOURCE_LINE_FEATURE_PERCENTILE = 8 // 统计特征-百分位图表
  236. CHART_SOURCE_LINE_FEATURE_FREQUENCY = 9 // 统计特征-频率分布图表
  237. )
  238. // 批量配置图表的位置来源
  239. const (
  240. CHART_MULTIPLE_GRAPH_CURVE = 1 // 曲线图
  241. CHART_MULTIPLE_GRAPH_CORRELATION = 2 // 相关性图
  242. CHART_MULTIPLE_GRAPH_ROLLING_CORRELATION_ONE = 3 // 滚动相关性图1
  243. CHART_MULTIPLE_GRAPH_ROLLING_CORRELATION_TWO = 4 // 滚动相关性图2
  244. CHART_MULTIPLE_GRAPH_LINE_EQUATION_ONE = 5 // 拟合方程-斜率图
  245. CHART_MULTIPLE_GRAPH_LINE_EQUATION_TWO = 6 // 拟合方程-截距图
  246. CHART_MULTIPLE_GRAPH_LINE_EQUATION_THREE = 7 // 拟合方程-相关性图
  247. CHART_MULTIPLE_GRAPH_LINE_FEATURE_STANDARD_DEVIATION = 8 // 统计特征-标准差图表
  248. CHART_MULTIPLE_GRAPH_LINE_FEATURE_PERCENTILE = 9 // 统计特征-百分位图表
  249. CHART_MULTIPLE_GRAPH_LINE_FEATURE_FREQUENCY = 10 // 统计特征-频率分布图表
  250. )
  251. // 图表样式类型
  252. const (
  253. CHART_TYPE_CURVE = 1 //曲线图
  254. CHART_TYPE_BAR = 7 //柱形图
  255. CHART_TYPE_SECTION_SCATTER = 10 //截面散点图样式
  256. )
  257. // 指标类型
  258. const (
  259. EDB_INFO_TYPE = 0 //指标类型 0:普通指标
  260. PREDICT_EDB_INFO_TYPE = 1 //指标类型 1:预测指标
  261. )
  262. // FrequencyDaysMap 频度日期的map关系
  263. var FrequencyDaysMap = map[string]int{
  264. "天": 1, "周": 7, "月": 30, "季": 90, "年": 365,
  265. }
  266. const (
  267. AiChatLimit = 50
  268. )
  269. // 系统来源
  270. const (
  271. SOURCE_ETA_FLAG = 2
  272. )
  273. // BusinessCodeSalt 商家编码盐值
  274. const BusinessCodeSalt = "dr7WY0OZgGR7upw1"
  275. // 自用商户号
  276. const (
  277. BusinessCodeSandbox = "E2023080700" // 试用平台
  278. BusinessCodeRelease = "E2023080900" // 生产环境
  279. )
  280. // 验证码
  281. const (
  282. CaptchaCachePrefix = "captcha:lock:eta_" // 验证码缓存Key
  283. VerifyCodeExpireMinute = 15 // 短信/邮箱验证码过期时间-分钟
  284. SmsLoginTplId = "65692" // 【弘则研究】您的验证码是XXX,如非本人操作,请忽略本短信
  285. SmsNewLoginTplId = "254663" // 【弘则研究】您的验证码是XXX,有效期15分钟
  286. )
  287. const CrmEtaAuthorization = "NIi1RbEmH0C2rksXtPGDPBBgRgTZY87Q"
  288. const LoginCacheTime = 60 // 登录缓存时长, 分钟
  289. // 对象存储客户端
  290. const (
  291. STORAGESOURCE_OSS = 1 //阿里云OSS
  292. STORAGESOURCE_MINIO = 2 //MinIo
  293. )