33import clap .server .adapter .inbound .web .dto .task .response .TeamStatusResponse ;
44import clap .server .adapter .inbound .web .dto .task .response .TeamTaskItemResponse ;
55import clap .server .adapter .inbound .web .dto .task .response .TeamTaskResponse ;
6+ import clap .server .adapter .outbound .persistense .entity .task .constant .TaskStatus ;
67import clap .server .domain .model .task .Task ;
78
89import java .util .LinkedHashMap ;
910import java .util .List ;
1011import java .util .Map ;
1112import java .util .stream .Collectors ;
1213
14+ import static clap .server .adapter .outbound .persistense .entity .task .constant .TaskStatus .IN_PROGRESS ;
15+ import static clap .server .adapter .outbound .persistense .entity .task .constant .TaskStatus .IN_REVIEWING ;
16+
1317public class TeamTaskResponseMapper {
1418
1519 public static List <TeamTaskResponse > toTeamTaskResponses (List <Task > tasks ) {
@@ -26,16 +30,16 @@ private static TeamTaskResponse toTeamTaskResponse(Map.Entry<Long, List<Task>> e
2630 .collect (Collectors .toList ());
2731
2832 Task firstTask = entry .getValue ().get (0 );
29- int inProgressTaskCount = firstTask . getProcessor (). getInProgressTaskCount ();
30- int inReviewingTaskCount = firstTask . getProcessor (). getInReviewingTaskCount ( );
33+ LinkedHashMap < TaskStatus , List < TeamTaskItemResponse >> collect = taskResponses . stream ()
34+ . collect ( Collectors . groupingBy ( TeamTaskItemResponse :: taskStatus , LinkedHashMap :: new , Collectors . toList ()) );
3135
3236 return new TeamTaskResponse (
3337 entry .getKey (),
3438 firstTask .getProcessor ().getNickname (),
3539 firstTask .getProcessor ().getImageUrl (),
3640 firstTask .getProcessor ().getDepartment ().getName (),
37- inProgressTaskCount ,
38- inReviewingTaskCount ,
41+ collect . get ( IN_PROGRESS ) != null ? collect . get ( IN_PROGRESS ). size () : 0 ,
42+ collect . get ( IN_REVIEWING ) != null ? collect . get ( IN_REVIEWING ). size () : 0 ,
3943 entry .getValue ().size (),
4044 taskResponses
4145 );
0 commit comments