From 24298a29fed253310a31769b00028c02ec25ff27 Mon Sep 17 00:00:00 2001 From: kang Date: Wed, 11 Sep 2024 22:56:42 +0900 Subject: [PATCH] feat: get bank info from bank entity --- .../orange/ddanzi/dto/setting/AccountRequestDto.java | 6 +++--- .../orange/ddanzi/dto/setting/AccountResponseDto.java | 3 +-- .../java/co/orange/ddanzi/service/SettingService.java | 10 +++++++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/co/orange/ddanzi/dto/setting/AccountRequestDto.java b/src/main/java/co/orange/ddanzi/dto/setting/AccountRequestDto.java index f2b8ddde..2d392185 100644 --- a/src/main/java/co/orange/ddanzi/dto/setting/AccountRequestDto.java +++ b/src/main/java/co/orange/ddanzi/dto/setting/AccountRequestDto.java @@ -1,17 +1,17 @@ package co.orange.ddanzi.dto.setting; import co.orange.ddanzi.domain.user.Account; +import co.orange.ddanzi.domain.user.Bank; import co.orange.ddanzi.domain.user.User; -import co.orange.ddanzi.domain.user.enums.Bank; import lombok.Getter; @Getter public class AccountRequestDto { private String accountName; - private Bank bank; + private String bank; private String accountNumber; - public Account toEntity(User user){ + public Account toEntity(User user, Bank bank) { return Account.builder() .user(user) .bank(bank) diff --git a/src/main/java/co/orange/ddanzi/dto/setting/AccountResponseDto.java b/src/main/java/co/orange/ddanzi/dto/setting/AccountResponseDto.java index dea623cb..90f943de 100644 --- a/src/main/java/co/orange/ddanzi/dto/setting/AccountResponseDto.java +++ b/src/main/java/co/orange/ddanzi/dto/setting/AccountResponseDto.java @@ -1,6 +1,5 @@ package co.orange.ddanzi.dto.setting; -import co.orange.ddanzi.domain.user.enums.Bank; import lombok.Builder; import lombok.Getter; @@ -9,6 +8,6 @@ public class AccountResponseDto { private Long accountId; private String name; - private Bank bank; + private String bank; private String accountNumber; } diff --git a/src/main/java/co/orange/ddanzi/service/SettingService.java b/src/main/java/co/orange/ddanzi/service/SettingService.java index b4cb39a4..315c78c2 100644 --- a/src/main/java/co/orange/ddanzi/service/SettingService.java +++ b/src/main/java/co/orange/ddanzi/service/SettingService.java @@ -8,6 +8,7 @@ import co.orange.ddanzi.global.jwt.AuthUtils; import co.orange.ddanzi.repository.AccountRepository; import co.orange.ddanzi.repository.AddressRepository; +import co.orange.ddanzi.repository.BankRepository; import co.orange.ddanzi.repository.PushAlarmRepository; import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; @@ -22,6 +23,7 @@ public class SettingService { private final AuthUtils authUtils; private final AddressRepository addressRepository; private final AccountRepository accountRepository; + private final BankRepository bankRepository; private final PushAlarmRepository pushAlarmRepository; @Autowired @@ -121,8 +123,9 @@ public ApiResponse addAccount(AccountRequestDto requestDto){ if (accountExists) return ApiResponse.onFailure(Error.ACCOUNT_ALREADY_EXISTS, null); + Bank bank = bankRepository.findByBankCode(requestDto.getBank()); log.info("계좌 생성"); - Account newAccount = requestDto.toEntity(user); + Account newAccount = requestDto.toEntity(user, bank); newAccount = accountRepository.save(newAccount); AccountResponseDto responseDto = setAccountDto(newAccount, user.getAuthentication()); @@ -136,7 +139,8 @@ public ApiResponse updateAccount(Long accountId, AccountRequestDto requestDto if(updatedAccount == null){ return ApiResponse.onFailure(Error.ACCOUNT_NOT_FOUND, null); } - updatedAccount.update(requestDto); + Bank bank = bankRepository.findByBankCode(requestDto.getBank()); + updatedAccount.updateAccount(bank, requestDto.getAccountNumber()); AccountResponseDto responseDto = setAccountDto(updatedAccount, user.getAuthentication()); return ApiResponse.onSuccess(Success.PUT_ACCOUNT_SUCCESS, responseDto); } @@ -166,7 +170,7 @@ private AccountResponseDto setAccountDto(Account account, Authentication authent return AccountResponseDto.builder() .accountId(account != null ? account.getId() : null) .name(authentication != null ? authentication.getName() : null) - .bank(account != null ? account.getBank() : null) + .bank(account != null ? account.getBank().getBankCode() : null) .accountNumber(account != null ? account.getNumber() : null) .build(); }