Skip to content

Commit 1f0acf4

Browse files
authored
fix : 보상 수정 #162
2 parents d92497f + 7f672a5 commit 1f0acf4

File tree

2 files changed

+34
-14
lines changed

2 files changed

+34
-14
lines changed

backend/src/main/java/com/back/domain/mission/repository/TaskRepository.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.back.domain.mission.entity.Task;
44
import org.springframework.data.domain.PageRequest;
55
import org.springframework.data.domain.Slice;
6+
import org.springframework.data.jpa.repository.EntityGraph;
67
import org.springframework.data.jpa.repository.JpaRepository;
78
import org.springframework.data.jpa.repository.Query;
89
import org.springframework.data.repository.query.Param;
@@ -15,19 +16,22 @@
1516
public interface TaskRepository extends JpaRepository<Task, Integer> {
1617
List<Task> findBySubGoalId(Integer subGoalId);
1718
@Query("""
18-
SELECT DISTINCT t FROM Task t
19-
JOIN FETCH t.subGoal sg
20-
JOIN FETCH sg.mission m
21-
LEFT JOIN m.party p
22-
LEFT JOIN p.partyMembers pm
23-
WHERE (m.member.id = :memberId
24-
OR (pm.member.id = :memberId AND pm.status = 'ACCEPTED'))
25-
AND m.isCompleted = false
26-
AND t.dayNum = :dayNum
27-
AND :date BETWEEN sg.startDate AND sg.endDate
28-
AND :date BETWEEN m.startDate AND m.endDate
29-
ORDER BY m.id, sg.orderNum, t.dayNum
30-
""")
19+
SELECT DISTINCT t FROM Task t
20+
JOIN t.subGoal sg
21+
JOIN sg.mission m
22+
LEFT JOIN m.party p
23+
LEFT JOIN p.partyMembers pm ON pm.member.id = :memberId AND pm.status = 'ACCEPTED'
24+
WHERE m.isCompleted = false
25+
AND t.dayNum = :dayNum
26+
AND :date BETWEEN sg.startDate AND sg.endDate
27+
AND :date BETWEEN m.startDate AND m.endDate
28+
AND (
29+
(m.party IS NULL AND m.member.id = :memberId) OR
30+
(m.party IS NOT NULL AND pm IS NOT NULL)
31+
)
32+
ORDER BY m.id, sg.orderNum, t.dayNum
33+
""")
34+
@EntityGraph(attributePaths = {"subGoal", "subGoal.mission"})
3135
List<Task> findTodayTasks(
3236
@Param("memberId") Integer memberId,
3337
@Param("date") LocalDate date,

backend/src/main/java/com/back/domain/mission/service/TaskService.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,29 @@ public List<TaskResponse> getTodayTasks(Integer memberId) {
155155
LocalDate today = timeProvider.today();
156156
int todayDayNum = today.getDayOfWeek().getValue();
157157

158+
System.out.println("━━━━━━━━━━━━━━━━━━━━");
159+
System.out.println("🔍 getTodayTasks");
160+
System.out.println("memberId: " + memberId);
161+
System.out.println("today: " + today);
162+
System.out.println("todayDayNum: " + todayDayNum);
163+
158164
List<Task> tasks = taskRepository.findTodayTasks(memberId, today, todayDayNum);
159165

166+
System.out.println("조회된 Task 개수: " + tasks.size());
167+
tasks.forEach(task -> {
168+
System.out.println(" - Task ID: " + task.getId());
169+
System.out.println(" Title: " + task.getTitle());
170+
System.out.println(" DayNum: " + task.getDayNum());
171+
System.out.println(" Mission ID: " + task.getSubGoal().getMission().getId());
172+
System.out.println(" isPartyMission: " + task.getSubGoal().getMission().isPartyMission());
173+
System.out.println(" Mission Owner: " + task.getSubGoal().getMission().getMember().getId());
174+
});
175+
System.out.println("━━━━━━━━━━━━━━━━━━━━");
176+
160177
return tasks.stream()
161178
.map(task -> convertToTaskResponseForToday(task, memberId, today))
162179
.collect(Collectors.toList());
163180
}
164-
165181
// 특정 날짜의 태스크 조회
166182
@Transactional(readOnly = true)
167183
public List<TaskResponse> getTasksByDate(Integer memberId, LocalDate date) {

0 commit comments

Comments
 (0)