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

[Fix] #399 - deprecated API 반영 및 가입 일자 계산 로직 수정 #401

Merged
merged 11 commits into from
Oct 16, 2024

Conversation

yungu0010
Copy link
Contributor

🌴 PR 요약

🌱 작업한 브랜치

🌱 PR Point

사용하지 않는 API 제거

  • GET /notification/{notificationId} 사용하지 않음 → 삭제
  • GET /user/nickname/{nickname} 제거된 기능 → 삭제
  • GET /user/nickname 제거된 기능 → 삭제
  • GET /s3/mission/s3/stamp로 변경
  • GET /config/availability 삭제
    /config/availability는 앱 서비스의 심사 여부를 true, false로 내려주는 역할로 추정
    확인해본 결과 프로젝트 로직에서도 false인 경우 따로 처리해주지 않고 서버측에서도 false를 내려준 적이 없다고 하여 제거했습니다.
  • GET /user/opt-in
    → 이전 버전에서는 앱 알림 수신 동의 여부를 마이페이지에서 나타낼 때 사용한 것으로 추정
    현재는 수신 동의 여부를 보여주지 않고 바로 설정 앱으로 이동하기 때문에 사용하지 않아 삭제했습니다.


홈화면 동아리 시작 개월수 설정 변경

안드로이드와 iOS에서 표시되는 개월수가 상이해 iOS가 AOS 기준으로 싱크를 맞추고, 추후 서버 API를 통해 값을 받는 방식으로 변경하기로 했습니다!

문제 원인은 calendar.dateComponents가 안드로이드와 계산 방식이 다르기 때문이었어요.

OS 날짜 계산방식
iOS 9월 1일 ~ 9월 30일: 1개월 / 10월 1일 ~ 10월 31일: 2개월
AOS 9월 1일 ~ 10월 1일: 1개월 / 10월 2일 ~ 11월 1일: 2개월

그래서 동아리 시작날짜는 1일이 아닌 2일로 지정하여 AOS와 싱크를 맞췄습니다.
추가로 시작 일자 계산이 미국시 기준으로 되어있어 9시간을 추가해 한국일자로 변경하였습니다.

📌 참고 사항

  • dateFormatter 초기화 관련 리팩토링은 일정 관계상 추후 작업하도록 하겠습니다 !
  • deprecated API를 제거하며 기능에 이상이 없는지 확인을 여러 번 했지만 크로스 체크 부탁드립니다 !

📮 관련 이슈

- 마이페이지에서 현재 알림 수신 여부를 표시하는 기능이나 현재는 바로 setting으로 이동하기 때문에 불필요
- 현재 signup은 네이티브앱에서 진행하지 않음
ConfigService, ConfigAPI, 관련 Model, Entity제거
repository, usecase 내 getServiceState 관련 코드 제거
- dateComponent에 9시간을 더해 한국 일자로 수정
- 동아리 시작 일자를 2일로 계산하여 안드로이드 계산법과 맞춤
@yungu0010 yungu0010 added Fix 문제 해결, 코드 수정 윤서🍉 labels Oct 15, 2024
@yungu0010 yungu0010 self-assigned this Oct 15, 2024
Copy link

height bot commented Oct 15, 2024

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

@yungu0010 yungu0010 changed the title [Fix] #399 - deprecated API 반영 및 가입 일자 계산 로직 수정 [Fix] #399 - deprecated API 반영 및 가입 일자 계산 로직 수정, 솝마디 앰플리튜드 추가 Oct 15, 2024
@yungu0010 yungu0010 changed the title [Fix] #399 - deprecated API 반영 및 가입 일자 계산 로직 수정, 솝마디 앰플리튜드 추가 [Fix] #399 - deprecated API 반영 및 가입 일자 계산 로직 수정 Oct 15, 2024
Copy link
Contributor

@dlwogus0128 dlwogus0128 left a comment

Choose a reason for hiding this comment

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

안드로이드랑 개월 세는 단위가 달라서 그랬던 거였균요... 배워갑니다..

@@ -57,7 +57,7 @@ extension DailySoptuneResultViewModel {
let output = Output()
self.bindOutput(output: output, cancelBag: cancelBag)

input.viewWillAppear
input.viewDidLoad
Copy link
Contributor

Choose a reason for hiding this comment

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

무한 감사 인사를 드립니다..

@@ -339,7 +331,7 @@ extension MainViewModel {
let yearDifference = history / 2
let month = (history % 2 == 0) ? 3 : 9 // 짝수 기수는 3월, 홀수 기수는 9월 시작
// 1기를 2007년으로 계산
return Date.from(year: yearDifference + 2007, month: month, day: 1)
return Date.from(year: yearDifference + 2007, month: month, day: 2)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

👍👍👍

Copy link
Contributor

@meltsplit meltsplit left a comment

Choose a reason for hiding this comment

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

레거시 제거 작업하시느라 고생 많으셨습니다!

Comment on lines 26 to 28
return calendar.date(from: dateComponents) ?? nil

let usaDate = calendar.date(from: dateComponents)
return usaDate!.addingTimeInterval(10 * 60 * 60)
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. 9시간이 아닌 10시간을 더하신 이유가 궁금해요!

  2. TimeZone.current로 설정하면 한국날짜(UTC +9)로 지정되는 것으로 알고 있는데,
    해당 데이터에 추가적으로 9시간 혹은 10시간을 더하면 (UTC +18)이 되는 건 아니겠죠,,?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  1. 10시간은 제가 이것저것 해보다가 그대로 올린 것 같습니다ㅎㅎ 수정하겠습니다!
  2. calendar.date 함수의 반환값이 Date 객체인데, Date 객체는 항상 UTC 기준으로 생성된다고 해요. Date의 시간대를 변경하려면 DateFormatter를 사용해야하는데 DateFormatter를 사용하는 것보다 시간을 더해주는 것이 오버헤드가 더 적어 기존 방법을 유지하는 것을 좋을 듯 합니다 !

덕분에 새로이 알고 갑니다!_!👍

meltsplit

This comment was marked as duplicate.

@yungu0010 yungu0010 merged commit cb3e4b4 into develop Oct 16, 2024
@yungu0010 yungu0010 deleted the fix/#399-deprecatedApi-and-Dateformatter branch October 16, 2024 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fix 문제 해결, 코드 수정 size/XL 윤서🍉
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Fix] deprecated API 반영 및 가입 일자 계산 로직 수정
3 participants