Skip to content

Commit

Permalink
[REFACTOR] 레포지토리 쿼리 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
thguss committed Mar 21, 2024
1 parent 9a315bd commit 8c807c8
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 34 deletions.
Original file line number Diff line number Diff line change
@@ -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<Member> findAllByTrainingTimeForSendingMessage(LocalDateTime now);
}
Original file line number Diff line number Diff line change
@@ -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<Member, Long> {
public interface MemberRepository extends JpaRepository<Member, Long>, MemberCustomRepository {

boolean existsBySocialAndSocialId(SocialType socialType, String socialId);

Optional<Member> findBySocialAndSocialId(SocialType social, String socialId);

boolean existsByUsername(String username);

}
Original file line number Diff line number Diff line change
@@ -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<TrainingTime> getTrainingTimeForPushAlarm(LocalDateTime now) {
public List<Member> 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()),
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import java.util.List;

public interface TrainingTimeRepository extends JpaRepository<TrainingTime, Long>, TrainingTimeCustomRepository {
public interface TrainingTimeRepository extends JpaRepository<TrainingTime, Long> {

List<TrainingTime> findAllByMember(Member member);

Expand Down

0 comments on commit 8c807c8

Please sign in to comment.