package com.pub.env; import java.security.PrivateKey; import java.sql.Timestamp; import java.util.Date; import java.util.HashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; import org.apache.http.impl.client.CloseableHttpClient; import com.admin.user.UserVO; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer; import co.elastic.clients.elasticsearch.ElasticsearchClient; /** * @author znn * @Description * @date 2014-12-16 */ public final class Environment { /** * 保存线程中信息 */ public static ThreadLocal> threadLocal = new ThreadLocal>(); /** * 系统中不受权限控制的root用户 */ public static String ROOT = "admin"; /** * 管理端的key */ public static String USER = "user"; /** * 公共文件服务上传路径 */ public static String COMMON_FILE_UPLOAD_PATH = "/uploadFiles/framework/"; /** * 微信SDK HC */ public static CloseableHttpClient wxHttpClient; /** * 微信SDK PK */ public static PrivateKey wxPrivateKey; /** * ElasticsearchClient */ public static boolean elasticsearchEnable = false; public static ElasticsearchClient elasticsearchClient ; /** * 线程池 */ public static ExecutorService es = Executors.newCachedThreadPool(new ThreadFactory() { private final AtomicInteger threadNumber = new AtomicInteger(1); @Override public Thread newThread(Runnable r) { String name = "pool-thread-" + threadNumber.getAndIncrement(); Thread t = new Thread(r, name); return t; } }); public static SerializeConfig jsonsc = new SerializeConfig(); static { jsonsc.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd")); jsonsc.put(Timestamp.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss")); } /** * 获取用户信息 * * @author znn * @date 2014-12-26 * @return * @description */ public static UserVO getUser() { HashMap map = threadLocal.get(); if (map != null) { return (UserVO) map.get(USER); } return null; } public static boolean isRoot() { return getUser().getUser_code().equals(ROOT); } }