Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public enum SuccessStatus implements BaseCode {

//Post
POST_DELETE_OK(HttpStatus.OK, "POST2001", "게시글이 성공적으로 삭제되었습니다."),
INQUERY_POST_OK(HttpStatus.OK, "POST201", "게시글 전체를 불러왔습니다."),

//Comment
COMMENT_POST_OK(HttpStatus.OK, "COMMENT2001", "댓글이 성공적으로 달렸습니다."),
Expand All @@ -32,13 +33,12 @@ public enum SuccessStatus implements BaseCode {
INQUERY_DATE_CALENDAR_OK(HttpStatus.OK,"COMMON200", "기록을 불러왔습니다."),
DELETE_RECORD_OK(HttpStatus.OK, "COMMON200", "기록이 성공적으로 삭제되었습니다."),


//추천
RECOMMEND_OK(HttpStatus.OK, "COMMON200", "추천이 완료되었습니다."),


;


private final HttpStatus httpStatus;
private final String code;
private final String message;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
@AllArgsConstructor
public class Post extends BaseEntity {


@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id; // id
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +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;

public interface PostService {
import java.time.LocalDateTime;
import java.util.List;

Post AddPost(String title, String body, String imageUrl, Member member); //게시글 등록
public interface PostService {

Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member); //게시글 등록
//List<PostInfoDTO> getPostInfo();
//PostResponseDTO.getPostResponseDTO getPost();
void DeletePost(long id); //게시글 삭제
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,65 @@
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
public class PostServiceImpl implements PostService {

private final PostRepository postRepository;
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
public void DeletePost(long id) {
Post post = postRepository.findById(id).orElseThrow(() ->new PostHandler(ErrorStatus.POST_NOT_FOUND));
postRepository.delete(post);
} // 게시글 삭제
}

/*@Override
@Transactional
public List<PostInfoDTO> getPostInfo(){
List<Post> 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){

}*/
}
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -40,8 +42,9 @@ ApiResponse<PostResponseDTO.addPostResponseDTO> 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));
}

Expand All @@ -51,4 +54,11 @@ public ApiResponse<Void> DeletePost(@PathVariable(name = "postId") long postId){
postService.DeletePost(postId);
return ApiResponse.of(SuccessStatus.POST_DELETE_OK, null);
}
}

@GetMapping("/api/post/all")
@Operation
public ApiResponse<PostResponseDTO.getPostResponseDTO> getAllPosts() {
PostResponseDTO.getPostResponseDTO response = postService.getPost();
return ApiResponse.of(SuccessStatus.INQUERY_POST_OK,response);
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

public class PostRequestDTO {

@Getter
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {

Expand All @@ -15,4 +14,11 @@ public static class addPostResponseDTO{
long postId;
}

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public static class getPostResponseDTO{
private List<PostInfoDTO> posts;
}
}
Loading