From f6c5fcf4bf0ef4aef67a255708b4fac8395395a9 Mon Sep 17 00:00:00 2001 From: Parkjyun Date: Mon, 12 Feb 2024 16:46:45 +0900 Subject: [PATCH] [feat] create dto for ranking api --- .../dto/response/RankingIndividualResponse.java | 6 ++++++ .../dto/response/RankingResponse.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/main/java/org/pingle/pingleserver/dto/response/RankingIndividualResponse.java create mode 100644 src/main/java/org/pingle/pingleserver/dto/response/RankingResponse.java diff --git a/src/main/java/org/pingle/pingleserver/dto/response/RankingIndividualResponse.java b/src/main/java/org/pingle/pingleserver/dto/response/RankingIndividualResponse.java new file mode 100644 index 0000000..2743a2f --- /dev/null +++ b/src/main/java/org/pingle/pingleserver/dto/response/RankingIndividualResponse.java @@ -0,0 +1,6 @@ +package org.pingle.pingleserver.dto.response; + +import java.time.LocalDateTime; + +public record RankingIndividualResponse (String name, LocalDateTime latestVisitedDate, Long locationCount) { +} diff --git a/src/main/java/org/pingle/pingleserver/dto/response/RankingResponse.java b/src/main/java/org/pingle/pingleserver/dto/response/RankingResponse.java new file mode 100644 index 0000000..d0ec303 --- /dev/null +++ b/src/main/java/org/pingle/pingleserver/dto/response/RankingResponse.java @@ -0,0 +1,17 @@ +package org.pingle.pingleserver.dto.response; + +import java.util.List; + +public record RankingResponse (int meetingCount, List locations) { + public static RankingResponse of (List responses) { + return new RankingResponse(getSumOfMeetings(responses), responses); + } + + private static int getSumOfMeetings (List responses) { + int sum = 0; + for (RankingIndividualResponse response : responses) { + sum += response.locationCount(); + } + return sum; + } +}