Skip to content

Commit ae51e37

Browse files
authored
Merge pull request #11 from NET-ZERO-FitFit/develop
[REFACTOR] 회원가입 시 계좌 생성 및 탈퇴한 회원 재가입 시 inactive_at 초기화 로직 추가
2 parents f1b4237 + 9672a0a commit ae51e37

5 files changed

Lines changed: 27 additions & 6 deletions

File tree

src/main/java/fitfit/domain/account/converter/AccountConverter.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,12 @@ public static Account toAccount(Member member, RegisterOrUpdateRequest request)
2424
.field(request.getField())
2525
.build();
2626
}
27-
}
27+
28+
public static RegisterOrUpdateRequest createEmptyRegisterOrUpdateRequest() {
29+
return RegisterOrUpdateRequest.builder()
30+
.bank("")
31+
.account("")
32+
.field("")
33+
.build();
34+
}
35+
}

src/main/java/fitfit/domain/account/dto/AccountResponseDTO.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ public class AccountResponseDTO {
1111
@Builder
1212
@AllArgsConstructor
1313
@NoArgsConstructor
14-
1514
public static class AccountInfoResponse {
1615

1716
@Schema(description = "계좌 고유 ID", example = "1")

src/main/java/fitfit/domain/member/entity/Member.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,8 @@ public void addPoint(Integer amount) {
133133
}
134134
this.point += amount;
135135
}
136+
137+
public void clearInactiveAt() {
138+
this.inactiveAt = null;
139+
}
136140
}

src/main/java/fitfit/domain/member/repository/MemberRepository.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@
88
public interface MemberRepository extends JpaRepository<Member, Long> {
99
Optional<Member> findByProviderId(String sub);
1010
boolean existsByNickname(String nickname);
11-
Long id(Long id);
1211
}

src/main/java/fitfit/domain/member/service/MemberCommandServiceImpl.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package fitfit.domain.member.service;
22

3+
import fitfit.domain.account.converter.AccountConverter;
4+
import fitfit.domain.account.dto.AccountRequestDTO;
5+
import fitfit.domain.account.service.AccountCommandService;
36
import fitfit.domain.member.converter.MemberConverter;
47
import fitfit.domain.member.dto.MemberDataDTO;
58
import fitfit.domain.member.dto.MemberRequestDTO;
@@ -36,18 +39,23 @@ public class MemberCommandServiceImpl implements MemberCommandService{
3639
private final MemberTokenRepository memberTokenRepository;
3740
private final MemberTermRepository memberTermRepository;
3841
private final TermRepository termRepository;
42+
private final AccountCommandService accountCommandService; // 의존성 추가
3943

4044
private static final String DEFAULT_BODY_IMG_URL = "https://fitfit-profile-img.s3.ap-northeast-2.amazonaws.com/default_body_img.jpg";
4145

4246
@Override
4347
@Transactional
4448
public Member findOrCreateMember(MemberDataDTO.MemberData memberData, Provider provider) {
4549
return memberRepository.findByProviderId(memberData.getSub())
50+
.map(member -> {
51+
if (member.getStatus() == MemberStatus.INACTIVE) {
52+
member.clearInactiveAt();
53+
}
54+
return member;
55+
})
4656
.orElseGet(() -> {
4757
// 새 멤버 생성
48-
Member createdMember = memberRepository.save(MemberConverter.toMember(memberData, provider));
49-
50-
return createdMember;
58+
return memberRepository.save(MemberConverter.toMember(memberData, provider));
5159
});
5260
}
5361

@@ -84,6 +92,9 @@ public MemberResponseDTO.MemberSignupResponse memberSignup(String authorization,
8492
// 회원가입 처리
8593
processMemberSignup(findMember, request);
8694

95+
AccountRequestDTO.RegisterOrUpdateRequest emptyAccountRequest = AccountConverter.createEmptyRegisterOrUpdateRequest();
96+
accountCommandService.registerOrUpdateAccount(authorization, emptyAccountRequest);
97+
8798
// 응답 반환
8899
return MemberConverter.toMemberSignupResponse(findMember);
89100
}

0 commit comments

Comments
 (0)