labels = baseMapper.selectList(lqw);
return labels.stream()
diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/util/LambdaQueryWrapperHelper.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/util/LambdaQueryWrapperHelper.java
new file mode 100644
index 0000000..d18cb81
--- /dev/null
+++ b/im-admin/ruoyi-im/src/main/java/org/dromara/im/util/LambdaQueryWrapperHelper.java
@@ -0,0 +1,108 @@
+package org.dromara.im.util;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import org.dromara.im.service.IImAgentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * LambdaQueryWrapper 通用工具类
+ *
+ * @author Blue
+ * @date 2026-04-08
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public class LambdaQueryWrapperHelper {
+
+ private static IImAgentService imAgentService;
+
+ /**
+ * 初始化服务(由 Spring 调用)
+ */
+ @Component
+ public static class Initializer {
+ @Autowired
+ public void setImAgentService(IImAgentService imAgentService) {
+ LambdaQueryWrapperHelper.imAgentService = imAgentService;
+ }
+ }
+
+ /**
+ * 为 LambdaQueryWrapper 追加 uniqueToken 查询条件
+ *
+ * 根据当前登录用户ID获取对应的 uniqueToken,并添加到查询条件中
+ * 如果用户ID为1(超级管理员),则不添加该条件
+ *
+ * @param wrapper 查询条件包装器
+ * @param tokenField 实体类中 uniqueToken 字段的 getter 方法引用
+ * @param 实体类型
+ * @return 添加了 uniqueToken 条件的 LambdaQueryWrapper
+ */
+ public static LambdaQueryWrapper appendToken(LambdaQueryWrapper wrapper, SFunction tokenField) {
+ if (wrapper == null || tokenField == null) {
+ return wrapper;
+ }
+
+ String token = getTokenByUserId();
+
+ // 如果 token 为 null,表示是超级管理员,不添加过滤条件
+ if (token == null) {
+ return wrapper;
+ }
+
+ // 添加 uniqueToken 查询条件
+ wrapper.eq(ObjectUtil.isNotEmpty(token), tokenField, token);
+
+ return wrapper;
+ }
+
+ /**
+ * 为 LambdaUpdateWrapper 追加 uniqueToken 修改/删除条件
+ *
+ * 根据当前登录用户ID获取对应的 uniqueToken,并添加到更新或删除的 WHERE 条件中
+ * 如果用户ID为1(超级管理员),则不添加该条件
+ *
+ * 使用场景:
+ * - 更新数据时限制只能更新自己的数据
+ * - 删除数据时限制只能删除自己的数据
+ *
+ * @param wrapper 更新条件包装器
+ * @param tokenField 实体类中 uniqueToken 字段的 getter 方法引用
+ * @param 实体类型
+ * @return 添加了 uniqueToken 条件的 LambdaUpdateWrapper
+ */
+ public static LambdaUpdateWrapper appendToken(LambdaUpdateWrapper wrapper, SFunction tokenField) {
+ if (wrapper == null || tokenField == null) {
+ return wrapper;
+ }
+
+ String token = getTokenByUserId();
+
+ // 如果 token 为 null,表示是超级管理员,不添加过滤条件
+ if (token == null) {
+ return wrapper;
+ }
+
+ // 添加 uniqueToken 修改/删除条件
+ wrapper.eq(ObjectUtil.isNotEmpty(token), tokenField, token);
+
+ return wrapper;
+ }
+
+ /**
+ * 获取当前用户的 uniqueToken
+ *
+ * @return uniqueToken,超级管理员返回 null,未找到返回 "error"
+ */
+ private static String getTokenByUserId() {
+ if (imAgentService == null) {
+ throw new IllegalStateException("IImAgentService 未初始化,请确保 Spring 容器已启动");
+ }
+ return imAgentService.getTokenByUserId();
+ }
+}