Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REFACTOR] 검색 디렉토리 분리 및 쿼리 리팩토링 #341

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7a6b4b5
refactor(search): 검색 기능 분리 및 elastic 서버 연결 유무에 따른 api 수정
ayoung-dev Dec 29, 2024
dafef89
test(search): 검색 기능 분리 및 elastic 서버 연결 유무에 따라 test 수정 및 추가
ayoung-dev Jan 9, 2025
bdc5ed3
test(search): import 수정
ayoung-dev Jan 9, 2025
666050f
test(search): controller test 수정
ayoung-dev Jan 10, 2025
6c22867
refactor(search): 커뮤니티 Document 필드 추가
ayoung-dev Jan 17, 2025
d2f91f5
refactor(search): 커뮤니티 검색 쿼리 수정
ayoung-dev Jan 17, 2025
ebb486d
test(search): 커뮤니티 검색 리팩토링에 따른 test 수정
ayoung-dev Jan 17, 2025
0838c3e
refactor(search): 커뮤니티 Document updatedAt 필드 추가
ayoung-dev Jan 17, 2025
3796e6b
refactor(search): 커뮤니티 게시글 findAll() -> findAllByDeletedFalse()
ayoung-dev Jan 17, 2025
c9c9b30
refactor(search): 개행 수정
ayoung-dev Jan 17, 2025
f3296ed
refactor(search): 커뮤니티 검색 test를 위한 delete 메서드 수정
ayoung-dev Jan 17, 2025
fe6faf5
feat(center): center id로 기관명 조회하는 로직 추가
ayoung-dev Jan 21, 2025
b8cf776
test(center): center id로 기관명 조회하는 로직 test 추가
ayoung-dev Jan 21, 2025
26997f6
refactor(search): community elastic search 검색 메서드명 변경
ayoung-dev Jan 21, 2025
a989a01
refactor(search): 커뮤니티 게시글 검색 쿼리 수정
ayoung-dev Jan 26, 2025
6399ad4
refactor(search): 봉사활동 모집글 document 필드 추가 및 responseDto에 fromDocument 추가
ayoung-dev Jan 26, 2025
7a75784
refactor(recruit_board): 기존 findAll() -> findAllByDeletedFalse() 수정
ayoung-dev Jan 26, 2025
d810858
refactor(search): 봉사활동 모집글 검색 쿼리 리팩토링
ayoung-dev Jan 26, 2025
21bbe8d
test(search): scheduler test 수정
ayoung-dev Jan 26, 2025
1d18ef3
refactor(search): 중복 코드 추출
ayoung-dev Jan 27, 2025
defbe5a
refactor(search): 미구현 코드 recruitboard로 이동
ayoung-dev Jan 27, 2025
6fe8f0f
test(search): 봉사활동 모집글 검색 쿼리 리팩토링에 따른 test 수정
ayoung-dev Jan 27, 2025
493f1b7
fix(search): search 디렉토리 커버리지 제외
ayoung-dev Jan 27, 2025
b9a1f57
refactor(search): 불필요한 코드 삭제
ayoung-dev Jan 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(center): center id로 기관명 조회하는 로직 추가
  • Loading branch information
ayoung-dev committed Jan 25, 2025
commit fe6faf5649f4f86a51fe6fd3ef7394ad31e66934
Original file line number Diff line number Diff line change
@@ -21,4 +21,6 @@ default boolean doesNotExistById(UUID id) {
List<CenterOverviewInfo> findCenterOverviewsByIds(List<UUID> ids);

void deleteAllInBatch();

String findNameById(UUID id);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.somemore.domains.center.repository.center;

import com.querydsl.core.types.Path;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
@@ -66,7 +67,27 @@ public void deleteAllInBatch() {
centerJpaRepository.deleteAllInBatch();
}

@Override
public String findNameById(UUID id) {
return findDynamicField(id, center.name)
.orElse(null);
}

private static BooleanExpression isNotDeleted() {
return center.deleted.isFalse();
}

private <T> Optional<T> findDynamicField(UUID id, Path<T> field) {
ayoung-dev marked this conversation as resolved.
Show resolved Hide resolved

return Optional.ofNullable(
queryFactory
.select(field)
.from(center)
.where(
center.id.eq(id),
isNotDeleted()
)
.fetchOne()
);
}
ayoung-dev marked this conversation as resolved.
Show resolved Hide resolved
}
Original file line number Diff line number Diff line change
@@ -46,6 +46,17 @@ public void validateCenterExists(UUID id) {
}
}

@Override
public String getNameById(UUID id) {
String name = centerRepository.findNameById(id);

if (name == null || name.isBlank()) {
throw new BadRequestException(NOT_EXISTS_CENTER);
}

return name;
}

private Center getCenterById(UUID centerId) {
return centerRepository.findCenterById(centerId)
.orElseThrow(() -> new BadRequestException(NOT_EXISTS_CENTER.getMessage()));
Original file line number Diff line number Diff line change
@@ -12,4 +12,5 @@ public interface CenterQueryUseCase {
List<CenterOverviewInfo> getCenterOverviewsByIds(List<UUID> centerIds);

void validateCenterExists(UUID centerId);
String getNameById(UUID id);
}