-
Notifications
You must be signed in to change notification settings - Fork 1
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
[FEAT] 마이페이지 API 구현 #124
[FEAT] 마이페이지 API 구현 #124
Conversation
# 제목을 아랫줄에 작성, 제목 끝에 마침표 금지, 무엇을 했는지 명확하게 작성 ################ # 본문(추가 설명)을 아랫줄에 작성 ################ # 꼬릿말(footer)을 아랫줄에 작성 (관련된 이슈 번호 등 추가) ################ # 아이콘 코드 설명 # 🎨 style: 코드의 구조/형태 개선 # 🔥 remove: 코드/파일 삭제 # 🐛 bugfix: 버그 수정 # 🚑 hotfix: 긴급 수정 # ✨ feat: 새로운 기능 구현 # 📝 docs: 문서 추가/수정 # 🎉 init: 프로젝트 시작 # ✅ test: 테스트 추가/수정 # 🔖 release: 릴리즈/버전 태그 # 🔧 chore: 동작에 영향 없는 코드 or 변경 없는 변경사항(주석 추가 등) or 디렉토리 구조 변경 # ♻️ refactor: 코드 리팩토링, 전면 수정 # ⚡️ fix: 간단한 수정 ################
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아들 최영린입니다~ 설날 작업 넘 수고 많으셨습니다앙
if (isChild) return "딸"; | ||
else return "엄마"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p5;
갠취이긴 하지만 삼항연산자로 뺴도 좋아보여요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋은 의견 감사합니다 !!!
@@ -227,7 +264,7 @@ private List<QnA> getQnAListByParentchild(Parentchild parentchild) { | |||
return qnaList; | |||
} | |||
|
|||
private QnA getTodayQnAByParentchild(Parentchild parentchild) { | |||
protected QnA getTodayQnAByParentchild(Parentchild parentchild) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
q;
protected로 하신 이유가 궁금합니다~!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
흠흠 이게 긴 사연이 있는데요!! 일단 잘못 들어간 게 맞구요 ㅎㅎ
바꾸게 된 과정에 대해 설명을 드려보자면,
- 원래 유저 정보 조회를 QnAService 보다는 다른 서비스 클래스로 분리하는 게 맞다고 생각해서 기능 상으로 도메인이 더 부합한 ParentchildService에서 구현을 하고자 했습니다!
- 하지만 오늘의 질문, Parentchild 조회 등 동일한 로직이 QnAService에 여럿 쓰이고 있어 해당 로직을 protected로 열어두고 호출하려 했으나,, Service에서 다른 Service를 의존하는 상황 자체가 순환 참조를 발생시킬 우려가 있다고 판단했습니다.
- 결론! 일단 QnAService에서 구현을 해두고 주로 쓰이는 QnAService의 조회 로직을 분리하기 위해 전면 리팩토링을 진행하기로 했습니다 허헛
- 그래서 다시 private으로 바꾸겠습니다 .. 감사합니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
바쁜 와중에도 수고했슴당 🔥
"/kakao/**", "/login", "/reissue", | ||
"/qna/**", "onboard/**", "/home", "/dummy", | ||
"/qna/**", "onboard/**", "/home", "/dummy", "/user/me", | ||
// "/log-out", | ||
"/test", "/profile", "/health", "/actuator/health", | ||
"/alarm/qna", "/alarm/drink", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
생각해보니까 인증이 필요 없는 API들만 여기 추가되어야하는건데,
일단 테스트를 위해 다 추가해놨던게 그대로 있었네요 ...
다음에 한번에 싹 빼는걸로 합시당
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞아요 ,,ㅋㅋㅋㅋ 좋습니당
@@ -7,6 +7,8 @@ build/ | |||
!**/src/main/**/build/ | |||
!**/src/test/**/build/ | |||
|
|||
umbba-test.http |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
포스트맨이 아니라 IntelliJ의 .http 테스트 활용하신건가요!
신기해서 저도 찾아봤습니당
https://ksh-coding.tistory.com/97
@@ -0,0 +1 @@ | |||
. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요건 무슨 용도의 파일인가요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어엇 잘못 들어간 파일 같네요 삭제하겠습니다 !!
public static String getUserType(ParentchildRelation relation, boolean isChild) { | ||
if (relation.childGender.equals("여자")) { | ||
if (isChild) return "딸"; | ||
else return "엄마"; | ||
} else { | ||
if (isChild) return "아들"; | ||
else return "아빠"; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금 예시로 있는 DB가 딱 그런 케이슨데요 (어쩌다보니)
초대하는 측에서 분명 엄마랑 하겠다고 골랐는데, 초대 받는 상대가 자기 성별을 남자로 골라버린 경우죠
이 경우 성별이 남자여도 엄마로 표시하기로 정했던 것 같습니다 (사회적으로는 엄마일...수도.. 있으니까요?)
암튼 그래서 지금 DB에 엄마-아들 관계로 되어 있음 + 둘다 성별은 남자임 이런 상태인데
my_user_type을 아빠가 아닌 엄마로 표시해줄 수 있도록! 로직이 수정되면 좋을것 같습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네넵 그럼 User의 gender 필드 기준이 아닌, relation에 저장된 값과 isChild 기준으로 반환하는 로직으로 수정하겠습니다!!
long qnaCnt = qnaList.stream() | ||
.filter(qnA -> qnA.isChildAnswer() && qnA.isParentAnswer()) | ||
.count(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DB 수정 완료해서 getCount만으로 처리해도 될것같습니다!
@@ -59,6 +59,15 @@ public static ParentchildRelation relation(String gender, String relationInfo, b | |||
throw new CustomException(ErrorType.INVALID_PARENT_CHILD_RELATION_INFO); | |||
} | |||
|
|||
// 아들 | 딸 | 엄마 | 아빠 구분 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아주 좋습니당!
📌 관련 이슈
closed #117
✨ 어떤 이유로 변경된 내용인지
마이페이지의 유저와 매칭 유저(부모-자식) 정보를 반환하는 API 개발
_user_type
으로 반환Test 결과
🙏 검토 혹은 리뷰어에게 남기고 싶은 말