From 8c807c83d75d95428e21d42a2bdbbf381e3fc1cd Mon Sep 17 00:00:00 2001 From: thguss Date: Fri, 22 Mar 2024 02:53:40 +0900 Subject: [PATCH] =?UTF-8?q?[REFACTOR]=20=EB=A0=88=ED=8F=AC=EC=A7=80?= =?UTF-8?q?=ED=86=A0=EB=A6=AC=20=EC=BF=BC=EB=A6=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/MemberCustomRepository.java | 10 ++++++ .../member/repository/MemberRepository.java | 6 +--- .../repository/MemberRepositoryImpl.java} | 31 +++++++++---------- .../TrainingTimeCustomRepository.java | 11 ------- .../repository/TrainingTimeRepository.java | 2 +- 5 files changed, 26 insertions(+), 34 deletions(-) create mode 100644 smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberCustomRepository.java rename smeem-domain/src/main/java/com/smeem/domain/{training/repository/TrainingTimeRepositoryImpl.java => member/repository/MemberRepositoryImpl.java} (78%) delete mode 100644 smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeCustomRepository.java diff --git a/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberCustomRepository.java b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberCustomRepository.java new file mode 100644 index 00000000..4f48c11b --- /dev/null +++ b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberCustomRepository.java @@ -0,0 +1,10 @@ +package com.smeem.domain.member.repository; + +import com.smeem.domain.member.model.Member; + +import java.time.LocalDateTime; +import java.util.List; + +public interface MemberCustomRepository { + List findAllByTrainingTimeForSendingMessage(LocalDateTime now); +} diff --git a/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepository.java b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepository.java index 6700d4a8..034d58b5 100644 --- a/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepository.java +++ b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepository.java @@ -1,20 +1,16 @@ package com.smeem.domain.member.repository; - - - import com.smeem.domain.member.model.Member; import com.smeem.domain.member.model.SocialType; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; -public interface MemberRepository extends JpaRepository { +public interface MemberRepository extends JpaRepository, MemberCustomRepository { boolean existsBySocialAndSocialId(SocialType socialType, String socialId); Optional findBySocialAndSocialId(SocialType social, String socialId); boolean existsByUsername(String username); - } diff --git a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepositoryImpl.java b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepositoryImpl.java similarity index 78% rename from smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepositoryImpl.java rename to smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepositoryImpl.java index 3eaaa22b..a6a598c6 100644 --- a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepositoryImpl.java +++ b/smeem-domain/src/main/java/com/smeem/domain/member/repository/MemberRepositoryImpl.java @@ -1,34 +1,31 @@ -package com.smeem.domain.training.repository; - -import static com.smeem.common.code.failure.TrainingTimeFailureCode.INVALID_DAY_OF_WEEK; -import static com.smeem.domain.member.model.QMember.member; -import static com.smeem.domain.training.model.DayType.*; -import static com.smeem.domain.training.model.QTrainingTime.trainingTime; - -import java.time.LocalDateTime; -import java.util.List; +package com.smeem.domain.member.repository; +import com.querydsl.jpa.impl.JPAQueryFactory; import com.smeem.common.exception.TrainingTimeException; +import com.smeem.domain.member.model.Member; import com.smeem.domain.training.model.DayType; -import com.smeem.domain.training.model.TrainingTime; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; -import com.querydsl.jpa.impl.JPAQueryFactory; +import java.time.LocalDateTime; +import java.util.List; -import lombok.RequiredArgsConstructor; +import static com.smeem.common.code.failure.TrainingTimeFailureCode.INVALID_DAY_OF_WEEK; +import static com.smeem.domain.member.model.QMember.member; +import static com.smeem.domain.training.model.DayType.*; +import static com.smeem.domain.training.model.QTrainingTime.trainingTime; @Repository @RequiredArgsConstructor -public class TrainingTimeRepositoryImpl implements TrainingTimeCustomRepository { +public class MemberRepositoryImpl implements MemberCustomRepository { private final JPAQueryFactory queryFactory; @Override - public List getTrainingTimeForPushAlarm(LocalDateTime now) { + public List findAllByTrainingTimeForSendingMessage(LocalDateTime now) { return queryFactory - .select(trainingTime) - .from(trainingTime) - .join(trainingTime.member, member).fetchJoin() + .selectFrom(member) + .join(member.trainingTimes, trainingTime).fetchJoin().distinct() .where( trainingTime.day.eq(getDayType(now.getDayOfWeek().getValue())), trainingTime.hour.eq(now.getHour()), diff --git a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeCustomRepository.java b/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeCustomRepository.java deleted file mode 100644 index f7429223..00000000 --- a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeCustomRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.smeem.domain.training.repository; - -import com.smeem.domain.training.model.TrainingTime; - -import java.time.LocalDateTime; -import java.util.List; - - -public interface TrainingTimeCustomRepository { - List getTrainingTimeForPushAlarm(LocalDateTime now); -} diff --git a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepository.java b/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepository.java index 207c1353..1410675b 100644 --- a/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepository.java +++ b/smeem-domain/src/main/java/com/smeem/domain/training/repository/TrainingTimeRepository.java @@ -7,7 +7,7 @@ import java.util.List; -public interface TrainingTimeRepository extends JpaRepository, TrainingTimeCustomRepository { +public interface TrainingTimeRepository extends JpaRepository { List findAllByMember(Member member);