aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--juick-server-core/src/main/java/com/juick/service/TagService.java9
-rw-r--r--juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java19
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<Tag> getTags(Stream<String> tags, boolean autoCreate);
@@ -44,6 +44,7 @@ public interface TagService {
List<String> getUserBLTags(int uid);
List<String> getPopularTags();
+
List<TagStats> getTagStats();
List<Tag> updateTags(int mid, Collection<Tag> newTags);
@@ -55,4 +56,8 @@ public interface TagService {
List<Integer> 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<Integer> 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<Integer> 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;
+ }
+
}