Skip to content

Commit bc2e837

Browse files
authored
Merge pull request #126 from prgrms-web-devcourse-final-project/develop
3차 메인 머지 (9/30)
2 parents 3eae4a5 + 235400c commit bc2e837

49 files changed

Lines changed: 2837 additions & 458 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

back/src/main/java/com/back/domain/job/job/entity/Job.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
import jakarta.persistence.*;
55
import lombok.Getter;
66
import lombok.NoArgsConstructor;
7-
import lombok.Setter;
87

8+
import java.util.ArrayList;
99
import java.util.List;
1010

1111
@Entity
1212
@Table(name = "job")
13-
@Getter @Setter
13+
@Getter
1414
@NoArgsConstructor
1515
public class Job extends BaseEntity {
1616
@Column(name = "name", nullable = false, unique = true)
@@ -20,15 +20,19 @@ public class Job extends BaseEntity {
2020
private String description;
2121

2222
@OneToMany(mappedBy = "job", cascade = CascadeType.ALL)
23-
private List<JobAlias> aliases;
23+
private List<JobAlias> aliases = new ArrayList<>();
2424

2525
public Job(String name, String description) {
2626
this.name = name;
2727
this.description = description;
28+
this.aliases = new ArrayList<>();
2829
}
2930

3031
public void addAlias(JobAlias alias) {
32+
if (aliases == null) {
33+
aliases = new ArrayList<>();
34+
}
3135
aliases.add(alias);
32-
alias.setJob(this);
36+
alias.linkToJob(this);
3337
}
3438
}

back/src/main/java/com/back/domain/job/job/entity/JobAlias.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
import jakarta.persistence.*;
55
import lombok.Getter;
66
import lombok.NoArgsConstructor;
7-
import lombok.Setter;
87

98
@Entity
109
@Table(name = "job_alias")
11-
@Getter @Setter
10+
@Getter
1211
@NoArgsConstructor
1312
public class JobAlias extends BaseEntity {
1413
@Column(name = "name", nullable = false, unique = true)
@@ -22,4 +21,12 @@ public JobAlias(String name) {
2221
this.name = name;
2322
this.job = null; // 기본적으로 연결된 Job이 없음 (pending 상태)
2423
}
24+
25+
public void linkToJob(Job job) {
26+
this.job = job;
27+
}
28+
29+
public boolean isPending() {
30+
return this.job == null;
31+
}
2532
}

back/src/main/java/com/back/domain/job/job/service/JobService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public Job create(String name, String description) {
2828
@Transactional
2929
public JobAlias createAlias(Job job, String aliasName) {
3030
JobAlias alias = new JobAlias(aliasName);
31-
alias.setJob(job);
31+
job.addAlias(alias);
3232
return jobAliasRepository.save(alias);
3333
}
3434
}

back/src/main/java/com/back/domain/member/member/service/MemberStorage.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import lombok.RequiredArgsConstructor;
1111
import org.springframework.stereotype.Component;
1212

13+
import java.util.Optional;
14+
1315
@Component
1416
@RequiredArgsConstructor
1517
public class MemberStorage {
@@ -24,12 +26,15 @@ public Mentor findMentorByMember(Member member) {
2426
}
2527

2628
public Mentor findMentorByMemberId(Long memberId) {
27-
return mentorRepository.findByMemberId(memberId)
29+
return mentorRepository.findByMemberIdWithMember(memberId)
2830
.orElseThrow(() -> new ServiceException(MemberErrorCode.NOT_FOUND_MENTOR));
2931
}
32+
public Optional<Mentor> findMentorByMemberOptional(Member member) {
33+
return mentorRepository.findByMemberIdWithMember(member.getId());
34+
}
3035

3136
public Mentee findMenteeByMember(Member member) {
32-
return menteeRepository.findByMemberId(member.getId())
37+
return menteeRepository.findByMemberIdWithMember(member.getId())
3338
.orElseThrow(() -> new ServiceException(MemberErrorCode.NOT_FOUND_MENTEE));
3439
}
3540

back/src/main/java/com/back/domain/member/mentee/dto/MenteeDto.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
public record MenteeDto(
77
@Schema(description = "멘티 ID")
88
Long menteeId,
9-
@Schema(description = "멘티명")
10-
String name
9+
@Schema(description = "멘티 닉네임")
10+
String nickname
1111
) {
1212
public static MenteeDto from(Mentee mentee) {
1313
return new MenteeDto(
1414
mentee.getId(),
15-
mentee.getMember().getName()
15+
mentee.getMember().getNickname()
1616
);
1717
}
1818
}

back/src/main/java/com/back/domain/member/mentee/repository/MenteeRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public interface MenteeRepository extends JpaRepository<Mentee, Long> {
1212
@Query("SELECT m FROM Mentee m WHERE m.member.id = :memberId AND m.isDeleted = false")
1313
Optional<Mentee> findByMemberId(@Param("memberId") Long memberId);
1414

15+
@Query("SELECT m FROM Mentee m JOIN FETCH m.member WHERE m.member.id = :memberId AND m.isDeleted = false")
16+
Optional<Mentee> findByMemberIdWithMember(@Param("memberId") Long memberId);
17+
1518
@Query("SELECT m FROM Mentee m WHERE m.id = :id AND m.isDeleted = false")
1619
Optional<Mentee> findById(@Param("id") Long id);
1720

back/src/main/java/com/back/domain/member/mentor/dto/MentorDetailDto.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
public record MentorDetailDto(
77
@Schema(description = "멘토 ID")
88
Long mentorId,
9-
@Schema(description = "멘토명")
10-
String name,
9+
@Schema(description = "멘토 닉네임")
10+
String nickname,
1111
@Schema(description = "평점")
1212
Double rate,
1313
// TODO: Job id, name
@@ -17,7 +17,7 @@ public record MentorDetailDto(
1717
public static MentorDetailDto from(Mentor mentor) {
1818
return new MentorDetailDto(
1919
mentor.getId(),
20-
mentor.getMember().getName(),
20+
mentor.getMember().getNickname(),
2121
mentor.getRate(),
2222
mentor.getCareerYears()
2323
);

back/src/main/java/com/back/domain/member/mentor/dto/MentorDto.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
public record MentorDto(
77
@Schema(description = "멘토 ID")
88
Long mentorId,
9-
@Schema(description = "멘토명")
10-
String name
9+
@Schema(description = "멘토 닉네임")
10+
String nickname
1111
) {
1212
public static MentorDto from(Mentor mentor) {
1313
return new MentorDto(
1414
mentor.getId(),
15-
mentor.getMember().getName()
15+
mentor.getMember().getNickname()
1616
);
1717
}
1818
}

back/src/main/java/com/back/domain/member/mentor/repository/MentorRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public interface MentorRepository extends JpaRepository<Mentor, Long> {
1212
@Query("SELECT m FROM Mentor m WHERE m.member.id = :memberId AND m.isDeleted = false")
1313
Optional<Mentor> findByMemberId(@Param("memberId") Long memberId);
1414

15+
@Query("SELECT m FROM Mentor m JOIN FETCH m.member WHERE m.member.id = :memberId AND m.isDeleted = false")
16+
Optional<Mentor> findByMemberIdWithMember(@Param("memberId") Long memberId);
17+
1518
@Query("SELECT m FROM Mentor m WHERE m.id = :id AND m.isDeleted = false")
1619
Optional<Mentor> findById(@Param("id") Long id);
1720

back/src/main/java/com/back/domain/mentoring/mentoring/repository/MentoringRepositoryImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ public Page<Mentoring> searchMentorings(String keyword, Pageable pageable) {
2626

2727
BooleanBuilder builder = new BooleanBuilder();
2828

29-
// 제목, 멘토 이름 검색 조건
29+
// 제목, 멘토 닉네임 검색 조건
3030
if (keyword != null && !keyword.isBlank()) {
3131
builder.and(
3232
mentoring.title.containsIgnoreCase(keyword)
33-
.or(mentor.member.name.containsIgnoreCase(keyword))
33+
.or(mentor.member.nickname.containsIgnoreCase(keyword))
3434
);
3535
}
3636

0 commit comments

Comments
 (0)