package com.cloudroam.common;
|
|
import com.cloudroam.model.LogDO;
|
import com.cloudroam.model.UserDO;
|
|
/**
|
* 线程安全的当前登录用户,如果用户未登录,则得到 null
|
*
|
* @author
|
*/
|
public class LocalLogger {
|
|
private LocalLogger() {
|
throw new IllegalStateException("Utility class");
|
}
|
|
private static final ThreadLocal<LogDO> LOCAL = new ThreadLocal<>();
|
|
/**
|
* 得到当前日志
|
*
|
* @return user | null
|
*/
|
public static LogDO getLocalLogDO() {
|
return LocalLogger.LOCAL.get();
|
}
|
|
/**
|
* 设置当前日志
|
*
|
* @param logDO logDO
|
*/
|
public static void setLocalLogDO(LogDO logDO) {
|
LocalLogger.LOCAL.set(logDO);
|
}
|
|
public static <T> T getLocalLogDO(Class<T> clazz) {
|
return (T) LOCAL.get();
|
}
|
|
/**
|
* 清理当前日志
|
*/
|
public static void clearLocalLogDO() {
|
LOCAL.remove();
|
}
|
}
|