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)
|
@OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||||
@JsonIgnoreProperties(value = { "transaction", "event", "registration" }, allowSetters = true)
|
@JsonIgnoreProperties(value = { "transaction", "event", "registration" }, allowSetters = true)
|
||||||
@SortComparator(TransactionItemComparator.class)
|
@SortComparator(TransactionItemComparator.class)
|
||||||
private List<TransactionItem> transactionItems = Transaction.getEmptyTransactionItemSet();
|
private SortedSet<TransactionItem> transactionItems = Transaction.getEmptyTransactionItemSet();
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private UserAccount beneficiary;
|
private UserAccount beneficiary;
|
||||||
@@ -152,11 +152,11 @@ public class Transaction implements Serializable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<TransactionItem> getTransactionItems() {
|
public SortedSet<TransactionItem> getTransactionItems() {
|
||||||
return this.transactionItems;
|
return this.transactionItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTransactionItems(List<TransactionItem> transactionItems) {
|
public void setTransactionItems(SortedSet<TransactionItem> transactionItems) {
|
||||||
if (this.transactionItems != null) {
|
if (this.transactionItems != null) {
|
||||||
this.transactionItems.forEach(i -> i.setTransaction(null));
|
this.transactionItems.forEach(i -> i.setTransaction(null));
|
||||||
}
|
}
|
||||||
@@ -166,7 +166,7 @@ public class Transaction implements Serializable {
|
|||||||
this.transactionItems = transactionItems;
|
this.transactionItems = transactionItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Transaction transactionItems(List<TransactionItem> transactionItems) {
|
public Transaction transactionItems(SortedSet<TransactionItem> transactionItems) {
|
||||||
this.setTransactionItems(transactionItems);
|
this.setTransactionItems(transactionItems);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,7 @@ public class Transaction implements Serializable {
|
|||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<TransactionItem> getEmptyTransactionItemSet() {
|
public static SortedSet<TransactionItem> getEmptyTransactionItemSet() {
|
||||||
return new ArrayList();
|
return new TreeSet<>(new TransactionItemComparator());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,21 @@ public class TransactionItemComparator implements Comparator<TransactionItem> {
|
|||||||
|
|
||||||
private int compareUserAccounts(UserAccount ua1, UserAccount ua2) {
|
private int compareUserAccounts(UserAccount ua1, UserAccount ua2) {
|
||||||
// Używamy naszego komparatora UserAccount
|
// 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;
|
private EventService eventService;
|
||||||
|
|
||||||
public Transaction save(Transaction transaction) {
|
public Transaction save(Transaction transaction) {
|
||||||
List<TransactionItem> items = transaction.getTransactionItems();
|
SortedSet<TransactionItem> items = transaction.getTransactionItems();
|
||||||
String beneficiaryAccountName = transaction.getBeneficiary() == null
|
String beneficiaryAccountName = transaction.getBeneficiary() == null
|
||||||
? Account.Skarbiec.toString()
|
? Account.Skarbiec.toString()
|
||||||
: transaction.getBeneficiary().getName();
|
: transaction.getBeneficiary().getName();
|
||||||
|
|||||||
Reference in New Issue
Block a user