From cdaf81b99dc48716f89e88460f53b7a6f4e26cdd Mon Sep 17 00:00:00 2001 From: GME Date: Wed, 21 Nov 2018 19:52:35 +0100 Subject: [PATCH] TransactionDao Added basic transaction Dao for database --- .../database/transaction/TransactionDao.java | 56 +++++++++++++++++++ src/main/java/database/user/UserDao.java | 1 + 2 files changed, 57 insertions(+) create mode 100644 src/main/java/database/transaction/TransactionDao.java diff --git a/src/main/java/database/transaction/TransactionDao.java b/src/main/java/database/transaction/TransactionDao.java new file mode 100644 index 0000000..13aca80 --- /dev/null +++ b/src/main/java/database/transaction/TransactionDao.java @@ -0,0 +1,56 @@ +package database.transaction; + +import com.j256.ormlite.dao.Dao; +import com.j256.ormlite.dao.DaoManager; +import com.j256.ormlite.stmt.PreparedQuery; +import com.j256.ormlite.stmt.QueryBuilder; +import database.DatabaseHelper; + +import java.util.List; + +public class TransactionDao { + private DatabaseHelper dbh = new DatabaseHelper(); + private Dao transactionDao; + + private Dao createTransactionDaoConnection(){ + try { + return DaoManager.createDao(dbh.setupDatabaseConnection(),Transaction.class); + }catch (Exception e){ + System.out.println(e.getMessage()); + return null; + } + } + + public void addTransaction(Transaction transaction)throws Exception{ + transactionDao = createTransactionDaoConnection(); + transactionDao.create(transaction); + } + + public List getUserTransactions(int userId)throws Exception{ + transactionDao = createTransactionDaoConnection(); + QueryBuilder queryBuilder = transactionDao.queryBuilder(); + queryBuilder.where().eq("userId",userId); + PreparedQuery preparedQuery = queryBuilder.prepare(); + return transactionDao.query(preparedQuery); + } + + public List getTenLastUserTransactions(int userId)throws Exception{ + transactionDao = createTransactionDaoConnection(); + QueryBuilder queryBuilder = transactionDao.queryBuilder(); + queryBuilder.where().eq("userId",userId); + queryBuilder.limit(new Long(10)); + queryBuilder.orderBy("transactionDate",false); + PreparedQuery preparedQuery = queryBuilder.prepare(); + return transactionDao.query(preparedQuery); + } + + public Transaction getTransaction(int userId, String transactionHash)throws Exception{ + transactionDao = createTransactionDaoConnection(); + QueryBuilder queryBuilder = transactionDao.queryBuilder(); + queryBuilder.where().eq("userId",userId).and().eq("transactionHash",transactionHash); + PreparedQuery preparedQuery = queryBuilder.prepare(); + return transactionDao.queryForFirst(preparedQuery); + } + + +} diff --git a/src/main/java/database/user/UserDao.java b/src/main/java/database/user/UserDao.java index 8d33285..6fc9857 100644 --- a/src/main/java/database/user/UserDao.java +++ b/src/main/java/database/user/UserDao.java @@ -107,6 +107,7 @@ public class UserDao { updateBuilder.where().eq("email",email); updateBuilder.update(); } + public void verifyUser (String email) throws Exception{ userDao = createUserDaoConnection(); UpdateBuilder updateBuilder = userDao.updateBuilder();