From dd4b8ff44e11a5b4734e428e3a7153eb1b89a825 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Tue, 13 Dec 2016 15:41:37 +0300 Subject: juick-rss: webmvc port WIP --- .../java/com/juick/service/MessagesService.java | 6 +++++ .../com/juick/service/MessagesServiceImpl.java | 31 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) (limited to 'juick-server/src/main/java/com/juick/service') 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 getLastMessages(int hours); + + List 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 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 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); + } } -- cgit v1.2.3