Skip to content

Commit c2b0c11

Browse files
authored
fix: performedDate를 포함한 쿼리메서드로 수정 (#51)
1 parent a023f32 commit c2b0c11

2 files changed

Lines changed: 20 additions & 13 deletions

File tree

src/main/java/bitnagil/bitnagil_backend/routine/repository/RoutineCompletionRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
public interface RoutineCompletionRepository extends JpaRepository<RoutineCompletion, Long> {
1313

14-
RoutineCompletion findByRoutineIdAndRoutineHistorySeqAndRoutineType(
15-
UUID routineId, Long routineHistorySeq, RoutineType routineType);
14+
RoutineCompletion findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
15+
UUID routineId, LocalDate performedDate, Long routineHistorySeq, RoutineType routineType);
1616

1717
Optional<RoutineCompletion> findByPerformedDateAndRoutineIdAndRoutineHistorySeqAndRoutineType(
1818
LocalDate performedDate, UUID routineId, Long routineHistorySeq, RoutineType routineType);

src/main/java/bitnagil/bitnagil_backend/routine/service/RoutineService.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,13 @@
88
import java.util.ArrayList;
99
import java.util.HashMap;
1010
import java.util.Map;
11-
import java.util.stream.Collectors;
1211

1312
import bitnagil.bitnagil_backend.changedRoutine.domain.ChangedRoutine;
1413
import bitnagil.bitnagil_backend.changedRoutine.domain.ChangedSubRoutine;
1514
import bitnagil.bitnagil_backend.changedRoutine.domain.enums.ChangedDivCode;
1615
import bitnagil.bitnagil_backend.changedRoutine.repository.ChangedRoutineRepository;
1716
import bitnagil.bitnagil_backend.changedRoutine.repository.ChangedSubRoutineRepository;
18-
import bitnagil.bitnagil_backend.emotionMarble.domain.EmotionMarble;
1917
import bitnagil.bitnagil_backend.emotionMarble.repository.EmotionMarbleRepository;
20-
import bitnagil.bitnagil_backend.global.entity.HistoryPk;
2118
import bitnagil.bitnagil_backend.routine.domain.RoutineCompletion;
2219
import bitnagil.bitnagil_backend.routine.domain.enums.RoutineType;
2320
import bitnagil.bitnagil_backend.routine.repository.RoutineCompletionRepository;
@@ -235,8 +232,9 @@ public void updateRoutineCompletionStatus(User user, UpdateRoutineCompletionRequ
235232

236233
// 기존 완료 여부 엔티티가 존재하는지 조회
237234
RoutineCompletion existingRoutineCompletion = routineCompletionRepository
238-
.findByRoutineIdAndRoutineHistorySeqAndRoutineType(
235+
.findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
239236
routineCompletionInfo.getRoutineId(),
237+
request.getPerformedDate(),
240238
routineCompletionInfo.getHistorySeq(),
241239
routineCompletionInfo.getRoutineType());
242240

@@ -338,9 +336,11 @@ private void applyChangedRoutines(List<ChangedRoutine> changedRoutines,
338336

339337
// 변경 서브 루틴완료 여부를 파악
340338
RoutineCompletion changedSubRoutineCompletion =
341-
routineCompletionRepository.findByRoutineIdAndRoutineHistorySeqAndRoutineType(
339+
routineCompletionRepository.findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
342340
changedSubRoutine.getChangedSubRoutinePk().getId(),
343-
changedSubRoutine.getChangedSubRoutinePk().getHistorySeq(), RoutineType.CHANGED_SUB_ROUTINE);
341+
changedRoutineDate,
342+
changedSubRoutine.getChangedSubRoutinePk().getHistorySeq(),
343+
RoutineType.CHANGED_SUB_ROUTINE);
344344

345345
SubRoutineSearchResultDto changedSubRoutineSearchResultDto =
346346
routineMapper.toChangedSubRoutineSearchResultDto(changedSubRoutine, changedSubRoutineCompletion);
@@ -352,9 +352,11 @@ private void applyChangedRoutines(List<ChangedRoutine> changedRoutines,
352352

353353
// 변경루틴 완료여부 조회
354354
RoutineCompletion changedRoutineCompletion =
355-
routineCompletionRepository.findByRoutineIdAndRoutineHistorySeqAndRoutineType(
355+
routineCompletionRepository.findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
356356
changedRoutine.getChangedRoutinePk().getId(),
357-
changedRoutine.getChangedRoutinePk().getHistorySeq(), RoutineType.CHANGED_ROUTINE);
357+
changedRoutineDate,
358+
changedRoutine.getChangedRoutinePk().getHistorySeq(),
359+
RoutineType.CHANGED_ROUTINE);
358360

359361
RoutineSearchResultDto changedRoutineSearchResultDto = routineMapper.toChangedRoutineSearchResultDto(
360362
changedRoutine, changedSubRoutineSearchResultList, changedRoutineCompletion);
@@ -390,8 +392,9 @@ private Map<LocalDate, List<RoutineSearchResultDto>> buildRoutinesGroupedByDate(
390392

391393
// 서브 루틴 완료 여부 조회
392394
RoutineCompletion subRoutineCompletion =
393-
routineCompletionRepository.findByRoutineIdAndRoutineHistorySeqAndRoutineType(
395+
routineCompletionRepository.findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
394396
subRoutine.getSubRoutinePk().getId(),
397+
date,
395398
subRoutine.getSubRoutinePk().getHistorySeq(),
396399
RoutineType.SUB_ROUTINE);
397400

@@ -405,8 +408,12 @@ private Map<LocalDate, List<RoutineSearchResultDto>> buildRoutinesGroupedByDate(
405408
subRoutineSearchResultList.sort((a, b) -> a.getSortOrder().compareTo(b.getSortOrder()));
406409

407410
// 루틴 완료 여부 조회
408-
RoutineCompletion routineCompletion = routineCompletionRepository.findByRoutineIdAndRoutineHistorySeqAndRoutineType(
409-
routine.getRoutinePk().getId(), routine.getRoutinePk().getHistorySeq(), RoutineType.ROUTINE);
411+
RoutineCompletion routineCompletion =
412+
routineCompletionRepository.findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType(
413+
routine.getRoutinePk().getId(),
414+
date,
415+
routine.getRoutinePk().getHistorySeq(),
416+
RoutineType.ROUTINE);
410417

411418
RoutineSearchResultDto routineSearchResultDto =
412419
routineMapper.toRoutineSearchResultDto(routine, subRoutineSearchResultList, routineCompletion);

0 commit comments

Comments
 (0)