diff options
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java b/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java index 2cb6e6a..6605999 100644 --- a/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java +++ b/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java @@ -1,5 +1,7 @@ package io.trygvis.esper.testing.core.db; +import static io.trygvis.esper.testing.Util.toList; +import io.trygvis.esper.testing.core.db.PersonBadgeDto.*; import io.trygvis.esper.testing.util.sql.*; import org.joda.time.*; @@ -33,7 +35,7 @@ public class PersonDao { UUID.fromString(rs.getString(i++)), new DateTime(rs.getTimestamp(i++).getTime()), UUID.fromString(rs.getString(i++)), - PersonBadgeDto.Type.valueOf(rs.getString(i++)), + BadgeType.valueOf(rs.getString(i++)), rs.getInt(i), rs.getInt(i)); } @@ -69,6 +71,15 @@ public class PersonDao { } } + public List<PersonDto> selectPerson(PageRequest pageRequest) throws SQLException { + try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON + " FROM person ORDER BY created_date LIMIT ? OFFSET ?")) { + int i = 1; + s.setInt(i++, pageRequest.count.orSome(10)); + s.setInt(i, pageRequest.startIndex.orSome(0)); + return toList(s, person); + } + } + public SqlOption<PersonDto> selectPersonByJenkinsUuid(UUID jenkinsUser) throws SQLException { try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON + " FROM person WHERE uuid=(SELECT person FROM person_jenkins_user WHERE jenkins_user=?)")) { int i = 1; @@ -81,7 +92,7 @@ public class PersonDao { // Badge // ----------------------------------------------------------------------- - public UUID insertBadge(UUID person, PersonBadgeDto.Type type, int level, int count) throws SQLException { + public UUID insertBadge(UUID person, BadgeType type, int level, int count) throws SQLException { try (PreparedStatement s = c.prepareStatement("INSERT INTO person_badge(" + PERSON_BADGE + ") VALUES(?, ?, ?, ?, ?, ?)")) { UUID uuid = UUID.randomUUID(); int i = 1; @@ -96,7 +107,7 @@ public class PersonDao { } } - public void incrementBadgeCount(UUID person, PersonBadgeDto.Type type, int level) throws SQLException { + public void incrementBadgeCount(UUID person, BadgeType type, int level) throws SQLException { try (PreparedStatement s = c.prepareStatement("UPDATE person_badge SET count=count+1 WHERE person=? AND name=? AND level=?")) { int i = 1; s.setString(i++, person.toString()); @@ -106,7 +117,15 @@ public class PersonDao { } } - public SqlOption<PersonBadgeDto> selectBadge(UUID person, PersonBadgeDto.Type type, int level) throws SQLException { + public List<PersonBadgeDto> selectBadges(UUID person) throws SQLException { + try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON_BADGE + " FROM person_badge WHERE person=? ORDER BY name, level DESC")) { + int i = 1; + s.setString(i, person.toString()); + return toList(s, personBadge); + } + } + + public SqlOption<PersonBadgeDto> selectBadge(UUID person, BadgeType type, int level) throws SQLException { try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON_BADGE + " FROM person_badge WHERE person=? AND name=? AND level=?")) { int i = 1; s.setString(i++, person.toString()); @@ -120,7 +139,7 @@ public class PersonDao { // Badge Progress // ----------------------------------------------------------------------- - public SqlOption<PersonBadgeProgressDto> selectBadgeProgress(UUID person, PersonBadgeDto.Type type) throws SQLException { + public SqlOption<PersonBadgeProgressDto> selectBadgeProgress(UUID person, BadgeType type) throws SQLException { try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON_BADGE_PROGRESS + " FROM person_badge_progress WHERE person=? AND badge=?")) { int i = 1; s.setString(i++, person.toString()); @@ -129,7 +148,15 @@ public class PersonDao { } } - public void insertBadgeProgress(UUID person, PersonBadgeDto.Type type, String state) throws SQLException { + public List<PersonBadgeProgressDto> selectBadgeProgresses(UUID person) throws SQLException { + try (PreparedStatement s = c.prepareStatement("SELECT " + PERSON_BADGE_PROGRESS + " FROM person_badge_progress WHERE person=? ORDER BY badge")) { + int i = 1; + s.setString(i, person.toString()); + return toList(s, personBadgeProgress); + } + } + + public void insertBadgeProgress(UUID person, BadgeType type, String state) throws SQLException { try (PreparedStatement s = c.prepareStatement("INSERT INTO person_badge_progress (" + PERSON_BADGE_PROGRESS + ") VALUES(?, ?, ?, ?, ?)")) { UUID uuid = UUID.randomUUID(); int i = 1; @@ -142,7 +169,7 @@ public class PersonDao { } } - public void updateBadgeProgress(UUID person, PersonBadgeDto.Type type, String state) throws SQLException { + public void updateBadgeProgress(UUID person, BadgeType type, String state) throws SQLException { try (PreparedStatement s = c.prepareStatement("UPDATE person_badge_progress SET state=? WHERE person=? AND badge=?")) { int i = 1; s.setString(i++, state); |