Skip to content

Commit

Permalink
Merge pull request #24 from Likelion-Kwangwoon/Board
Browse files Browse the repository at this point in the history
Board
  • Loading branch information
ImNuam authored Apr 8, 2023
2 parents 3b270d8 + e6e857e commit 8391837
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 18 deletions.
Binary file added images/20230330/691422510048300.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
import com.likelion.dub.common.BaseResponseStatus;
import com.likelion.dub.domain.Club;
import com.likelion.dub.domain.Member;
import com.likelion.dub.common.BaseResponseStatus;
import com.likelion.dub.domain.Post;
import com.likelion.dub.domain.dto.PostEditRequest;
import com.likelion.dub.domain.dto.PostWritingRequest;
import com.likelion.dub.service.MemberService;
import com.likelion.dub.service.PostService;
Expand Down Expand Up @@ -53,7 +55,7 @@ public BaseResponse<List<Post>> getAllClubs() {
@PostMapping("/write-post")
public BaseResponse<String> writePost(@RequestPart(value = "json") PostWritingRequest dto, @RequestPart(value = "images", required = false) List<MultipartFile> files) throws BaseException {
try {
postService.writePost( dto.getTitle(), dto.getContent(), dto.getCategory(), files);
postService.writePost(dto.getTitle(), dto.getContent(), dto.getCategory(), files);
return new BaseResponse<>("글 작성 성공");
} catch (BaseException e) {
return new BaseResponse<>(e.getStatus());
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/likelion/dub/domain/Club.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class Club {
@Column
private String clubName;

@OneToOne(mappedBy = "club")
@OneToOne(fetch=FetchType.LAZY)
private Post post;


Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/likelion/dub/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@ public void setClub(Club club) {
this.club = club;
}


}
8 changes: 3 additions & 5 deletions src/main/java/com/likelion/dub/domain/Post.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.likelion.dub.domain;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.*;

import java.util.ArrayList;
import java.util.List;
Expand All @@ -14,6 +11,7 @@
@Entity
@AllArgsConstructor
@Getter
@Setter
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand All @@ -29,7 +27,7 @@ public class Post {
private String content;


@OneToOne(fetch = FetchType.LAZY)
@OneToOne(mappedBy="post")
@JoinColumn(name = "club_id")
private Club club;

Expand Down
17 changes: 17 additions & 0 deletions src/main/java/com/likelion/dub/domain/dto/PostEditRequest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.likelion.dub.domain.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class PostEditRequest {
@JsonProperty
private String title;
@JsonProperty
private String content;
@JsonProperty
private int category;

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ public interface PostRepository extends JpaRepository<Post, Long> {
Optional<Post> findById(Long id);
;

// Optional<Member> findByEmail(String email);
// Optional<Member> findByEmail(String email);
}
2 changes: 2 additions & 0 deletions src/main/java/com/likelion/dub/service/FileHandler.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.likelion.dub.service;

import com.likelion.dub.domain.Image;
import com.likelion.dub.domain.Post;
import com.likelion.dub.domain.dto.ImageDto;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -88,6 +89,7 @@ else if(contentType.contains("image/png"))
imageDto.getFileSize()
);


// 생성 후 리스트에 추가
filelist.add(photo);

Expand Down
42 changes: 33 additions & 9 deletions src/main/java/com/likelion/dub/service/PostService.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.likelion.dub.domain.Image;
import com.likelion.dub.domain.Member;
import com.likelion.dub.domain.Post;
import com.likelion.dub.domain.dto.PostEditRequest;
import com.likelion.dub.exception.AppException;
import com.likelion.dub.exception.Errorcode;
import com.likelion.dub.repository.ImageRepository;
Expand All @@ -27,7 +28,6 @@
public class PostService {
private final PostRepository postRepository;
private final ImageRepository imageRepository;

private final MemberRepository memberRepository;
private final FileHandler fileHandler;

Expand Down Expand Up @@ -59,7 +59,9 @@ public BaseResponse<String> writePost(String title, String content,int category,
.title(title)
.content(content)
.category(category);

//Post post = Post.builder()
// .clubName(clubName)
// .image(imageList)
for (Image image : imageList) {
postBuilder.addImage(image);
}
Expand Down Expand Up @@ -90,9 +92,9 @@ public Post readPost(Long id) throws BaseException{

public BaseResponse<String> deletePost(Long id) throws BaseException {
// 저장 되어있는 post 가져오기
Post post = postRepository.findById(id).orElseThrow(()->
Post post = postRepository.findById(id).orElseThrow(() ->
new BaseException(BaseResponseStatus.NOT_EXISTS_POST));

// 로그인 정보 가져오기
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
//jwt token 오류
Expand All @@ -107,19 +109,41 @@ public BaseResponse<String> deletePost(Long id) throws BaseException {
String clubName = member.getClub().getClubName();
// 로그인 된 post
Post member_post = postRepository.findByClubName(clubName).orElseThrow();


//post id 가 같은지 검사, 같으면 삭제, 다르면 오류출력
if (member_post.getId() == id) {
postRepository.deleteById(id);
return new BaseResponse<>("삭제 완료");
}
else{
} else {
return new BaseResponse(BaseResponseStatus.INVALID_MEMBER_JWT);
}
}
public void editPost(String email, String newTitle, String newContent, int newCategory, List<MultipartFile> newfiles) throws BaseException {
Member member = memberRepository.findByEmail(email)
.orElseThrow(() -> new BaseException(BaseResponseStatus.NO_SUCH_MEMBER_EXIST));
String clubName = member.getClub().getClubName();
Post post = postRepository.findByClubName(clubName)
.orElseThrow(()-> new BaseException(BaseResponseStatus.FAILED_GET_POST));
List<Image> imageList = fileHandler.parseFileInfo(newfiles);
post.setTitle(newTitle);
post.setContent(newContent);
post.setCategory(newCategory);
post.setImage(imageList);
postRepository.save(post);

}


// public Member loadMemberByEmail(String email) throws BaseException {
// Member selectedUser = postRepository.findByEmail(email)
// .orElseThrow(() -> new BaseException(BaseResponseStatus.WRONG_EMAIL));
//
// return selectedUser;
//
// }

}


}

2 changes: 1 addition & 1 deletion src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# MySQL ?? ??
spring.datasource.url=jdbc:mysql://localhost:3306/new_schema
spring.datasource.username=root
spring.datasource.password=whqkr44##
spring.datasource.password=(120938yhok!)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# Hibernate ??
Expand Down

0 comments on commit 8391837

Please sign in to comment.