Hexagonal pattern: Introduce lottery utils class
This commit is contained in:
parent
6aa58e8ae6
commit
b030cd4eba
@ -65,7 +65,7 @@ public class LotteryAdministration {
|
||||
LotteryNumbers numbers = LotteryNumbers.createRandom();
|
||||
Map<LotteryTicketId, LotteryTicket> tickets = getAllSubmittedTickets();
|
||||
for (LotteryTicketId id : tickets.keySet()) {
|
||||
LotteryTicketCheckResult result = new LotteryTicketChecker(repository).checkTicketForPrize(id, numbers);
|
||||
LotteryTicketCheckResult result = LotteryUtils.checkTicketForPrize(repository, id, numbers);
|
||||
if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.WIN_PRIZE)) {
|
||||
boolean transferred = wireTransfers.transferFunds(LotteryConstants.PRIZE_AMOUNT,
|
||||
LotteryConstants.SERVICE_BANK_ACCOUNT, tickets.get(id).getPlayerDetails().getBankAccount());
|
||||
|
@ -72,6 +72,6 @@ public class LotteryService {
|
||||
* Check if lottery ticket has won
|
||||
*/
|
||||
public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) {
|
||||
return new LotteryTicketChecker(repository).checkTicketForPrize(id, winningNumbers);
|
||||
return LotteryUtils.checkTicketForPrize(repository, id, winningNumbers);
|
||||
}
|
||||
}
|
||||
|
@ -27,20 +27,18 @@ import com.iluwatar.hexagonal.database.LotteryTicketRepository;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Lottery ticket checker
|
||||
* Lottery utilities
|
||||
*/
|
||||
public class LotteryTicketChecker {
|
||||
public class LotteryUtils {
|
||||
|
||||
private final LotteryTicketRepository repository;
|
||||
|
||||
public LotteryTicketChecker(LotteryTicketRepository repository) {
|
||||
this.repository = repository;
|
||||
private LotteryUtils() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if lottery ticket has won
|
||||
* Checks if lottery ticket has won
|
||||
*/
|
||||
public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) {
|
||||
public static LotteryTicketCheckResult checkTicketForPrize(LotteryTicketRepository repository, LotteryTicketId id,
|
||||
LotteryNumbers winningNumbers) {
|
||||
Optional<LotteryTicket> optional = repository.findById(id);
|
||||
if (optional.isPresent()) {
|
||||
if (optional.get().getNumbers().equals(winningNumbers)) {
|
Loading…
x
Reference in New Issue
Block a user