From 2f4701110c5deff4d0f83d728ac15c98b965f3a8 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 1 Sep 2018 01:59:13 +0300 Subject: fix message replies counters with banned users --- juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'juick-server/src/main/java/com/juick/service') 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 c86e3736..a90cba55 100644 --- a/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java +++ b/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java @@ -791,7 +791,8 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ List msgs = getNamedParameterJdbcTemplate().query( "WITH RECURSIVE banned(message_id, reply_id) " + "AS (SELECT message_id, reply_id FROM replies WHERE replies.message_id IN (:ids) " - + "AND EXISTS (SELECT 1 FROM bl_users b WHERE b.user_id = :uid AND b.bl_user_id = replies.user_id) " + + "AND (EXISTS (SELECT 1 FROM bl_users b WHERE b.user_id = :uid AND b.bl_user_id = replies.user_id) " + + "OR EXISTS (SELECT 1 from users u WHERE u.banned = 1 and u.id = replies.user_id and u.id <> :uid)) " + "UNION ALL SELECT replies.message_id, replies.reply_id FROM replies INNER JOIN banned " + "ON banned.reply_id = replies.replyto AND banned.message_id=replies.message_id " + "WHERE replies.message_id IN (:ids)) " -- cgit v1.2.3