Environment.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.pub.env;
  2. import java.security.PrivateKey;
  3. import java.sql.Timestamp;
  4. import java.util.Date;
  5. import java.util.HashMap;
  6. import java.util.concurrent.ExecutorService;
  7. import java.util.concurrent.Executors;
  8. import java.util.concurrent.ThreadFactory;
  9. import java.util.concurrent.atomic.AtomicInteger;
  10. import org.apache.http.impl.client.CloseableHttpClient;
  11. import com.admin.user.UserVO;
  12. import com.alibaba.fastjson.serializer.SerializeConfig;
  13. import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
  14. import co.elastic.clients.elasticsearch.ElasticsearchClient;
  15. /**
  16. * @author znn
  17. * @Description
  18. * @date 2014-12-16
  19. */
  20. public final class Environment {
  21. /**
  22. * 保存线程中信息
  23. */
  24. public static ThreadLocal<HashMap<String, Object>> threadLocal = new ThreadLocal<HashMap<String, Object>>();
  25. /**
  26. * 系统中不受权限控制的root用户
  27. */
  28. public static String ROOT = "admin";
  29. /**
  30. * 管理端的key
  31. */
  32. public static String USER = "user";
  33. /**
  34. * 公共文件服务上传路径
  35. */
  36. public static String COMMON_FILE_UPLOAD_PATH = "/uploadFiles/framework/";
  37. /**
  38. * 微信SDK HC
  39. */
  40. public static CloseableHttpClient wxHttpClient;
  41. /**
  42. * 微信SDK PK
  43. */
  44. public static PrivateKey wxPrivateKey;
  45. /**
  46. * ElasticsearchClient
  47. */
  48. public static boolean elasticsearchEnable = false;
  49. public static ElasticsearchClient elasticsearchClient ;
  50. /**
  51. * 线程池
  52. */
  53. public static ExecutorService es = Executors.newCachedThreadPool(new ThreadFactory() {
  54. private final AtomicInteger threadNumber = new AtomicInteger(1);
  55. @Override
  56. public Thread newThread(Runnable r) {
  57. String name = "pool-thread-" + threadNumber.getAndIncrement();
  58. Thread t = new Thread(r, name);
  59. return t;
  60. }
  61. });
  62. public static SerializeConfig jsonsc = new SerializeConfig();
  63. static {
  64. jsonsc.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd"));
  65. jsonsc.put(Timestamp.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
  66. }
  67. /**
  68. * 获取用户信息
  69. *
  70. * @author znn
  71. * @date 2014-12-26
  72. * @return
  73. * @description
  74. */
  75. public static UserVO getUser() {
  76. HashMap<String, Object> map = threadLocal.get();
  77. if (map != null) {
  78. return (UserVO) map.get(USER);
  79. }
  80. return null;
  81. }
  82. public static boolean isRoot() {
  83. return getUser().getUser_code().equals(ROOT);
  84. }
  85. }