aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/service')
-rw-r--r--src/main/java/com/juick/service/MessagesService.java3
-rw-r--r--src/main/java/com/juick/service/MessagesServiceImpl.java9
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/com/juick/service/MessagesService.java b/src/main/java/com/juick/service/MessagesService.java
index f2321b2a..707a04c3 100644
--- a/src/main/java/com/juick/service/MessagesService.java
+++ b/src/main/java/com/juick/service/MessagesService.java
@@ -143,6 +143,9 @@ public interface MessagesService {
void setLastReadComment(User user, Integer mid, Integer rid);
@CacheEvict(value = { "discover", "discussions", "messages", "replies" }, allEntries = true, condition = "{ #user.uid != 0 }")
+ void setAllRead(User user);
+
+ @CacheEvict(value = { "discover", "discussions", "messages", "replies" }, allEntries = true, condition = "{ #user.uid != 0 }")
void setRead(User user, Integer mid);
List<Integer> getUnread(User user);
diff --git a/src/main/java/com/juick/service/MessagesServiceImpl.java b/src/main/java/com/juick/service/MessagesServiceImpl.java
index 940cdaba..105b86cf 100644
--- a/src/main/java/com/juick/service/MessagesServiceImpl.java
+++ b/src/main/java/com/juick/service/MessagesServiceImpl.java
@@ -1084,6 +1084,15 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
rid, mid, user.getUid());
}
+ @Override
+ public void setAllRead(User user) {
+ jdbcTemplate.update("""
+ update subscr_messages set last_read_rid=total.replies FROM messages
+ INNER JOIN messages total on total.message_id=messages.message_id
+ WHERE messages.message_id=subscr_messages.message_id AND subscr_messages.suser_id=?
+ """, user.getUid());
+ }
+
@Transactional
@Override
public void setRead(User user, Integer mid) {