diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/DbMerchantDAO.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/DbMerchantDAO.java index c8f9fb26e..020c588e4 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/DbMerchantDAO.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/DbMerchantDAO.java @@ -2,9 +2,12 @@ package com.gempukku.lotro.db; import java.sql.*; import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; public class DbMerchantDAO implements MerchantDAO { private DbAccess _dbAccess; + private Map _transactionsMap = new ConcurrentHashMap(); public DbMerchantDAO(DbAccess dbAccess) { _dbAccess = dbAccess; @@ -18,6 +21,7 @@ public class DbMerchantDAO implements MerchantDAO { } else { updateTransaction(blueprintId, price, date, transactionType); } + _transactionsMap.put(blueprintId, new Transaction(date, price, transactionType)); } private void updateTransaction(String blueprintId, float price, Date date, TransactionType transactionType) { @@ -66,6 +70,10 @@ public class DbMerchantDAO implements MerchantDAO { @Override public Transaction getLastTransaction(String blueprintId) { + final Transaction transaction = _transactionsMap.get(blueprintId); + if (transaction != null) + return transaction; + try { Connection connection = _dbAccess.getDataSource().getConnection(); try {