Skip to content

Commit

Permalink
Merge branch 'develop' into feat/#33
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/com/favoriteplace/app/controller/GuestBookController.java
#	src/main/java/com/favoriteplace/app/service/community/GuestBookCommandService.java
  • Loading branch information
ppparkta committed Feb 2, 2024
2 parents 0bb47fd + f6c520f commit 3c84e9d
Show file tree
Hide file tree
Showing 29 changed files with 506 additions and 212 deletions.
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ dependencies {
//image
implementation 'com.google.cloud:google-cloud-storage:2.20.1'
implementation 'org.springframework.cloud:spring-cloud-gcp-starter-storage:1.2.8.RELEASE'
implementation 'net.coobird:thumbnailator:0.4.14'
}

tasks.named('bootBuildImage') {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package com.favoriteplace.app.controller;

import com.favoriteplace.app.domain.Member;
import com.favoriteplace.app.dto.community.CommentResponseDto;
import com.favoriteplace.app.dto.community.GuestBookRequestDto;
import com.favoriteplace.app.dto.community.GuestBookResponseDto;
import com.favoriteplace.app.dto.community.PostResponseDto;
import com.favoriteplace.app.service.community.CommentCommandService;
import com.favoriteplace.app.service.community.CommentQueryService;
import com.favoriteplace.global.util.SecurityUtil;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/posts/guestbooks")
@RequiredArgsConstructor
public class GuestBookCommentController {
private final SecurityUtil securityUtil;
private final CommentQueryService commentQueryService;
private final CommentCommandService commentCommandService;

@GetMapping("/my-comments")
public GuestBookResponseDto.MyGuestBookCommentDto getMyComments(
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size
){
Member member = securityUtil.getUser();
Page<GuestBookResponseDto.MyGuestBookComment> myComments = commentQueryService.getMyGuestBookComments(member, page, size);
return GuestBookResponseDto.MyGuestBookCommentDto.builder()
.page((long) (myComments.getNumber()+1))
.size((long) myComments.getSize())
.comment(myComments.getContent())
.build();
}

@GetMapping("/{guestbook_id}/comments")
public CommentResponseDto.PostCommentDto getGuestBookComments(
@PathVariable("guestbook_id") Long guestbookId,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size,
HttpServletRequest request
){
Member member = securityUtil.getUserFromHeader(request);
Page<CommentResponseDto.PostComment> comments = commentQueryService.getGuestBookComments(page, size, member, guestbookId);
return CommentResponseDto.PostCommentDto.builder()
.page((long) comments.getNumber() +1)
.size((long) comments.getSize())
.comment(comments.getContent())
.build();
}

@PostMapping("/{guestbook_id}/comments")
public ResponseEntity<PostResponseDto.SuccessResponseDto> createGuestBookComment(
@PathVariable("guestbook_id") Long guestbookId,
@RequestBody GuestBookRequestDto.GuestBookCommentDto guestBookCommentDto
){
Member member = securityUtil.getUser();
commentCommandService.createGuestBookComment(member, guestbookId, guestBookCommentDto);
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글이 성공적으로 등록했습니다.").build(),
HttpStatus.OK
);
}

@PutMapping("/comments/{comment_id}")
public ResponseEntity<PostResponseDto.SuccessResponseDto> modifyGuestBookComment(
@PathVariable("comment_id") Long commentId,
@RequestBody GuestBookRequestDto.GuestBookCommentDto guestBookCommentDto
){
Member member = securityUtil.getUser();
commentCommandService.modifyGuestBookComment(member, commentId, guestBookCommentDto.getContent());
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글 성공적으로 수정했습니다.").build(),
HttpStatus.OK
);
}

@DeleteMapping("/comments/{comment_id}")
public ResponseEntity<PostResponseDto.SuccessResponseDto> deleteGuestBookComment(
@PathVariable("comment_id") Long commentId
){
Member member = securityUtil.getUser();
commentCommandService.deleteGuestBookComment(member, commentId);
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글 성공적으로 삭제했습니다.").build(),
HttpStatus.OK
);
}


}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
package com.favoriteplace.app.controller;

import com.favoriteplace.app.domain.Member;
import com.favoriteplace.app.dto.community.CommentResponseDto;
import com.favoriteplace.app.dto.community.GuestBookRequestDto;
import com.favoriteplace.app.dto.community.GuestBookResponseDto;
import com.favoriteplace.app.dto.community.PostResponseDto;
import com.favoriteplace.app.service.*;
import com.favoriteplace.app.service.MemberService;
import com.favoriteplace.app.service.PilgrimageQueryService;
import com.favoriteplace.app.service.community.CommentQueryService;
import com.favoriteplace.app.service.community.GuestBookCommandService;
import com.favoriteplace.app.service.community.GuestBookQueryService;
import com.favoriteplace.app.service.community.LikedPostService;
import com.favoriteplace.global.util.SecurityUtil;
import com.google.api.Http;
import jakarta.servlet.http.HttpServletRequest;
Expand All @@ -25,9 +29,9 @@
public class GuestBookController {
private final GuestBookQueryService guestBookQueryService;
private final GuestBookCommandService guestBookCommandService;
private final CommentService commentService;
private final MemberService memberService;
private final PilgrimageQueryService pilgrimageQueryService;
private final LikedPostService likedPostService;
private final SecurityUtil securityUtil;

@GetMapping()
Expand All @@ -44,22 +48,8 @@ public GuestBookResponseDto.TotalGuestBookDto getTotalGuestBooks(
.build();
}

@GetMapping("/my-comments")
public GuestBookResponseDto.MyGuestBookCommentDto getMyComments(
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size
){
Member member = securityUtil.getUser();
Page<GuestBookResponseDto.MyGuestBookComment> myComments = commentService.getMyGuestBookComments(member, page, size);
return GuestBookResponseDto.MyGuestBookCommentDto.builder()
.page((long) (myComments.getNumber()+1))
.size((long) myComments.getSize())
.comment(myComments.getContent())
.build();
}

@GetMapping("/my-posts")
public GuestBookResponseDto.MyGuestBookDto getMyPosts(
public GuestBookResponseDto.MyGuestBookDto getMyGuestBooks(
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size
){
Expand All @@ -85,22 +75,6 @@ public GuestBookResponseDto.DetailGuestBookDto getDetailGuestBook(
.build();
}

@GetMapping("/{guestbook_id}/comments")
public CommentResponseDto.PostCommentDto getGuestBookComments(
@PathVariable("guestbook_id") Long guestbookId,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size,
HttpServletRequest request
){
Member member = securityUtil.getUserFromHeader(request);
Page<CommentResponseDto.PostComment> comments = commentService.getGuestBookComments(page, size, member, guestbookId);
return CommentResponseDto.PostCommentDto.builder()
.page((long) comments.getNumber() +1)
.size((long) comments.getSize())
.comment(comments.getContent())
.build();
}

@PatchMapping("/{guestbook_id}")
public ResponseEntity<PostResponseDto.SuccessResponseDto> modifyGuestBook(
@PathVariable("guestbook_id") Long guestbookId,
Expand All @@ -127,25 +101,12 @@ public ResponseEntity<PostResponseDto.SuccessResponseDto> deleteGuestBook(
);
}

@PostMapping("/{guestbook_id}/comments")
public ResponseEntity<PostResponseDto.SuccessResponseDto> createGuestBookComment(
@PathVariable("guestbook_id") Long guestbookId,
@RequestBody GuestBookRequestDto.GuestBookCommentDto guestBookCommentDto
){
Member member = securityUtil.getUser();
guestBookCommandService.createGuestBookComment(member, guestbookId, guestBookCommentDto);
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("성지순례 인증글에 댓글이 성공적으로 추가되었습니다.").build(),
HttpStatus.OK
);
}

@PostMapping("/{guestbook_id}/like")
public ResponseEntity<PostResponseDto.SuccessResponseDto> modifyGuestBookLike(
@PathVariable("guestbook_id") Long guestbookId
){
Member member = securityUtil.getUser();
String message = guestBookCommandService.modifyGuestBookLike(member, guestbookId);
String message = likedPostService.modifyGuestBookLike(member, guestbookId);
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message(message).build(),
HttpStatus.OK
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,21 @@ public List<MyPageDto.MyBlockDto> getMyBlock(){

// 찜한 성지순례
@GetMapping("/guestbooks/like")
public MyPageDto.MyGuestBookDto getMyLikedBook(){
public List<MyPageDto.MyGuestBookDto> getMyLikedBook(){
Member member = securityUtil.getUser();
return myPageQueryService.getMyLikedBook(member);
}

// 인증한 성지순례
@GetMapping("/guestbooks/visited")
public MyPageDto.MyGuestBookDto getMyVisitedBook(){
public List<MyPageDto.MyGuestBookDto> getMyVisitedBook(){
Member member = securityUtil.getUser();
return myPageQueryService.getMyVisitedBook(member);
}

// 완료한 성지순례
@GetMapping("/guestbooks/done")
public MyPageDto.MyGuestBookDto getMyDoneBook(){
public List<MyPageDto.MyGuestBookDto> getMyDoneBook(){
Member member = securityUtil.getUser();
return myPageQueryService.getMyDoneBook(member);
}
Expand All @@ -75,4 +75,4 @@ public MyPageDto.MyModifyBlockDto modifyMemberBlock(
Member member = securityUtil.getUser();
return myPageCommandService.modifyMemberBlock(member, blockedMember);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package com.favoriteplace.app.controller;

import com.favoriteplace.app.domain.Member;
import com.favoriteplace.app.dto.community.CommentRequestDto;
import com.favoriteplace.app.dto.community.CommentResponseDto;
import com.favoriteplace.app.dto.community.PostResponseDto;
import com.favoriteplace.app.service.community.CommentCommandService;
import com.favoriteplace.app.service.community.CommentQueryService;
import com.favoriteplace.global.util.SecurityUtil;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/posts/free")
@RequiredArgsConstructor
public class PostCommentController {

private final SecurityUtil securityUtil;
private final CommentQueryService commentQueryService;
private final CommentCommandService commentCommandService;

@GetMapping("/my-comments")
public PostResponseDto.MyCommentDto getMyComments(
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size
){
Member member = securityUtil.getUser();
Page<PostResponseDto.MyComment> comments = commentQueryService.getMyPostComments(member, page, size);
return PostResponseDto.MyCommentDto.builder()
.page((long) comments.getNumber()+1)
.size((long) comments.getSize())
.comment(comments.getContent())
.build();
}

@GetMapping("/{post_id}/comments")
public CommentResponseDto.PostCommentDto getPostComments(
@PathVariable("post_id") Long postId,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size,
HttpServletRequest request
){
Member member = securityUtil.getUserFromHeader(request);
Page<CommentResponseDto.PostComment> comments = commentQueryService.getPostComments(member, page, size, postId);
return CommentResponseDto.PostCommentDto.builder()
.page((long)comments.getNumber()+1)
.size((long) comments.getSize())
.comment(comments.getContent())
.build();
}

@PostMapping("/{post_id}/comments")
public ResponseEntity<PostResponseDto.SuccessResponseDto> createPostComment(
@PathVariable("post_id") long postId,
@RequestBody CommentRequestDto dto
){
Member member = securityUtil.getUser();
commentCommandService.createPostComment(member, postId, dto.getContent());
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글을 성공적으로 등록했습니다.").build(),
HttpStatus.OK
);
}

@PutMapping("/comments/{comment_id}")
public ResponseEntity<PostResponseDto.SuccessResponseDto> modifyPostComment(
@PathVariable("comment_id") long commentId,
@RequestBody CommentRequestDto dto
){
Member member = securityUtil.getUser();
commentCommandService.modifyPostComment(member, commentId, dto.getContent());
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글을 성공적으로 수정했습니다.").build(),
HttpStatus.OK
);
}

@DeleteMapping("/comments/{comment_id}")
public ResponseEntity<PostResponseDto.SuccessResponseDto> deletePostComment(
@PathVariable("comment_id") long commentId
){
Member member = securityUtil.getUser();
commentCommandService.deletePostComment(member, commentId);
return new ResponseEntity<>(
PostResponseDto.SuccessResponseDto.builder().message("댓글을 성공적으로 삭제했습니다.").build(),
HttpStatus.OK
);
}


}
Loading

0 comments on commit 3c84e9d

Please sign in to comment.