Skip to content

Commit b65ae08

Browse files
authored
Merge pull request #322 from ASSU-dev/refactor/#315-student-signup-logic-edit
[FIX/#315] 회원가입 시 동일한 트랜잭션 내에서 새로 생성한 객체들 사이의 연결
2 parents 8511040 + 2d46423 commit b65ae08

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

src/main/java/com/assu/server/domain/auth/service/SignUpServiceImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public SignUpResponseDTO signupSsuStudent(StudentTokenSignUpRequestDTO req) {
9696
// 4) Student 프로필 생성 (크롤링된 정보 사용)
9797
Major major = Major.fromDisplayName(authResponse.majorStr());
9898

99-
Student student = Student.builder()
99+
Student student = studentRepository.save(Student.builder()
100100
.member(member)
101101
.name(authResponse.name())
102102
.department(major.getDepartment())
@@ -105,9 +105,8 @@ public SignUpResponseDTO signupSsuStudent(StudentTokenSignUpRequestDTO req) {
105105
.yearSemester(authResponse.yearSemester())
106106
.university(University.SSU) // Todo: 추후 다른 대학도 추가할 시 로직 변경 필요
107107
.stamp(0)
108-
.build();
109-
110-
studentRepository.save(student);
108+
.build());
109+
member.setProfile(student);
111110

112111
// 5) JWT 토큰 발급
113112
TokensDTO tokens = jwtUtil.issueTokens(
@@ -166,6 +165,7 @@ public SignUpResponseDTO signupPartner(PartnerSignUpRequestDTO req, MultipartFil
166165
.latitude(lat)
167166
.longitude(lng)
168167
.build());
168+
member.setProfile(partner);
169169

170170
// store 생성/연결
171171
Optional<Store> storeOpt = storeRepository.findBySameAddress(address, info.detailAddress());
@@ -252,6 +252,7 @@ public SignUpResponseDTO signupAdmin(AdminSignUpRequestDTO req, MultipartFile si
252252
.latitude(lat)
253253
.longitude(lng)
254254
.build());
255+
member.setProfile(admin);
255256

256257
// 4) 토큰 발급
257258
TokensDTO tokens = jwtUtil.issueTokens(

src/main/java/com/assu/server/domain/member/entity/Member.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,14 @@ public class Member extends BaseEntity {
7070

7171
@OneToOne(mappedBy = "member", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
7272
private CommonAuth commonAuth;
73+
74+
public void setProfile(Object profile) {
75+
if (profile instanceof Student s) {
76+
this.studentProfile = s;
77+
} else if (profile instanceof Partner p) {
78+
this.partnerProfile = p;
79+
} else if (profile instanceof Admin a) {
80+
this.adminProfile = a;
81+
}
82+
}
7383
}

0 commit comments

Comments
 (0)