aa
This commit is contained in:
@@ -43,7 +43,7 @@ public class Transaction implements Serializable {
|
||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||
@JsonIgnoreProperties(value = { "transaction", "event", "registration" }, allowSetters = true)
|
||||
@SortComparator(TransactionItemComparator.class)
|
||||
private List<TransactionItem> transactionItems = Transaction.getEmptyTransactionItemSet();
|
||||
private SortedSet<TransactionItem> transactionItems = Transaction.getEmptyTransactionItemSet();
|
||||
|
||||
@Transient
|
||||
private UserAccount beneficiary;
|
||||
@@ -152,11 +152,11 @@ public class Transaction implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<TransactionItem> getTransactionItems() {
|
||||
public SortedSet<TransactionItem> getTransactionItems() {
|
||||
return this.transactionItems;
|
||||
}
|
||||
|
||||
public void setTransactionItems(List<TransactionItem> transactionItems) {
|
||||
public void setTransactionItems(SortedSet<TransactionItem> transactionItems) {
|
||||
if (this.transactionItems != null) {
|
||||
this.transactionItems.forEach(i -> i.setTransaction(null));
|
||||
}
|
||||
@@ -166,7 +166,7 @@ public class Transaction implements Serializable {
|
||||
this.transactionItems = transactionItems;
|
||||
}
|
||||
|
||||
public Transaction transactionItems(List<TransactionItem> transactionItems) {
|
||||
public Transaction transactionItems(SortedSet<TransactionItem> transactionItems) {
|
||||
this.setTransactionItems(transactionItems);
|
||||
return this;
|
||||
}
|
||||
@@ -213,7 +213,7 @@ public class Transaction implements Serializable {
|
||||
"}";
|
||||
}
|
||||
|
||||
public static List<TransactionItem> getEmptyTransactionItemSet() {
|
||||
return new ArrayList();
|
||||
public static SortedSet<TransactionItem> getEmptyTransactionItemSet() {
|
||||
return new TreeSet<>(new TransactionItemComparator());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,21 @@ public class TransactionItemComparator implements Comparator<TransactionItem> {
|
||||
|
||||
private int compareUserAccounts(UserAccount ua1, UserAccount ua2) {
|
||||
// Używamy naszego komparatora UserAccount
|
||||
return userAccountComparator.compare(ua1, ua2);
|
||||
int compare = userAccountComparator.compare(ua1, ua2);
|
||||
if (compare == 0) {
|
||||
// Porównanie id, uwzględniając null
|
||||
if (ua1.getId() == null && ua2.getId() == null) {
|
||||
return -1; // Jeśli oba id są null, to nie są równe, ale nie wiemy jak je uporządkować, więc zwracamy -1 (lub 1, zależnie od preferencji)
|
||||
} else if (ua1.getId() == null) {
|
||||
return -1; // Pusty ID jest "mniejszy" niż niepusty
|
||||
} else if (ua2.getId() == null) {
|
||||
return 1; // Pusty ID jest "mniejszy" niż niepusty
|
||||
} else {
|
||||
// Oba ID nie są null, więc porównujemy je normalnie
|
||||
return ua1.getId().compareTo(ua2.getId());
|
||||
}
|
||||
} else {
|
||||
return compare;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class TransactionService {
|
||||
private EventService eventService;
|
||||
|
||||
public Transaction save(Transaction transaction) {
|
||||
List<TransactionItem> items = transaction.getTransactionItems();
|
||||
SortedSet<TransactionItem> items = transaction.getTransactionItems();
|
||||
String beneficiaryAccountName = transaction.getBeneficiary() == null
|
||||
? Account.Skarbiec.toString()
|
||||
: transaction.getBeneficiary().getName();
|
||||
|
||||
Reference in New Issue
Block a user