package com.example.security;
|
|
import lombok.Data;
|
|
@Data
|
public class UserContext {
|
|
private Long userId;
|
|
private String username;
|
|
private String deptCode;
|
|
private static final ThreadLocal<UserContext> CONTEXT = new ThreadLocal<>();
|
|
public static void setUserContext(UserContext userContext) {
|
CONTEXT.set(userContext);
|
}
|
|
public static UserContext getUserContext() {
|
return CONTEXT.get();
|
}
|
|
public static void clear() {
|
CONTEXT.remove();
|
}
|
|
public static Long getCurrentUserId() {
|
UserContext context = getUserContext();
|
return context != null ? context.getUserId() : null;
|
}
|
|
public static String getCurrentDeptCode() {
|
UserContext context = getUserContext();
|
return context != null ? context.getDeptCode() : null;
|
}
|
|
public static String getCurrentUsername() {
|
UserContext context = getUserContext();
|
return context != null ? context.getUsername() : null;
|
}
|
}
|