Skip to content

👤 用户工具类(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();
    
    // 使用参数进行业务处理
}

⚠️ 注意事项

  1. 线程安全性

    • 工具类方法都是静态的,确保线程安全使用
    • 避免修改返回的参数对象
  2. 空值处理

    • 注意处理返回值可能为null的情况
    • 建议使用Optional包装返回值
  3. 性能考虑

    • 合理缓存获取的用户信息
    • 避免频繁调用获取方法