aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/TagServiceImpl.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2023-01-29 05:44:21 +0300
committerGravatar Vitaly Takmazov2023-01-30 23:49:25 +0300
commitf8a7d417cb916b81cfa685175f3e6afbe6063cee (patch)
tree3f6923f3f32540e8506ce5b43b610460b4c67559 /src/main/java/com/juick/service/TagServiceImpl.java
parentdd23559a978da8980675ad4089948ade9bbc323d (diff)
SQLite support
Diffstat (limited to 'src/main/java/com/juick/service/TagServiceImpl.java')
-rw-r--r--src/main/java/com/juick/service/TagServiceImpl.java17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/main/java/com/juick/service/TagServiceImpl.java b/src/main/java/com/juick/service/TagServiceImpl.java
index 4657659b..c6f5bb89 100644
--- a/src/main/java/com/juick/service/TagServiceImpl.java
+++ b/src/main/java/com/juick/service/TagServiceImpl.java
@@ -18,8 +18,8 @@
package com.juick.service;
import com.juick.model.Tag;
-import com.juick.model.User;
import com.juick.model.TagStats;
+import com.juick.model.User;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
@@ -38,11 +38,7 @@ import java.sql.Statement;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.temporal.ChronoUnit;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -167,7 +163,8 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
public List<String> getPopularTags() {
return getJdbcTemplate().queryForList("""
select name from tags where noindex=0
- order by stat_messages desc OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY""", String.class);
+ order by stat_messages desc
+ """ + limit(20), String.class);
}
@Transactional(readOnly = true)
@@ -181,7 +178,8 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
INNER JOIN tags ON messages_tags.tag_id=tags.tag_id
WHERE tags.tag_id NOT IN (SELECT tag_id FROM tags_ignore)
GROUP BY tags.tag_id, tags.name HAVING COUNT(DISTINCT messages.user_id) > 1
- ORDER BY cnt DESC OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY""";
+ ORDER BY cnt DESC
+ """ + limit(20);
return getNamedParameterJdbcTemplate()
.query(sql, new MapSqlParameterSource()
.addValue("ts", ts.atOffset(ZoneOffset.UTC), java.sql.Types.TIMESTAMP_WITH_TIMEZONE),
@@ -193,7 +191,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
public Set<Tag> updateTags(final int mid, final Collection<Tag> newTags) {
Set<Tag> currentTags = getMessageTags(mid).stream()
.map(TagStats::getTag).collect(Collectors.toSet());
-
if (CollectionUtils.isEmpty(newTags))
return currentTags;
@@ -240,7 +237,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
return Pair.of(body, tags);
}
- @Transactional(readOnly = true)
@Override
public List<TagStats> getMessageTags(final int mid) {
return getJdbcTemplate().query(
@@ -257,7 +253,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
}, mid);
}
- @Transactional(readOnly = true)
@Override
public List<Integer> getMessageTagsIDs(final int mid) {
return getJdbcTemplate().queryForList(