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/MessagesService.java6
-rw-r--r--juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java31
2 files changed, 37 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/service/MessagesService.java b/juick-server/src/main/java/com/juick/service/MessagesService.java
index f7175967..8cb0782f 100644
--- a/juick-server/src/main/java/com/juick/service/MessagesService.java
+++ b/juick-server/src/main/java/com/juick/service/MessagesService.java
@@ -1,6 +1,8 @@
package com.juick.service;
+import com.juick.Message;
import com.juick.User;
+import com.juick.server.helpers.ResponseReply;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Collection;
@@ -75,4 +77,8 @@ public interface MessagesService {
boolean setMessagePrivacy(int mid);
boolean deleteMessage(int uid, int mid);
+
+ List<Integer> getLastMessages(int hours);
+
+ List<ResponseReply> getLastReplies(int hours);
}
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 d7c1d51b..88167be8 100644
--- a/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java
+++ b/juick-server/src/main/java/com/juick/service/MessagesServiceImpl.java
@@ -4,6 +4,7 @@ import com.juick.Message;
import com.juick.Tag;
import com.juick.User;
import com.juick.server.helpers.PrivacyOpts;
+import com.juick.server.helpers.ResponseReply;
import com.juick.service.search.SearchService;
import com.juick.util.MessageUtils;
import org.apache.commons.collections4.CollectionUtils;
@@ -739,4 +740,34 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
}
return false;
}
+
+ @Transactional(readOnly = true)
+ @Override
+ public List<Integer> getLastMessages(int hours) {
+ return getJdbcTemplate().queryForList("SELECT message_id FROM messages WHERE messages.ts>TIMESTAMPADD(HOUR,?,NOW())",
+ Integer.class, -hours);
+
+ }
+
+ @Transactional(readOnly = true)
+ @Override
+ public List<ResponseReply> getLastReplies(int hours) {
+ return getJdbcTemplate().query("SELECT users2.nick,replies.message_id,replies.reply_id," +
+ "users.nick,replies.txt," +
+ "replies.ts,replies.attach,replies.ts+0 " +
+ "FROM ((replies INNER JOIN users ON replies.user_id=users.id) " +
+ "INNER JOIN messages ON replies.message_id=messages.message_id) " +
+ "INNER JOIN users AS users2 ON messages.user_id=users2.id " +
+ "WHERE replies.ts>TIMESTAMPADD(HOUR,?,NOW()) AND messages.privacy>0", (rs, rowNum) -> {
+ ResponseReply reply = new ResponseReply();
+ reply.setMuname(rs.getString(1));
+ reply.setMid(rs.getInt(2));
+ reply.setRid(rs.getInt(3));
+ reply.setUname(rs.getString(4));
+ reply.setDescription(rs.getString(5));
+ reply.setPubDate(rs.getTimestamp(6));
+ reply.setAttachmentType(rs.getString(7));
+ return reply;
+ }, -hours);
+ }
}