Skip to content

Commit

Permalink
#29 - Refactor: MemberExtra 엔티티 도입에 따른 출금 계좌 관리, 출금 신청폼 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
ahah525 committed Nov 7, 2022
1 parent d5c0e0b commit 276b979
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ public String findPassword(@Valid String username, String email, Model model) {
@PreAuthorize("isAuthenticated()")
@GetMapping("/manageWithdrawAccount")
public String manageWithdrawAccount(@AuthenticationPrincipal MemberContext memberContext, Model model) {
Member member = memberContext.getMember();
Member member = memberService.findByUsername(memberContext.getUsername());
model.addAttribute("member", member);

return "member/manage_withdraw_account";
Expand All @@ -211,7 +211,7 @@ public String registerWithdrawAccount(
return "member/register_withdraw_account";
}
Member member = memberService.findByUsername(memberContext.getUsername());
memberService.modifyBankAccount(member, withDrawAccountForm);
memberService.createBankInfo(member, withDrawAccountForm);

// 출금 게좌 관리 페이지로 리다이렉트
return "redirect:/member/manageWithdrawAccount";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.example.mutbooks.app.mail.service.MailService;
import com.example.mutbooks.app.member.entity.AuthLevel;
import com.example.mutbooks.app.member.entity.Member;
import com.example.mutbooks.app.member.entity.MemberExtra;
import com.example.mutbooks.app.member.exception.PasswordNotMatchedException;
import com.example.mutbooks.app.member.form.JoinForm;
import com.example.mutbooks.app.member.form.ModifyForm;
Expand Down Expand Up @@ -146,8 +147,14 @@ public CashLog addCash(Member member, int price, String eventType) {

// 계좌 등록
@Transactional
public void modifyBankAccount(Member member, WithdrawAccountForm withDrawAccountForm) {
member.modifyBankAccount(withDrawAccountForm.getBankName(), withDrawAccountForm.getBankAccountNo());
forceAuthentication(member);
public void createBankInfo(Member member, WithdrawAccountForm withDrawAccountForm) {
MemberExtra memberExtra = MemberExtra.builder()
.member(member)
.bankName(withDrawAccountForm.getBankName())
.bankAccountNo(withDrawAccountForm.getBankAccountNo())
.build();
member.modifyMemberExtra(memberExtra);
// TODO: 계좌 정보는 memberContext 값에 담겨있지 않으므로 세션값 강제 수정할 필요X
//forceAuthentication(member);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.example.mutbooks.app.base.security.dto.MemberContext;
import com.example.mutbooks.app.member.entity.Member;
import com.example.mutbooks.app.member.service.MemberService;
import com.example.mutbooks.app.withdraw.form.WithdrawApplyForm;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
Expand All @@ -15,11 +16,13 @@
@RequiredArgsConstructor
@RequestMapping("/withdraw")
public class WithdrawController {
private final MemberService memberService;

// 출금 신청 폼
@PreAuthorize("isAuthenticated()")
@GetMapping("/apply")
public String showApply(@AuthenticationPrincipal MemberContext memberContext, WithdrawApplyForm withdrawApplyForm, Model model) {
Member member = memberContext.getMember();
Member member = memberService.findByUsername(memberContext.getUsername());
model.addAttribute("member", member);

return "withdraw/apply";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,30 @@
<h1 class="font-bold text-lg">출금계좌 관리</h1>

<div class="flex flex-col gap-3">
<div class="form-control">
<label class="label">
<span class="label-text">은행</span>
</label>
<span class="input input-bordered" style="display: flex; align-items: center" th:text="${member.bankName}"></span>
</div>

<div class="form-control">
<label class="label">
<span class="label-text">계좌번호</span>
</label>
<span class="input input-bordered" style="display: flex; align-items: center" th:text="${member.bankAccountNo}"></span>
</div>

<div class="grid grid-cols-2 mt-2 gap-2">
<a href="/member/registerWithdrawAccount" class="btn btn-secondary btn-outline">출금계좌 등록</a>
</div>
<th:block th:if="${member.hasBankInfo()}">
<div class="form-control">
<label class="label">
<span class="label-text">은행</span>
</label>
<span class="input input-bordered" style="display: flex; align-items: center" th:text="${member.memberExtra.bankName}"></span>
</div>

<div class="form-control">
<label class="label">
<span class="label-text">계좌번호</span>
</label>
<span class="input input-bordered" style="display: flex; align-items: center" th:text="${member.memberExtra.bankAccountNo}"></span>
</div>
<div class="grid grid-cols-2 mt-2 gap-2">
<a href="/member/modifyWithdrawAccount" class="btn btn-secondary btn-outline">출금계좌 수정</a>
</div>
</th:block>
<th:block th:if="${!member.hasBankInfo()}">
<div class="mt-5">출금 계좌 정보가 존재하지 않습니다.<br>아래 버튼을 클릭해 출금 계좌 정보를 등록해주세요.</div>
<div class="grid grid-cols-2 mt-2 gap-2">
<a href="/member/registerWithdrawAccount" class="btn btn-secondary btn-outline">출금계좌 등록</a>
</div>
</th:block>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ <h1 class="font-bold text-lg">출금신청</h1>
<div class="text-lg">
<!-- <div>입금 받을 은행계좌 정보입니다.</div>-->
<span>은행 : </span>
<span th:text="${member.bankName}"></span>
<span th:text="${member.memberExtra.bankName}"></span>
</div>

<div class="text-lg">
<span>계좌번호 : </span>
<span th:text="${member.bankAccountNo}"></span>
<span th:text="${member.memberExtra.bankAccountNo}"></span>
</div>
</div>

Expand Down

0 comments on commit 276b979

Please sign in to comment.