Browse Source

消息同步报错解决

fuyuchuan 2 days ago
parent
commit
13c6812ac9

+ 7 - 2
flow-im/flow-im-entity/src/main/java/com/flow/job/SendUskyJob.java

@@ -132,10 +132,15 @@ public class SendUskyJob {
 
     // 查询未发送消息的用户名与真实姓名
     public List<User> unSendUser(List<String> userNames) {
-        String sql = "SELECT username, name FROM sys_user WHERE username IN (:userNames)";
+        // 构建IN子句的参数占位符
+        String inClause = userNames.stream()
+                .map(name -> "?")
+                .collect(Collectors.joining(", "));
+
+        String sql = "SELECT username, name FROM sys_user WHERE username IN ?";
         return jdbcTemplate.query(
                 sql,
-                new Object[]{userNames},
+                new Object[]{inClause},
                 new UserRowMapper()
         );
     }