From 34f21cfe5c9f07e69a3e199f91f717edccfeca7f Mon Sep 17 00:00:00 2001 From: sycuuui <102959791+sycuuui@users.noreply.github.com> Date: Mon, 23 Sep 2024 00:37:46 +0900 Subject: [PATCH] =?UTF-8?q?#241=20refactor=20:=20query->querydsl=EB=A1=9C?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contest/repository/ContestRepositoryCustom.java | 7 +++++++ .../domain/contest/repository/ContestRepositoryImpl.java | 2 -- .../domain/portfolio/repository/PortfolioRepository.java | 4 ---- .../portfolio/repository/PortfolioRepositoryCustom.java | 1 + .../portfolio/repository/PortfolioRepositoryImpl.java | 9 +++++++++ 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryCustom.java b/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryCustom.java index d23f9339..e1fbf013 100644 --- a/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryCustom.java +++ b/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryCustom.java @@ -6,5 +6,12 @@ import org.springframework.data.domain.Pageable; public interface ContestRepositoryCustom { + /** + * 찾고자하는 단어 검색 + * @param word searchWord + * @param sort 정렬순 + */ Page searchList (String word, String sort, Pageable pageable); + + } diff --git a/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryImpl.java b/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryImpl.java index 12d72885..4dbd9cb0 100644 --- a/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryImpl.java +++ b/src/main/java/com/gongjakso/server/domain/contest/repository/ContestRepositoryImpl.java @@ -21,8 +21,6 @@ public ContestRepositoryImpl(EntityManager em) { this.queryFactory = new JPAQueryFactory(em); } - //최신순으로 정렬 - //제목,본문 기준으로 검색 @Override public Page searchList(String word, String sortAt, Pageable pageable) { List contestList = queryFactory diff --git a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepository.java b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepository.java index b49d6399..6b20ed0e 100644 --- a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepository.java +++ b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepository.java @@ -10,9 +10,5 @@ public interface PortfolioRepository extends JpaRepository, PortfolioRepositoryCustom{ Optional findByIdAndDeletedAtIsNull(Long portfolioId); long countByDeletedAtIsNull(); - @Query("SELECT EXISTS (" + - "SELECT 1 FROM Portfolio po " + - "WHERE po.member = :member AND (po.fileUri IS NOT NULL OR po.notionUri IS NOT NULL) AND po.deletedAt IS NULL )") - Boolean existsExistPortfolioByMember(@Param("member") Member member); Optional findPortfolioById(Long portfolioId); } diff --git a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryCustom.java b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryCustom.java index d7ddf394..c21b09b0 100644 --- a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryCustom.java +++ b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryCustom.java @@ -7,4 +7,5 @@ public interface PortfolioRepositoryCustom { List findByMemberAndDeletedAtIsNull(Member member); + Boolean existsExistPortfolioByMember(Member member); } diff --git a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryImpl.java b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryImpl.java index df152c6b..4f01f4f7 100644 --- a/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryImpl.java +++ b/src/main/java/com/gongjakso/server/domain/portfolio/repository/PortfolioRepositoryImpl.java @@ -20,4 +20,13 @@ public List findByMemberAndDeletedAtIsNull(Member member) { .and(portfolio.deletedAt.isNull())) .fetch(); } + + public Boolean existsExistPortfolioByMember(Member member){ + return queryFactory + .selectFrom(portfolio) + .where(portfolio.member.eq(member) + .and(portfolio.fileUri.isNotNull().or(portfolio.notionUri.isNotNull())) + .and(portfolio.deletedAt.isNull())) + .fetchFirst()!=null; + } }