fixy
This commit is contained in:
@@ -192,31 +192,38 @@ public class EventService {
|
||||
entity = userAccountRepository.save(entity);
|
||||
accountsByAccountName.put(Account.Skarbiec.name(), entity);
|
||||
}
|
||||
List<UserAccount> accountsToCharge = new ArrayList<>();
|
||||
event
|
||||
List<TransactionItem> itemsToCharge = new ArrayList<>();
|
||||
List<Registration> registrationsToCharge = event
|
||||
.getRegistrations()
|
||||
.forEach(registration -> {
|
||||
String login = registration.getUser().getLogin();
|
||||
UserAccount userAccount = accountsByLogin.get(login);
|
||||
if (userAccount == null) {
|
||||
userAccount = createNewAccountForLogin(login);
|
||||
accountsByLogin.put(login, userAccount);
|
||||
}
|
||||
accountsToCharge.add(userAccount);
|
||||
});
|
||||
.stream()
|
||||
.filter(registration -> !Boolean.FALSE.equals(registration.getActive()))
|
||||
.sorted(Comparator.comparing(Registration::getDateTime))
|
||||
.limit(event.getPlayersLimit() == null ? 10000 : event.getPlayersLimit()) // Ograniczamy do pierwszych n elementów
|
||||
.toList();
|
||||
|
||||
registrationsToCharge.forEach(registration -> {
|
||||
String login = registration.getUser().getLogin();
|
||||
UserAccount userAccount = accountsByLogin.get(login);
|
||||
if (userAccount == null) {
|
||||
userAccount = createNewAccountForLogin(login);
|
||||
accountsByLogin.put(login, userAccount);
|
||||
}
|
||||
TransactionItem transactionForPlayer = new TransactionItem();
|
||||
transactionForPlayer.setRegistration(registration);
|
||||
transactionForPlayer.setUserAccount(userAccount);
|
||||
itemsToCharge.add(transactionForPlayer);
|
||||
});
|
||||
TransactionItem fieldServiceItem = new TransactionItem();
|
||||
fieldServiceItem.setEvent(event);
|
||||
fieldServiceItem.setAmount(event.getCost());
|
||||
fieldServiceItem.setUserAccount(accountsByAccountName.get(Account.Boisko.name()));
|
||||
fieldServiceItem.setTransaction(transaction);
|
||||
transaction.getTransactionItems().add(fieldServiceItem);
|
||||
accountsToCharge.forEach(userAccount -> {
|
||||
TransactionItem playerCharge = new TransactionItem();
|
||||
playerCharge.setEvent(event);
|
||||
playerCharge.setAmount(event.getCost().divide(BigDecimal.valueOf(-accountsToCharge.size()), 2, RoundingMode.HALF_UP));
|
||||
playerCharge.setUserAccount(userAccount);
|
||||
playerCharge.setTransaction(transaction);
|
||||
transaction.getTransactionItems().add(playerCharge);
|
||||
itemsToCharge.forEach(transactionForPlayer -> {
|
||||
transactionForPlayer.setEvent(event);
|
||||
transactionForPlayer.setAmount(event.getCost().divide(BigDecimal.valueOf(-itemsToCharge.size()), 2, RoundingMode.HALF_UP));
|
||||
transactionForPlayer.setTransaction(transaction);
|
||||
transaction.getTransactionItems().add(transactionForPlayer);
|
||||
});
|
||||
BigDecimal vaultValue = transaction
|
||||
.getTransactionItems()
|
||||
|
||||
@@ -237,7 +237,8 @@ public class RegistrationResource {
|
||||
throw new AccessDeniedException("Registration is closed for this event");
|
||||
}
|
||||
LOG.debug("REST request to delete Registration : {}", id);
|
||||
registrationRepository.deleteById(id);
|
||||
registration.setActive(Boolean.FALSE);
|
||||
registrationRepository.save(registration);
|
||||
return ResponseEntity.noContent()
|
||||
.headers(HeaderUtil.createEntityDeletionAlert(applicationName, false, ENTITY_NAME, id.toString()))
|
||||
.build();
|
||||
|
||||
Reference in New Issue
Block a user