이제 게시물 수정 삭제를 만들건대
다시 한번 summernote가 필요하다
프런트 서버
사진 올리는 함수는 jslib로 뺐다
그리고 수정 요청을 하면 글자 수 체크를 해야 하는데
summernote에서 글만 빼오는 방법을 아직 모른다
그래서 패스!
백엔드 서버
글 수정
boardService
글을 조회한다
articleDto articleDto=articleDao.findById(tryUpdateArticleDto.getBid()).orElseThrow(()>new IllegalArgumentException("존재하지 않는 게시글입니다"));
로그인 정보를 가져온다
userDto userDto=userService.sendUserDto();
로그인이메일=작성자인지 검사한다
confrimUpdateArticle(articleDto.getBemail(),userDto.getEmail());
기존 글에 사진이 있는지 가져온다
새 글에 사진이 있는지 가져온다
List<String>originImage=utillService.getImgSrc(articleDto.getTextarea());
List<String>newImages=utillService.getImgSrc(tryUpdateArticleDto.getTextarea());
비교한다
fileUploadService.CompareImgs(originImage, newImages);
업데이트
fileUploadService
사진이 기존/수정 변화 없음
if(newImages.isEmpty()&&originImage.isEmpty()){
사진이 기존 있음/수정 없음
else if(newImages.isEmpty()&&!originImage.isEmpty()){
deleteImages(originImage);
기존 게시물 사진 전부 삭제
사진이 기존과/수정이 다름
for(int i=0;i<originSize;i++){
String ori=originImage.get(i);
for(int ii=0;ii<newSize;ii++){
reuqestDeleteImage(ori);
비교해서 기존 글에서 없어진 사진을 클라우드에서 지운다
deleteImages/reuqestDeleteImage
if(articleImages.isEmpty()){가있는이유는
댓글/글 삭제 시에도 사용하는 함수여서 이다
글 삭제
boardService
글 조회
articleDto articleDto=articleDao.findById(tryDeleteArticleDto.getBid()).orElseThrow(()>new IllegalArgumentException("존재하지 않는 게시글입니다"));
로그인 이메일=작성자 일치하는지 확인
confrimUpdateArticle(articleDto.getBemail(),userDto.getEmail());
사진 가져오기
List<String>articleImages=utillService.getImgSrc(articleDto.getTextarea());
사진삭제
fileUploadService.deleteImages(articleImages);
(위에if(articleImages.isEmpty()){가 있으므로 사진이 없다면 그냥 스킵됨)
글+댓글 삭제
articleDao.deleteArticleJoinComent(bid);
글이 삭제될 때
그 글의 댓글들도 역시 삭제되어야 한다
수정과 아주 비슷하다!
사실 이런 거 인터페이스로 합치면 될 거 같기도 하다
dao
테스트
수정 테스트
내용이 잘 바뀌었다
vscode
잘 추려냈다!
자 이제 삭제를 할 건데 클라우드도 같이 봐보자
사실 깜빡하고 수정 시 before사진 못 찍어서 ㅋㅋ
삭제할 때 함께 봐보자
삭제되야할 파일 이름
2021-10-0335af0792-7faa-4d25-a0b3-7c9539e5629f스크린샷(1721).png
2021-10-041691e938-011c-480d-a7c5-d2deff0ee7e6사본 -스크린샷(1735).png
2021-10-0474c9d10d-d56f-4137-bd4e-03949638b828사본 -스크린샷(1731).png
클라우드 검색
3개의 사진이 그대로 있다
댓글
이제 삭제를 누르면
클라우드
검색해도 파일이 존재하지 않는다
사진삭제 성공
db댓글/게시물
결과
게시물이 사라졌다
'Spring boot kim's Shop > 게시판' 카테고리의 다른 글
Springboot 게시판만들기!(4)댓글 수정/삭제! (0) | 2021.10.04 |
---|---|
Springboot 게시판만들기!(2) 게시글+댓글 불러오기! (0) | 2021.10.04 |
Springboot 게시판만들기!(1) 글목록 구현 (0) | 2021.09.29 |
Springboot 게시판만들기!(1) 글쓰기 summernote 연동하기 (0) | 2021.09.07 |