From 351e160783c6fcc9c9becd7d176b6c676d5c7f49 Mon Sep 17 00:00:00 2001 From: Killy Date: Tue, 7 Nov 2017 05:13:24 +0300 Subject: tag state (subscription, bl) reading methods --- .../src/main/java/com/juick/service/TagService.java | 9 +++++++-- .../main/java/com/juick/service/TagServiceImpl.java | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/juick-server-core/src/main/java/com/juick/service/TagService.java b/juick-server-core/src/main/java/com/juick/service/TagService.java index 78e8f563..7cd7768f 100644 --- a/juick-server-core/src/main/java/com/juick/service/TagService.java +++ b/juick-server-core/src/main/java/com/juick/service/TagService.java @@ -29,9 +29,9 @@ import java.util.stream.Stream; * Created by aalexeev on 11/13/16. */ public interface TagService { - com.juick.Tag getTag(int tid); + Tag getTag(int tid); - com.juick.Tag getTag(String tag, boolean autoCreate); + Tag getTag(String tag, boolean autoCreate); List getTags(Stream tags, boolean autoCreate); @@ -44,6 +44,7 @@ public interface TagService { List getUserBLTags(int uid); List getPopularTags(); + List getTagStats(); List updateTags(int mid, Collection newTags); @@ -55,4 +56,8 @@ public interface TagService { List getMessageTagsIDs(int mid); boolean blacklistTag(User user, Tag tag); + + boolean isInBL(User user, Tag tag); + + boolean isSubscribed(User user, Tag tag); } diff --git a/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java b/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java index 9b89bca3..2540037a 100644 --- a/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java +++ b/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java @@ -274,4 +274,23 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { new MapSqlParameterSource().addValue("tid", tag.TID) .addValue("uid", user.getUid())) > 0; } + + @Transactional(readOnly = true) + @Override + public boolean isInBL(User user, Tag tag) { + List list = getJdbcTemplate().queryForList( + "SELECT 1 FROM bl_tags WHERE user_id = ? AND tag_id = ?", + Integer.class, user.getUid(), tag.TID); + return !list.isEmpty() && list.get(0) == 1; + } + + @Transactional(readOnly = true) + @Override + public boolean isSubscribed(User user, Tag tag) { + List list = getJdbcTemplate().queryForList( + "SELECT 1 FROM subscr_tags WHERE suser_id = ? AND tag_id = ?", + Integer.class, user.getUid(), tag.TID); + return !list.isEmpty() && list.get(0) == 1; + } + } -- cgit v1.2.3