aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/service
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/service')
-rw-r--r--juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java9
1 files changed, 8 insertions, 1 deletions
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 a78c92034..75493377a 100644
--- a/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java
+++ b/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java
@@ -851,7 +851,7 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
new MapSqlParameterSource("mid", mid).addValue("uid", user.getUid()),
new MessageMapper());
if (replies.size() > 0) {
- setLastReadComment(user, mid, replies.stream().map(Message::getRid).max(Comparator.naturalOrder()).get());
+ setRead(user, mid);
}
return replies;
}
@@ -987,6 +987,13 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
jdbcTemplate.update("UPDATE subscr_messages SET last_read_rid=GREATEST(?, last_read_rid) WHERE message_id=? AND suser_id=?",
rid, mid, user.getUid());
}
+ @Transactional
+ @Override
+ public void setRead(User user, Integer mid) {
+ jdbcTemplate.update("UPDATE subscr_messages SET last_read_rid=(select replies from messages " +
+ "where messages.message_id=subscr_messages.message_id) WHERE message_id=? AND suser_id=?",
+ mid, user.getUid());
+ }
@Override
public List<Integer> getUnread(User user) {