Skip to content

Commit a899688

Browse files
committed
Merge branch 'develop' of https://github.com/For-In-K/forink-back into develop
2 parents ce4d1aa + a15a867 commit a899688

10 files changed

Lines changed: 45 additions & 11 deletions

File tree

src/main/java/com/forink/forink/exam/entity/dao/ExamRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
public interface ExamRepository extends JpaRepository<Exam, Long> {
99

1010
Optional<Exam> findByMember(final Member member);
11+
boolean existsByMember(final Member member);
1112
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.forink.forink.global.config;
2+
3+
import org.springframework.context.annotation.Configuration;
4+
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
5+
6+
@Configuration
7+
@EnableJpaAuditing
8+
public class JpaAuditingConfig {
9+
}

src/main/java/com/forink/forink/global/config/Web3jConfig.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
66
import org.web3j.crypto.Credentials;
7-
import org.web3j.guideverification.GuideVerification;
87
import org.web3j.protocol.Web3j;
98
import org.web3j.protocol.http.HttpService;
10-
import org.web3j.tx.RawTransactionManager;
11-
import org.web3j.tx.TransactionManager;
12-
import org.web3j.tx.gas.DefaultGasProvider;
139

1410
@Configuration
1511
public class Web3jConfig {
@@ -44,4 +40,4 @@ public Credentials credentials() {
4440
// new DefaultGasProvider()
4541
// );
4642
// }
47-
}
43+
}

src/main/java/com/forink/forink/member/application/MemberService.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.forink.forink.member.application;
22

3+
import com.forink.forink.exam.entity.dao.ExamRepository;
34
import com.forink.forink.global.security.dto.GoogleUserInfo;
45
import com.forink.forink.global.security.util.GoogleClient;
56
import com.forink.forink.global.security.util.JwtTokenProvider;
67
import com.forink.forink.member.application.dto.response.OAuthLoginResponse;
78
import com.forink.forink.member.entity.Member;
89
import com.forink.forink.member.entity.dao.MemberRepository;
10+
import com.forink.forink.resume.entity.dao.ResumeRepository;
911
import jakarta.transaction.Transactional;
1012
import lombok.RequiredArgsConstructor;
1113
import org.springframework.stereotype.Service;
@@ -15,6 +17,8 @@
1517
public class MemberService {
1618

1719
private final MemberRepository memberRepository;
20+
private final ExamRepository examRepository;
21+
private final ResumeRepository resumeRepository;
1822

1923
private final MemberRegistrationService memberRegistrationService;
2024

@@ -45,7 +49,13 @@ private OAuthLoginResponse loginExistingMember(final Member member) {
4549
member.getMemberRoleType().name(),
4650
member.getEmail()
4751
);
48-
return OAuthLoginResponse.from(token, member);
52+
return OAuthLoginResponse.from(token, member, checkIsCompletedExamOrResume(member));
53+
}
54+
55+
private boolean checkIsCompletedExamOrResume(final Member member){
56+
boolean hasExam = examRepository.existsByMember(member);
57+
boolean hasResume = resumeRepository.existsByMember(member);
58+
return hasExam || hasResume;
4959
}
5060

5161
}

src/main/java/com/forink/forink/member/application/dto/response/OAuthLoginResponse.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@ public record OAuthLoginResponse(
2222
String name,
2323

2424
@NotNull
25-
MemberRoleType role
25+
MemberRoleType role,
26+
27+
@NotBlank
28+
boolean isCompleted
2629
) {
2730

28-
public static OAuthLoginResponse from(String token, Member member) {
31+
public static OAuthLoginResponse from(String token, Member member, boolean isCompleted) {
2932
return OAuthLoginResponse.builder()
3033
.token(token)
3134
.memberId(member.getId())
3235
.email(member.getEmail())
3336
.name(member.getName())
3437
.role(member.getMemberRoleType())
38+
.isCompleted(isCompleted)
3539
.build();
3640
}
3741

src/main/java/com/forink/forink/resume/entity/dao/ResumeRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.forink.forink.resume.entity.dao;
22

3+
import com.forink.forink.member.entity.Member;
34
import com.forink.forink.member.entity.MemberRoleType;
45
import com.forink.forink.resume.entity.Resume;
56
import java.util.List;
@@ -13,4 +14,6 @@ public interface ResumeRepository extends JpaRepository<Resume, Long> {
1314

1415
@EntityGraph(attributePaths = {"member"})
1516
List<Resume> findAllByMember_MemberRoleType(MemberRoleType memberMemberRoleType);
17+
18+
boolean existsByMember(final Member member);
1619
}

src/main/java/com/forink/forink/roadmap/application/RoadmapService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ private List<RoadmapTypeDetailResponse> getRoadmapTypeInfos(final Roadmap roadma
187187
}
188188

189189
private void saveRoadmaps(final AiRoadmapGenerateResponse[] aiResponses, final Member member) {
190+
if (aiResponses == null || aiResponses.length == 0) return;
190191
final List<Roadmap> roadmaps = Arrays.stream(aiResponses)
191192
.map(ai -> {
192193
final RoadmapType type = RoadmapType.valueOf(ai.type());
@@ -204,6 +205,7 @@ private void saveRoadmaps(final AiRoadmapGenerateResponse[] aiResponses, final M
204205
.title(aiStep.stepTitle())
205206
.description(aiStep.stepDescription())
206207
.build();
208+
roadmap.addStep(step);
207209

208210
aiStep.contents().forEach(aiContent -> {
209211
final RoadmapStepContent content = RoadmapStepContent.builder()
@@ -212,7 +214,6 @@ private void saveRoadmaps(final AiRoadmapGenerateResponse[] aiResponses, final M
212214
.build();
213215
step.addContent(content);
214216
});
215-
roadmap.addStep(step);
216217
});
217218
return roadmap;
218219
}).toList();

src/main/java/com/forink/forink/roadmap/entity/Roadmap.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public boolean isNotMine(final Member member) {
7272
}
7373

7474
public void addStep(final RoadmapStep step) {
75-
this.steps.add(step);
75+
steps.add(step);
76+
step.setRoadmap(this);
7677
}
7778
}

src/main/java/com/forink/forink/roadmap/entity/RoadmapStep.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ private RoadmapStep(final Roadmap roadmap, final Integer stepNumber, final Strin
5656
}
5757

5858
public void addContent(final RoadmapStepContent content) {
59-
this.roadmapStepContents.add(content);
59+
roadmapStepContents.add(content);
60+
content.setRoadmapStep(this);
61+
}
62+
63+
void setRoadmap(final Roadmap roadmap){
64+
this.roadmap = roadmap;
6065
}
6166
}

src/main/java/com/forink/forink/roadmap/entity/RoadmapStepContent.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ private RoadmapStepContent(final RoadmapStep roadmapStep, final String content)
4545
public void updateIsChecked() {
4646
this.isChecked = (this.isChecked == null) ? TRUE : !this.isChecked;
4747
}
48+
49+
public void setRoadmapStep(final RoadmapStep step){
50+
this.roadmapStep = step;
51+
}
4852
}

0 commit comments

Comments
 (0)