aa
This commit is contained in:
@@ -37,4 +37,7 @@ public interface TransactionRepository extends JpaRepository<Transaction, Long>
|
||||
|
||||
@Query("select transaction from Transaction transaction left join fetch transaction.event where transaction.id =:id")
|
||||
Optional<Transaction> findOneWithToOneRelationships(@Param("id") Long id);
|
||||
|
||||
@Query("select transaction from Transaction transaction left join fetch transaction.transactionItem")
|
||||
List<Transaction> findAllByEventId(Long eventId);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
package com.sasiedzi.event.service;
|
||||
|
||||
import com.sasiedzi.event.domain.Event;
|
||||
import com.sasiedzi.event.domain.Transaction;
|
||||
import com.sasiedzi.event.domain.enumeration.TransactionType;
|
||||
import com.sasiedzi.event.repository.EventRepository;
|
||||
import com.sasiedzi.event.repository.TransactionRepository;
|
||||
import com.sasiedzi.event.web.rest.TransactionResource;
|
||||
import jakarta.validation.Valid;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -113,7 +120,24 @@ public class EventService {
|
||||
eventRepository.deleteById(id);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
TransactionRepository transactionRepository;
|
||||
|
||||
public Optional<Event> settle(@Valid Event event) {
|
||||
Long eventId = event.getId();
|
||||
List<Transaction> allTransactions = transactionRepository.findAllByEventId(eventId);
|
||||
|
||||
Transaction transaction;
|
||||
if (allTransactions.isEmpty()) {
|
||||
transaction = new Transaction();
|
||||
transaction.setEvent(event);
|
||||
transaction.setType(TransactionType.MATCH);
|
||||
transaction.setDate(LocalDate.now());
|
||||
transactionRepository.save(transaction);
|
||||
} else {
|
||||
transaction = allTransactions.get(0);
|
||||
}
|
||||
|
||||
return eventRepository.findById(event.getId());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user