Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#98] 대한민국 평균 행복지수 API 🎃 #100

Merged
merged 3 commits into from
May 29, 2024
Merged

[#98] 대한민국 평균 행복지수 API 🎃 #100

merged 3 commits into from
May 29, 2024

Conversation

KkomSang
Copy link
Collaborator

@KkomSang KkomSang commented May 28, 2024

🎃🎉 #100입니다~~!!!

image

앞으로도 파이팅해봐요~ 해피해피호박~

#️⃣ 연관된 이슈

Resolves #98

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요 (이미지 첨부 가능)

전체 유저의 평균 행복지수를 계산하여 그에 따른 행복 수준을 판단하는 API를 구축했습니다!

  • /api/trend/happiness로 요청시 평균 행복지수에 따른 다음과 같은 행복 수준 응답을 받을 수 있습니다.

매우 낮음 : 1 이상 2 미만
낮음 : 2 이상 3 미만
보통 : 3 이상 5 미만
높음 : 5 이상 6 미만
매우 높음 : 6 이상 7 미만

{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 6.41,
    "level": "매우 높음",
    "emoji": "😄"
  }
}
{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 5.17,
    "level": "높음",
    "emoji": "🙂"
  }
}
{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 4.55,
    "level": "보통",
    "emoji": "😐"
  }
}
{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 3.31,
    "level": "보통",
    "emoji": "😐"
  }
}
{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 2.69,
    "level": "낮음",
    "emoji": "🙁"
  }
}
{
  "success": true,
  "code": 0,
  "message": "대한민국 평균 행복지수를 성공적으로 조회했습니다.",
  "data": {
    "happiness": 1.45,
    "level": "매우 낮음",
    "emoji": "😱"
  }
}

스크린샷 (선택)

💬 리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

✅ Check List

  • PR 제목을 커밋 규칙에 맞게 작성했는가?
  • PR에 해당되는 Issue를 연결했는가?
  • 적절한 라벨을 설정했는가?
  • 작업한 사람을 모두 Assign했는가?

@KkomSang KkomSang added the feat 새로운 기능을 추가합니다 label May 28, 2024
@KkomSang KkomSang requested a review from yel-m May 28, 2024 14:54
@KkomSang KkomSang self-assigned this May 28, 2024
@KkomSang KkomSang changed the title [#98] 대한민국 평균 행복지수 API [#98] 대한민국 평균 행복지수 API 🎃 May 28, 2024
@yel-m yel-m merged commit 278abc1 into develop May 29, 2024
1 check failed
@yel-m yel-m deleted the feat/#98 branch May 29, 2024 00:05
@yel-m
Copy link
Member

yel-m commented May 29, 2024

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
아니 당신,,,, 너무... 매력적인 거 아니야...........?
넘넘 수고하셨습니다💋🎃✨

VERY_HIGH("매우 높음");
private final String viewName;
public static HappinessLevel of(double happiness) {
if (happiness >= 1 && happiness < 2) {
Copy link
Member

@yel-m yel-m May 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

머지를 먼저 눌렀지만..!! 리뷰 살짝쿵 남겨봅니다!! 👀 중요한 내용은 아니구 나~중에 편할 때 수정하면 좋을 것 같아효!

HappinessLevel enum 생성해서 값 매핑한 뷰분 너무 깔끔해서 좋았습니다!!
다만 enum에 emoji 인스턴스 변수를 추가한 다음 이모지도 다음과 같이 매핑하면 좋을 것 같다는 생각이 듭니다!

public enum HappinessLevel {
  VERY_LOW("매우 낮음", "😱"),
  LOW("낮음", "🙁"),
  ...
  private final String viewName;
  private final String emoji;

따라서 TrendHappinessService의 이 부분을

  HappinessLevel level = HappinessLevel.of(averageHappiness);
        String emoji;
        if (averageHappiness >= 1 && averageHappiness < 2) {
            emoji = "😱";
        } else if (averageHappiness >= 2 && averageHappiness < 3) {
            emoji = "🙁";
        } else if (averageHappiness >= 3 && averageHappiness < 5) {
            emoji = "😐";
        } else if (averageHappiness >= 5 && averageHappiness < 6) {
            emoji = "🙂";
        } else {
            emoji = "😄";
        }
        return TrendConverter.toTrendHappinessResponseDto(averageHappiness, level, emoji);

아래와 같이 수정하면 코드가 더 간결해질 것 같습니다!!

HappinessLevel level = HappinessLevel.of(averageHappiness);
return TrendConverter.toTrendHappinessResponseDto(averageHappiness, level, level.getEmoji());

나중에 시간 되실 때 한 번 검토해보시면 좋을 것 같아용가리 🍀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 새로운 기능을 추가합니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants