내일배움캠프 57일차

Drumj·2022년 7월 8일
0

내일배움캠프

목록 보기
57/80

<오늘의 학습>

삭제삭제삭제삭제삭제삭제삭제삭제삭제삭제

회원탈퇴

  • controller

    순서가 문제일까 싶어서.. user를 삭제하는 걸 젤 마지막으로 옮김!!!!
    post 부분에서 에러가 많이 떠서 뒤에 코드가 실행이 안되는 것 같은데 like는 아주 잘 삭제되었다.

  • Entity

    모든 엔티티에 @OnDelete(action = OnDeleteAction.CASCADE) 추가.
    원래는 cascade = CascadeType.ALL 을 사용했었는데 찾아보다가 바꿨다.
    뭐가 다르다고 했었던 것 같은데.... 이것 저것 코드 만지다 보니까 왜 바꿨는지 까먹어버렸다...
    이러면 안되는딩 ㅠㅠ

  • PostService

    좀 맘에 드는 부분. 지금 postImgRepository에서 postId 로 삭제를 하고 있는데
    PostImg 엔티티에는 userId 가 없어서 postId로만 해결을 봐야 했다....
    그래서 일단!!! userid로 post를 찾아와!!! 그리고 거기서 postid를 가져와!!!
    라는 생각으로 코드를 막 작성... 흐규흐규 너무 잘 되서 감동... ㅠㅠㅠ

    그리고 처음에는 그냥 post.get(0).getId()로 했는데 생각해보니 게시글을 하나만 쓰는게 아니잖아?!
    바~로 for문 작동. post가 list 형식이라서 for를 length로 해야할 지 뭘로 해야할 지 몰랐는데
    인텔리제이 요놈~~ 아주 물건이야~~ for문 작성하고 안에 post만 적으니까 알아서 .size를 추천해준다.... 쥔짜 인텔리하네;;;

해결??

이렇게 해서 회원탈퇴 기능을 다 완성~~~!!!
이라고 하고 싶지만...
마지막 문제가 남았다...

누군가 탈퇴하고자 하는 회원의 게시글에 좋아요를 누르면... 탈퇴가 안된다는 것
(야 가지마... 가지말고 나랑 놀아...)

탈퇴를 할 때 내 게시글을 삭제하면서... 좋아요를 누른 사람의 좋아요를 없애고...??
탈퇴 처리를...????

다시 코드를 뚱땅뚱땅 쳐봐야 겠다..


진짜 해결!!!

  • service
    위에 service 코드에서는 postImg만 for문에서 돌렸는데 이렇게 하니까 오류가 났었다.
    그래서 막 생각해보다가..

    아!!!! 게시물은 누가 좋아요 눌러도 잘 삭제가 되넹???? 그럼 이걸 활용해서...??
    내가 탈퇴할때 게시물을 하나씩 다 지워버리고 탈퇴를 하면??????

    그래서 userID 로 post를 찾아서 postID를 가져와서 like,postImg,post 까지!
    다 삭제 해버렸다.

    그렇게 하니까 아주아주 잘 작동이 된다.
    근데 게시물이 엄~~청 많아져서 나중에 코드가 작동하는데 오래걸릴려나...?
    이 부분은 나중에 팀원들이랑 회의를 해봐야겠다.

    생각보다 해결이 오래 걸리지 않았다.
    게시물이 삭제될 때도 누가 좋아요를 누르면 안되려나..? 했는데 게시물은 아주 잘 삭제가 되어서 빠르게 문제를 해결한 것 같다.

    우선 해결은 했는데.. 내가 짠 코드가 좋은 코드인지는 알 길이 없다.

앞으로 해야 할 것

이제 남은건

  • 사진을 더 넣을 수 있게 하는 거...?
  • 판매완료 처리 하는 거...?
  • 채팅.....??????? (<- 젤 마지막에 해야할 까..?)

사진 넣는 거 알아보는데.. 못 알아 먹겠다.. 나는 바..보..

아!! 로그인 없이 우리 서비스를 둘러보다가 좋아요를 누른다거나 채팅을 시도한다거나 본격적(?)으로 서비스를 사용할 때 로그인이 되어 있지 않다면 로그인이 필요한 서비스 입니다. 를 띄우고
로그인 후 다시 보던 사이트로 이동해서 계속 서비스를 사용할 수 있게 만들고 싶은데
이 부분도 상당히 어려워 보인다..!! Security에서 인증을 바꿔볼려고 했는데 모조리 실패.. ㅋㅋㅋㅋ

다음주에 팀장님까지 오시면 다같이 얘기해보고 결정해야겠다!!

-오늘의 한 줄-

누구인가. 누가 좋아요를 눌렀어

0개의 댓글