diff options
Diffstat (limited to 'juick-server/src/main/java/com')
-rw-r--r-- | juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java b/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java index fbf22d59..0abe9309 100644 --- a/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java +++ b/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java @@ -575,9 +575,11 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ .addValue("to", new Timestamp(to)); if (uid == 0) { - return getNamedParameterJdbcTemplate().query("SELECT message_id FROM messages" + + return getNamedParameterJdbcTemplate().query("SELECT message_id FROM messages WHERE " + (to != 0 ? - " WHERE updated < :to " : StringUtils.EMPTY) + + " updated < :to AND" : StringUtils.EMPTY) + + " NOT EXISTS (SELECT 1 from users u WHERE u.banned = 1" + + " AND u.id = messages.user_id and u.id <> :uid) " + " ORDER BY updated DESC, message_id DESC LIMIT 20", sqlParameterSource, (rs, rowNum) -> rs.getInt(1)); @@ -588,6 +590,8 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ "WHERE suser_id = :uid " + (to != 0 ? "AND updated < :to " : StringUtils.EMPTY) + + " AND NOT EXISTS (SELECT 1 from users u WHERE u.banned = 1" + + " AND u.id = messages.user_id and u.id <> :uid) " + "ORDER BY updated DESC, message_id DESC LIMIT 20", sqlParameterSource, (rs, rowNum) -> rs.getInt(1)); |