Skip to content

Commit 56a2b01

Browse files
authored
Merge pull request #111 from SWU-Elixir/refactor/106-member-to-mypage-split
refactor: 마이페이지 관련 기능 멤버에서 분할
2 parents a22470d + 2947f33 commit 56a2b01

File tree

7 files changed

+1321
-1241
lines changed

7 files changed

+1321
-1241
lines changed

src/main/java/BE_Elixir/Elixir/domain/member/controller/MemberController.java

Lines changed: 0 additions & 204 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import BE_Elixir.Elixir.domain.member.entity.Member;
88
import BE_Elixir.Elixir.domain.member.entity.MemberDetails;
99
import 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;
1210
import BE_Elixir.Elixir.global.redis.RedisAuthService;
1311
import BE_Elixir.Elixir.global.response.CommonResponse;
1412
import 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

Comments
 (0)