76 lines
3.3 KiB
Java
76 lines
3.3 KiB
Java
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<Transaction, String> 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<Transaction> getUserTransactions(String userHash)throws Exception{
|
|
transactionDao = createTransactionDaoConnection();
|
|
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
|
|
queryBuilder.where().eq("transaction_from",userHash).or().eq("transaction_to",userHash);
|
|
queryBuilder.orderBy("transaction_date",false);
|
|
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
|
|
return transactionDao.query(preparedQuery);
|
|
}
|
|
|
|
public List<Transaction> getTenLastUserTransactions(String userHash)throws Exception{
|
|
transactionDao = createTransactionDaoConnection();
|
|
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
|
|
queryBuilder.where().eq("transaction_from",userHash).or().eq("transaction_to",userHash);
|
|
queryBuilder.limit(new Long(10));
|
|
queryBuilder.orderBy("transaction_date",false);
|
|
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
|
|
return transactionDao.query(preparedQuery);
|
|
}
|
|
|
|
public Transaction getTransaction(String userHash, String transactionHash)throws Exception{
|
|
transactionDao = createTransactionDaoConnection();
|
|
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
|
|
queryBuilder.where().eq("transaction_to",userHash).or().eq("transaction_from",userHash).and().eq("transaction_hash",transactionHash);
|
|
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
|
|
return transactionDao.queryForFirst(preparedQuery);
|
|
}
|
|
|
|
public List<Transaction> getUserSentTransaction(String userHash)throws Exception{
|
|
transactionDao = createTransactionDaoConnection();
|
|
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
|
|
queryBuilder.where().eq("transaction_from",userHash);
|
|
queryBuilder.orderBy("transaction_date",false);
|
|
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
|
|
return transactionDao.query(preparedQuery);
|
|
}
|
|
|
|
public List<Transaction> getUserReceivedTransaction(String userHash)throws Exception{
|
|
transactionDao = createTransactionDaoConnection();
|
|
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
|
|
queryBuilder.where().eq("transaction_to",userHash);
|
|
queryBuilder.orderBy("transaction_date",false);
|
|
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
|
|
return transactionDao.query(preparedQuery);
|
|
}
|
|
|
|
|
|
}
|