diff --git a/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/controller/AccountController.java b/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/controller/AccountController.java index f8c43376f..6bd59884f 100644 --- a/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/controller/AccountController.java +++ b/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/controller/AccountController.java @@ -7,8 +7,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.example.accounts.repository.AccountRepository; +import com.example.accounts.repository.JournalRepository; import java.util.List; import com.example.accounts.model.Account; +import com.example.accounts.model.Journal; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.http.HttpStatus; @@ -25,14 +27,16 @@ public class AccountController { final AccountRepository accountRepository; + final JournalRepository journalRepository; @GetMapping("/hello") public String ping() { return "Hello from Spring Boot"; } - public AccountController(AccountRepository accountRepository) { + public AccountController(AccountRepository accountRepository, JournalRepository journalRepository) { this.accountRepository = accountRepository; + this.journalRepository = journalRepository; } @GetMapping("/accounts") @@ -85,4 +89,18 @@ public ResponseEntity deleteAccount(@PathVariable("accountId") long } } + @GetMapping("/account/{accountId}/transactions") + public ResponseEntity> getTransactions(@PathVariable("accountId") long accountId) { + try { + List transactions = new ArrayList(); + transactions.addAll(journalRepository.findByAccountId(accountId)); + if (transactions.isEmpty()) { + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + return new ResponseEntity<>(transactions, HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); + } + } + } \ No newline at end of file diff --git a/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/repository/JournalRepository.java b/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/repository/JournalRepository.java index 99e6d87e9..2b75c3a37 100644 --- a/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/repository/JournalRepository.java +++ b/cloudbank-v2/spring-apps/account/src/main/java/com/example/accounts/repository/JournalRepository.java @@ -10,4 +10,5 @@ public interface JournalRepository extends JpaRepository { Journal findJournalByLraIdAndJournalType(String lraId, String journalType); + List findByAccountId(long accountId); } \ No newline at end of file