@Override public List<UserMessage> getLastRecipients( User user, Integer first, Integer max ) { Assert.notNull( user, "User must be specified" ); String sql = " select distinct userinfoid, surname, firstname from userinfo uf " + "join usermessage um on (uf.userinfoid = um.userid) " + "join messageconversation_usermessages mu on (um.usermessageid = mu.usermessageid) " + "join messageconversation mc on (mu.messageconversationid = mc.messageconversationid) " + "where mc.lastsenderid = " + user.getId(); sql += " order by userinfoid desc"; if ( first != null && max != null ) { sql += " " + statementBuilder.limitRecord( first, max ); } return jdbcTemplate.query( sql, ( resultSet, count ) -> { UserMessage recipient = new UserMessage(); recipient.setId( resultSet.getInt( 1 ) ); recipient.setLastRecipientSurname( resultSet.getString( 2 ) ); recipient.setLastRecipientFirstname( resultSet.getString( 3 ) ); return recipient; } ); }
sql += "and dv.followup = true and dv.deleted is false "; sql += statementBuilder.limitRecord( 0, limit );
sql += "and dv.deleted is false "; sql += statementBuilder.limitRecord( 0, limit );