This is an automated email from the git hooks/post-receive script. New commit to branch feature/23_manage_notification in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit c41c90e430b60068b081423c7cd8ba395eb85d35 Author: Kevin Morin <morin@codelutin.com> Date: Tue May 9 11:43:27 2017 +0200 refs #23 ajout des méthodes pour récupérer les infos pour les mails différés --- .../org/chorem/pollen/persistence/entity/PollTopiaDao.java | 14 ++++++++++++++ .../org/chorem/pollen/persistence/entity/VoteTopiaDao.java | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java index c8b1f2c..359f55e 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java @@ -26,6 +26,7 @@ import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -148,4 +149,17 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { super.delete(entity); } + + public Collection<Poll> findPollsWithReminderNeeded() { + return forHql("FROM " + Poll.class.getCanonicalName() +" p" + + " WHERE p." + Poll.PROPERTY_CLOSED + " = false" + + " AND p." + Poll.PROPERTY_END_DATE + " IS NOT NULL" + + " AND p." + Poll.PROPERTY_POLL_END_REMINDER_SENT + " = false" + + " AND p." + Poll.PROPERTY_NOTIFY_ME_HOURS_BEFORE_POLL_ENDS + " > 0" + + " AND p." + Poll.PROPERTY_END_DATE + " >= current_timestamp()" + + " AND datediff(minute, current_timestamp(), p." + Poll.PROPERTY_END_DATE + ") " + + "<= 60 * p." + Poll.PROPERTY_NOTIFY_ME_HOURS_BEFORE_POLL_ENDS + ).findAll(); + } + } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java index 263ca19..a8ada81 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java @@ -21,6 +21,7 @@ package org.chorem.pollen.persistence.entity; * #L% */ +import java.util.Date; import java.util.List; public class VoteTopiaDao extends AbstractVoteTopiaDao<Vote> { @@ -30,7 +31,18 @@ public class VoteTopiaDao extends AbstractVoteTopiaDao<Vote> { return forPollEquals(poll) .setOrderByArguments(Vote.PROPERTY_TOPIA_CREATE_DATE) .findAll(); + } + public List<Vote> findAllSince(Poll poll, Date since) { + if (since == null) { + return findAll(poll); + } + return forHql("FROM " + Vote.class.getCanonicalName() +" v" + + " WHERE v." + Vote.PROPERTY_POLL + " = :" + Vote.PROPERTY_POLL + + " AND v." + Vote.PROPERTY_TOPIA_CREATE_DATE + " >= :" + Vote.PROPERTY_TOPIA_CREATE_DATE + + " ORDER BY v." + Vote.PROPERTY_TOPIA_CREATE_DATE, + Vote.PROPERTY_POLL, poll, + Vote.PROPERTY_TOPIA_CREATE_DATE, since).findAll(); } } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.