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")
|
@Query("select transaction from Transaction transaction left join fetch transaction.event where transaction.id =:id")
|
||||||
Optional<Transaction> findOneWithToOneRelationships(@Param("id") Long 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;
|
package com.sasiedzi.event.service;
|
||||||
|
|
||||||
import com.sasiedzi.event.domain.Event;
|
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.EventRepository;
|
||||||
|
import com.sasiedzi.event.repository.TransactionRepository;
|
||||||
|
import com.sasiedzi.event.web.rest.TransactionResource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -113,7 +120,24 @@ public class EventService {
|
|||||||
eventRepository.deleteById(id);
|
eventRepository.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
TransactionRepository transactionRepository;
|
||||||
|
|
||||||
public Optional<Event> settle(@Valid Event event) {
|
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());
|
return eventRepository.findById(event.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user