From d2d7a17f123c5b2ee7234c97a0716395b5add7c0 Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 06:34:17 +0900 Subject: [PATCH 1/3] =?UTF-8?q?date=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/Midnight/Snacker/domain/Post.java | 6 ++++-- .../service/PostService/PostService.java | 4 +++- .../service/PostService/PostServiceImpl.java | 16 +++++++++++----- .../web/controller/PostController.java | 9 ++++++++- .../Snacker/web/dto/PostDTO/PostInfoDTO.java | 19 +++++++++++++++++++ .../web/dto/PostDTO/PostRequestDTO.java | 2 ++ .../web/dto/PostDTO/PostResponseDTO.java | 14 ++++++++++---- 7 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostInfoDTO.java diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/domain/Post.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/domain/Post.java index 78a6c15..08bb97a 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/domain/Post.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/domain/Post.java @@ -19,7 +19,6 @@ @AllArgsConstructor public class Post extends BaseEntity { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; // id @@ -31,7 +30,10 @@ public class Post extends BaseEntity { private String body; @Column(nullable = true) - private String image_url; //사진 + private String imageUrl; //사진 + + @Column(nullable = false) + private LocalDateTime date = LocalDateTime.now(); @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "memberId", nullable = false) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java index a863c7c..81c651f 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java @@ -3,9 +3,11 @@ import com.example.Midnight.Snacker.domain.Post; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + public interface PostService { - Post AddPost(String title, String body, String imageUrl, Member member); //게시글 등록 + Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member); //게시글 등록 void DeletePost(long id); //게시글 삭제 } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java index fd5b0bf..c5e4aba 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java @@ -9,6 +9,8 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + @Service @AllArgsConstructor public class PostServiceImpl implements PostService { @@ -17,15 +19,19 @@ public class PostServiceImpl implements PostService { private final MemberRepository memberRepository; @Override - public Post AddPost(String title, String body, String imageUrl, Member member) { + public Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member) { Post newPost = Post.builder() .title(title) .body(body) .member(member) - .image_url(imageUrl).build(); - System.out.println(newPost.getTitle()+newPost.getBody()+newPost.getImage_url()); - postRepository.save(newPost); - return newPost; + .date(date) + .imageUrl(imageUrl) + .build(); + //System.out.println(newPost.getTitle()+newPost.getBody()+newPost.getImage_url()); + + Post savedPost = postRepository.save(newPost); + + return savedPost; } //게시글 등록 @Override diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java index adfcd39..5c8e887 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java @@ -22,6 +22,8 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.time.LocalDateTime; + @RestController @RequiredArgsConstructor public class PostController { @@ -40,8 +42,9 @@ ApiResponse AddPost(@Parameter(name = "user" String title = request.getTitle(); String body = request.getBody(); + LocalDateTime date = LocalDateTime.now(); - Post post = postService.AddPost(title, body, imageUrl, member); + Post post = postService.AddPost(title, body, imageUrl,date ,member); return ApiResponse.onSuccess(PostConverter.addPostToResultDTO(post)); } @@ -51,4 +54,8 @@ public ApiResponse DeletePost(@PathVariable(name = "postId") long postId){ return ApiResponse.of(SuccessStatus.POST_DELETE_OK, null); } + /*@GetMapping("/api/post/all") + @Operation + public ApiResponse getAllPosts(){} +*/ } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostInfoDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostInfoDTO.java new file mode 100644 index 0000000..073269f --- /dev/null +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostInfoDTO.java @@ -0,0 +1,19 @@ +package com.example.Midnight.Snacker.web.dto.PostDTO; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; + +@Getter +@AllArgsConstructor +@Setter +public class PostInfoDTO { + private final Long postId; + private final String title; + private final String body; + private final LocalDate date; + private final String imageUrl; + private final int commentCount; +} diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostRequestDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostRequestDTO.java index 9e29eb1..9ea06c3 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostRequestDTO.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostRequestDTO.java @@ -5,6 +5,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; +import java.util.List; + public class PostRequestDTO { @Getter diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java index 9198fb9..0442529 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java @@ -1,9 +1,8 @@ package com.example.Midnight.Snacker.web.dto.PostDTO; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; +import lombok.*; + +import java.util.List; public class PostResponseDTO { @@ -15,4 +14,11 @@ public static class addPostResponseDTO{ long postId; } + @Setter + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class getPostResponseDTO{ + private List posts; + } } From c71956a571840a50422284d065bd0710e323db8a Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 07:01:01 +0900 Subject: [PATCH 2/3] before merge --- .../apiPayload/code/status/SuccessStatus.java | 2 +- .../service/PostService/PostService.java | 7 ++++- .../service/PostService/PostServiceImpl.java | 29 +++++++++++++++++++ .../web/controller/PostController.java | 8 +++-- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/apiPayload/code/status/SuccessStatus.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/apiPayload/code/status/SuccessStatus.java index 9747627..49aae02 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/apiPayload/code/status/SuccessStatus.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/apiPayload/code/status/SuccessStatus.java @@ -19,7 +19,7 @@ public enum SuccessStatus implements BaseCode { //Post POST_DELETE_OK(HttpStatus.OK, "POST2001", "게시글이 성공적으로 삭제되었습니다."), - + INQUERY_POST_OK(HttpStatus.OK, "POST201", "게시글 전체를 불러왔습니다."), //캘린더 ADD_CALENDAR_OK(HttpStatus.OK, "COMMON200", "달력에 기록이 되었습니다."), INQUERY_MONTH_CALENDAR_OK(HttpStatus.OK, "COMMON200", "달력을 불러왔습니다."), diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java index 81c651f..7b35adf 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java @@ -1,13 +1,18 @@ package com.example.Midnight.Snacker.service.PostService; import com.example.Midnight.Snacker.domain.Member; import com.example.Midnight.Snacker.domain.Post; +import com.example.Midnight.Snacker.web.dto.PostDTO.PostInfoDTO; +import com.example.Midnight.Snacker.web.dto.PostDTO.PostRequestDTO; +import com.example.Midnight.Snacker.web.dto.PostDTO.PostResponseDTO; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; public interface PostService { Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member); //게시글 등록 - + List getPostInfo(); + PostResponseDTO.getPostResponseDTO getPost(); void DeletePost(long id); //게시글 삭제 } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java index c5e4aba..4dc4ed8 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java @@ -6,10 +6,16 @@ import com.example.Midnight.Snacker.repository.MemberRepository; import com.example.Midnight.Snacker.repository.PostRepository; import com.example.Midnight.Snacker.apiPayload.code.status.ErrorStatus; +import com.example.Midnight.Snacker.web.controller.PostController; +import com.example.Midnight.Snacker.web.dto.PostDTO.PostInfoDTO; +import com.example.Midnight.Snacker.web.dto.PostDTO.PostResponseDTO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.List; @Service @AllArgsConstructor @@ -17,6 +23,7 @@ public class PostServiceImpl implements PostService { private final PostRepository postRepository; private final MemberRepository memberRepository; + //private fin @Override public Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member) { @@ -40,4 +47,26 @@ public void DeletePost(long id) { postRepository.delete(post); } // 게시글 삭제 + @Override + @Transactional + public List getPostInfo(){ + List posts = postRepository.findAll(); + + return posts.stream() + . map(post -> new PostInfoDTO( + post.getId(), + post.getTitle(), + post.getBody(), + post.getDate().toLocalDate(), + post.getImageUrl(), + post. + )).toList(); + } + + + @Override + @Transactional + public PostResponseDTO.getPostResponseDTO getPost(Member member){ + + } } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java index 5c8e887..c64d14c 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/PostController.java @@ -54,8 +54,10 @@ public ApiResponse DeletePost(@PathVariable(name = "postId") long postId){ return ApiResponse.of(SuccessStatus.POST_DELETE_OK, null); } - /*@GetMapping("/api/post/all") + @GetMapping("/api/post/all") @Operation - public ApiResponse getAllPosts(){} -*/ + public ApiResponse getAllPosts() { + PostResponseDTO.getPostResponseDTO response = postService.getPost(); + return ApiResponse.of(SuccessStatus.INQUERY_POST_OK,response); + } } From 23042e5d4318e45829484748fd9df3ee35561d81 Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 07:03:53 +0900 Subject: [PATCH 3/3] merge --- .../Midnight/Snacker/service/PostService/PostService.java | 4 ++-- .../Snacker/service/PostService/PostServiceImpl.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java index 7b35adf..7392411 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostService.java @@ -12,7 +12,7 @@ public interface PostService { Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member); //게시글 등록 - List getPostInfo(); - PostResponseDTO.getPostResponseDTO getPost(); + //List getPostInfo(); + //PostResponseDTO.getPostResponseDTO getPost(); void DeletePost(long id); //게시글 삭제 } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java index e92b684..45feab3 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java @@ -23,7 +23,6 @@ public class PostServiceImpl implements PostService { private final PostRepository postRepository; private final MemberRepository memberRepository; - @Override public Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member) { Post newPost = Post.builder() @@ -46,7 +45,7 @@ public void DeletePost(long id) { postRepository.delete(post); } // 게시글 삭제 - @Override + /*@Override @Transactional public List getPostInfo(){ List posts = postRepository.findAll(); @@ -67,5 +66,5 @@ public List getPostInfo(){ @Transactional public PostResponseDTO.getPostResponseDTO getPost(Member member){ - } + }*/ }