diff --git a/src/main/java/gg/agit/konect/domain/club/dto/ClubFeeInfoResponse.java b/src/main/java/gg/agit/konect/domain/club/dto/ClubFeeInfoResponse.java index ca2c2892..0b03fb59 100644 --- a/src/main/java/gg/agit/konect/domain/club/dto/ClubFeeInfoResponse.java +++ b/src/main/java/gg/agit/konect/domain/club/dto/ClubFeeInfoResponse.java @@ -13,8 +13,8 @@ public record ClubFeeInfoResponse( @Schema(description = "회비 금액", example = "3만원", requiredMode = REQUIRED) String amount, - @Schema(description = "은행명", example = "국민은행", requiredMode = REQUIRED) - String bank, + @Schema(description = "은행 고유 ID", example = "1", requiredMode = REQUIRED) + Integer bankId, @Schema(description = "계좌번호", example = "123-456-7890", requiredMode = REQUIRED) String accountNumber, @@ -26,10 +26,10 @@ public record ClubFeeInfoResponse( @JsonFormat(pattern = "yyyy.MM.dd") LocalDate deadLine ) { - public static ClubFeeInfoResponse from(Club club) { + public static ClubFeeInfoResponse of(Club club, Integer bankId) { return new ClubFeeInfoResponse( club.getFeeAmount(), - club.getFeeBank(), + bankId, club.getFeeAccountNumber(), club.getFeeAccountHolder(), club.getFeeDeadline() diff --git a/src/main/java/gg/agit/konect/domain/club/service/ClubApplicationService.java b/src/main/java/gg/agit/konect/domain/club/service/ClubApplicationService.java index 3209c67d..7e78fe3e 100644 --- a/src/main/java/gg/agit/konect/domain/club/service/ClubApplicationService.java +++ b/src/main/java/gg/agit/konect/domain/club/service/ClubApplicationService.java @@ -184,7 +184,8 @@ public ClubFeeInfoResponse applyClub(Integer clubId, Integer userId, ClubApplyRe user.getName() )); - return ClubFeeInfoResponse.from(club); + Integer bankId = resolveBankId(club.getFeeBank()); + return ClubFeeInfoResponse.of(club, bankId); } private void validateFeePaymentImage(Club club, String feePaymentImageUrl) { @@ -324,7 +325,15 @@ private Page findApplicationsByRecruitmentPeriod( public ClubFeeInfoResponse getFeeInfo(Integer clubId) { Club club = clubRepository.getById(clubId); - return ClubFeeInfoResponse.from(club); + Integer bankId = resolveBankId(club.getFeeBank()); + return ClubFeeInfoResponse.of(club, bankId); + } + + private Integer resolveBankId(String bankName) { + if (!StringUtils.hasText(bankName)) { + return null; + } + return bankRepository.getByName(bankName).getId(); } @Transactional @@ -344,6 +353,6 @@ public ClubFeeInfoResponse replaceFeeInfo(Integer clubId, Integer userId, ClubFe request.deadLine() ); - return ClubFeeInfoResponse.from(club); + return ClubFeeInfoResponse.of(club, request.bankId()); } }