77import BE_Elixir .Elixir .domain .member .entity .Member ;
88import BE_Elixir .Elixir .domain .member .entity .MemberDetails ;
99import BE_Elixir .Elixir .domain .member .service .MemberService ;
10- import BE_Elixir .Elixir .domain .recipe .dto .response .RecipeImageResponseDTO ;
11- import BE_Elixir .Elixir .global .exception .ErrorCode ;
1210import BE_Elixir .Elixir .global .redis .RedisAuthService ;
1311import BE_Elixir .Elixir .global .response .CommonResponse ;
1412import BE_Elixir .Elixir .global .security .JwtProvider ;
@@ -123,116 +121,6 @@ public ResponseEntity<CommonResponse<?>> withdrawal(
123121 return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "회원탈퇴 성공" ));
124122 }
125123
126- // 회원 정보 조회 (이메일, 닉네임, 젠더, 생년, 프로필 url)
127- @ GetMapping ()
128- public ResponseEntity <CommonResponse <MemberResponseDTO >> getMemberInfo (
129- @ AuthenticationPrincipal MemberDetails memberDetails ,
130- HttpServletRequest request )
131- {
132- String email = memberDetails .getUsername ();
133- log .info ("회원 정보 조회 요청 - email: {}" , email );
134-
135- MemberResponseDTO response = memberService .getMemberInfo (email );
136- log .info ("회원 정보 조회 성공 - email: {}" , email );
137-
138- return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "회원조회 성공" , response ));
139- }
140-
141- // 로그인한 사용자 프로필 수정 시, 얻은 칭호 목록 조회
142- @ GetMapping ("/achievement/title" )
143- public ResponseEntity <CommonResponse <MemberTitlesResponseDTO >> getTitles (
144- @ AuthenticationPrincipal MemberDetails memberDetails
145- ) {
146- Long memberId = memberDetails .getId ();
147- log .info ("칭호 목록 조회 요청 - id: {}" , memberId );
148-
149- List <String > titles = memberService .getTitles (memberId );
150- MemberTitlesResponseDTO dto = MemberTitlesResponseDTO .builder ()
151- .memberId (memberId )
152- .titles (titles )
153- .build ();
154-
155- log .info ("칭호 목록 조회 성공 - id: {}" , memberId );
156-
157- return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "칭호 목록 성공" , dto ));
158- }
159-
160- // 로그인한 사용자 프로필 수정하기
161- @ PatchMapping (value ="/profile" , consumes = MediaType .MULTIPART_FORM_DATA_VALUE , produces = MediaType .APPLICATION_JSON_VALUE )
162- public ResponseEntity <CommonResponse <MemberResponseDTO >> updateMemberProfile (
163- @ RequestPart (value = "dto" , required = false ) MemberProfileRequestDTO dto ,
164- @ RequestPart (value = "profileImage" , required = false ) MultipartFile profileImage ,
165- @ AuthenticationPrincipal MemberDetails memberDetails
166- ) {
167- Long memberId = memberDetails .getId ();
168- log .info ("사용자 프로필 수정 요청 - id: {}" , memberId );
169-
170- MemberResponseDTO responseDTO = memberService .updateMemberProfile (memberId , dto , profileImage );
171-
172- log .info ("사용자 프로필 수정 성공 - id: {}" , memberId );
173-
174- return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "사용자 프로필 수정 성공" , responseDTO ));
175- }
176-
177- // 로그인한 사용자 프로필 조회 (칭호, 닉네임, 프로필사진, 팔로워 수, 팔로잉 수)
178- @ GetMapping ("/profile" )
179- public ResponseEntity <CommonResponse <MemberProfileResponseDTO >> getMemberProfile (
180- @ AuthenticationPrincipal MemberDetails memberDetails
181- ) {
182- Long memberId = memberDetails .getId ();
183- log .info ("로그인한 사용자의 프로필 조회 요청 - id: {}" , memberId );
184-
185- MemberProfileResponseDTO responseDTO = memberService .getMemberProfile (memberId );
186-
187- log .info ("로그인한 사용자의 프로필 조회 성공 - id: {}" , memberId );
188-
189- return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "로그인한 사용자의 프로필 조회 성공" , responseDTO ));
190- }
191-
192-
193- // 특정 사용자 프로필 조회 (칭호, 닉네임, 프로필사진, 팔로워 수, 팔로잉 수)
194- @ GetMapping ("/{memberId}/profile" )
195- public ResponseEntity <CommonResponse <MemberProfileResponseDTO >> getOtherMemberProfile (
196- @ PathVariable ("memberId" ) Long memberId ,
197- @ AuthenticationPrincipal MemberDetails memberDetails
198- ) {
199- log .info ("특정 사용자의 프로필 조회 요청 - id: {}" , memberId );
200-
201- MemberProfileResponseDTO responseDTO = memberService .getMemberProfile (memberId );
202-
203- log .info ("특정 사용자의 프로필 조회 성공 - id: {}" , memberId );
204-
205- return ResponseEntity .ok (CommonResponse .success (HttpStatus .OK .value (), HttpStatus .OK .toString (), "로그인한 사용자의 프로필 조회 성공" , responseDTO ));
206- }
207-
208- // 로그인한 사용자가 업로드한 모든 레시피 조회하기
209- @ GetMapping ("/recipe" )
210- public ResponseEntity <CommonResponse <List <RecipeImageResponseDTO >>> getMyRecipes (
211- @ AuthenticationPrincipal MemberDetails memberDetails
212- ) {
213- Long memberId = memberDetails .getId ();
214-
215- List <RecipeImageResponseDTO > recipes = memberService .getMyRecipes (memberId );
216- return ResponseEntity .ok (CommonResponse .success (
217- HttpStatus .OK .value (), HttpStatus .OK .toString (), "내 레시피 조회 성공" , recipes ));
218-
219- }
220-
221-
222- // 로그인한 사용자가 스크랩한 레시피 조회하기
223- @ GetMapping ("/recipe/scrap" )
224- public ResponseEntity <CommonResponse <List <RecipeImageResponseDTO >>> getMyScrapRecipes (
225- @ AuthenticationPrincipal MemberDetails memberDetails
226- ) {
227- Long memberId = memberDetails .getId ();
228-
229- List <RecipeImageResponseDTO > scrappedRecipes = memberService .getMyScrapRecipes (memberId );
230-
231- return ResponseEntity .ok (CommonResponse .success (
232- HttpStatus .OK .value (), HttpStatus .OK .toString (),
233- "내가 스크랩한 레시피 조회 성공" , scrappedRecipes ));
234- }
235-
236124 // 팔로우 하기
237125 @ PostMapping ("/{targetMemberId}/follow" )
238126 public ResponseEntity <CommonResponse <?>> follow (
@@ -291,7 +179,6 @@ public ResponseEntity<CommonResponse<List<MemberSummaryDTO>>> getFollower(
291179 "현 사용자의 팔로워 목록 조회 성공" , dto ));
292180 }
293181
294-
295182 // (특정 사용자의) 팔로잉 목록 조회하기 (사용자가 팔로우하는 목록)
296183 @ GetMapping ("/{targetMemberId}/following" )
297184 public ResponseEntity <CommonResponse <List <MemberSummaryDTO >>> getFollowingByMemberId (
@@ -304,7 +191,6 @@ public ResponseEntity<CommonResponse<List<MemberSummaryDTO>>> getFollowingByMemb
304191 "특정 사용자의 팔로잉 목록 조회 성공" , dto ));
305192 }
306193
307-
308194 // (특정 사용자의) 팔로우 목록 조회하기 (사용자를 팔로잉하는 목록)
309195 @ GetMapping ("/{targetMemberId}/follower" )
310196 public ResponseEntity <CommonResponse <List <MemberSummaryDTO >>> getFollowerByMemberId (
@@ -316,94 +202,4 @@ public ResponseEntity<CommonResponse<List<MemberSummaryDTO>>> getFollowerByMembe
316202 HttpStatus .OK .value (), HttpStatus .OK .toString (),
317203 "특정 사용자의 팔로워 목록 조회 성공" , dto ));
318204 }
319-
320- // 로그인한 사용자의 모든 챌린지 업적 정보 조회
321- @ GetMapping ("/achievement" )
322- public ResponseEntity <CommonResponse <List <MemberAchievementResponseDTO >>> getAllAchievements (
323- @ AuthenticationPrincipal MemberDetails memberDetails
324- ) {
325- Long memberId = memberDetails .getId ();
326-
327- List <MemberAchievementResponseDTO > achievements = memberService .getAllAchievements (memberId );
328-
329- return ResponseEntity .ok (CommonResponse .success (
330- HttpStatus .OK .value (), HttpStatus .OK .toString (),
331- "모든 챌린지 업적 조회 성공" , achievements ));
332- }
333-
334- // 로그인한 사용자의 달성한 업적 최신 3개 조회하기
335- @ GetMapping ("/achievement/top3" )
336- public ResponseEntity <CommonResponse <List <MemberAchievementResponseDTO >>> getTop3Achievements (
337- @ AuthenticationPrincipal MemberDetails memberDetails
338- ) {
339- Long memberId = memberDetails .getId ();
340-
341- List <MemberAchievementResponseDTO > top3Achievements = memberService .getTop3Achievements (memberId );
342-
343- return ResponseEntity .ok (CommonResponse .success (
344- HttpStatus .OK .value (), HttpStatus .OK .toString (),
345- "최근 업적 3개 조회 성공" , top3Achievements ));
346- }
347-
348- // 로그인한 사용자의 설문조사 결과 조회하기
349- @ GetMapping ("/survey" )
350- public ResponseEntity <CommonResponse <SurveyResponseDTO >> getSurvey (
351- @ AuthenticationPrincipal MemberDetails memberDetails
352- ) {
353- Long memberId = memberDetails .getId ();
354-
355- SurveyResponseDTO responseDTO = memberService .getSurvey (memberId );
356-
357- return ResponseEntity .ok (CommonResponse .success (
358- HttpStatus .OK .value (), HttpStatus .OK .toString (),
359- "설문조사 결과 조회 성공, 회원 ID: " + memberId , responseDTO ));
360- }
361-
362- // 로그인한 사용자의 설문조사 결과 수정하기
363- @ PutMapping ("/survey" )
364- public ResponseEntity <CommonResponse <SurveyResponseDTO >> updateSurvey (
365- @ RequestBody SurveyRequestDTO dto ,
366- @ AuthenticationPrincipal MemberDetails memberDetails
367- ) {
368- Long memberId = memberDetails .getId ();
369-
370- SurveyResponseDTO responseDTO = memberService .updateSurvey (memberId , dto );
371-
372- return ResponseEntity .ok (CommonResponse .success (
373- HttpStatus .OK .value (), HttpStatus .OK .toString (),
374- "설문조사 수정 성공, 회원 ID: " + memberId , responseDTO ));
375- }
376-
377- // 다른 사용자가 업로드한 모든 레시피 조회하기
378- @ GetMapping ("/{memberId}/recipes" )
379- public ResponseEntity <CommonResponse <List <RecipeImageResponseDTO >>> getUserRecipes (
380- @ PathVariable ("memberId" ) Long memberId
381- ) {
382- List <RecipeImageResponseDTO > recipes = memberService .getUserRecipes (memberId );
383- return ResponseEntity .ok (CommonResponse .success (
384- HttpStatus .OK .value (), HttpStatus .OK .toString (), "다른 사용자 레시피 조회 성공" , recipes ));
385-
386- }
387-
388- // 다른 사용자의 모든 챌린지 업적 정보 조회하기
389- @ GetMapping ("/{memberId}/achievements" )
390- public ResponseEntity <CommonResponse <List <MemberAchievementResponseDTO >>> getAllAchievementsByMemberId (
391- @ PathVariable Long memberId
392- ) {
393- List <MemberAchievementResponseDTO > achievements = memberService .getAllAchievementsByMemberId (memberId );
394- return ResponseEntity .ok (CommonResponse .success (
395- HttpStatus .OK .value (), HttpStatus .OK .toString (),
396- "다른 사용자의 모든 업적 조회 성공" , achievements ));
397- }
398-
399- // 다른 사용자의 최근 3개 업적 조회하기
400- @ GetMapping ("/{memberId}/achievements/top3" )
401- public ResponseEntity <CommonResponse <List <MemberAchievementResponseDTO >>> getTop3AchievementsByMemberId (
402- @ PathVariable Long memberId
403- ) {
404- List <MemberAchievementResponseDTO > achievements = memberService .getTop3AchievementsByMemberId (memberId );
405- return ResponseEntity .ok (CommonResponse .success (
406- HttpStatus .OK .value (), HttpStatus .OK .toString (),
407- "다른 사용자의 최근 업적 3개 조회 성공" , achievements ));
408- }
409205}
0 commit comments