主题切换
👤 用户工具类(UserHelper)
📖 功能介绍
TIP
UserHelper 是一个便捷的用户信息获取工具,提供了用户标识、访问信息、权限状态等核心功能,适用于需要获取当前用户上下文信息的场景。
✨ 核心功能
功能类别 | 说明 | 应用场景 |
---|---|---|
用户标识 | 获取用户ID和昵称 | 用户操作记录、权限验证 |
访问信息 | 获取IP地址和请求ID | 安全审计、日志追踪 |
权限状态 | 判断管理员权限 | 权限控制、功能限制 |
系统参数 | 获取系统和自定义参数 | 配置获取、业务处理 |
🛠️ API说明
接口类:com.wueasy.cloud.web.util.UserHelper
1. 用户身份相关
java
/**
* 获取用户ID(字符串类型)
* @return 用户ID
*/
public static String getUserId();
/**
* 获取用户ID(Long类型)
* @return 用户ID
*/
public static Long getUserIdLong();
/**
* 获取用户昵称
* @return 用户昵称
*/
public static String getNickname();
/**
* 判断是否为系统管理员
* @return true:是管理员 false:非管理员
*/
public static boolean getIsSystem();
2. 访问信息相关
java
/**
* 获取用户访问IP地址
* @return IP地址
*/
public static String getIp();
/**
* 获取请求唯一标识
* @return 请求ID
*/
public static String getRequestId();
3. 参数获取相关
java
/**
* 获取系统参数
* @return 系统参数对象
*/
public static SystemParameterEntity getSystemParameter();
/**
* 获取自定义参数
* @return 自定义参数Map
*/
public static final Map<String, String> getCustomParameterMap();
💡 使用示例
1. 用户操作记录
java
public void recordUserOperation(String operation) {
String userId = UserHelper.getUserId();
String nickname = UserHelper.getNickname();
String ip = UserHelper.getIp();
String requestId = UserHelper.getRequestId();
log.info("用户操作记录 - 用户ID:{}, 昵称:{}, IP:{}, 请求ID:{}, 操作:{}",
userId, nickname, ip, requestId, operation);
}
2. 管理员权限校验
java
public void checkAdminPermission() {
if (!UserHelper.getIsSystem()) {
throw new InvokeException(-1, "需要管理员权限");
}
// 执行管理员操作
}
3. 获取系统参数
java
public void processWithSystemParams() {
SystemParameterEntity sysParams = UserHelper.getSystemParameter();
Map<String, String> customParams = UserHelper.getCustomParameterMap();
// 使用参数进行业务处理
}
⚠️ 注意事项
线程安全性
- 工具类方法都是静态的,确保线程安全使用
- 避免修改返回的参数对象
空值处理
- 注意处理返回值可能为null的情况
- 建议使用Optional包装返回值
性能考虑
- 合理缓存获取的用户信息
- 避免频繁调用获取方法