스프링부트 112

Springboot 게시판만들기!(4)댓글 수정/삭제!

댓글 등록은 스킵하고! 수정/삭제를 봐 보자! 프런트 서버 js만 보면 된다 html은 달라진 게 없다 댓글 페이징에 쓰이는 함수들이다 댓글 버튼 함수들이다 서버에게 요청하는 함수들이다 백엔드 서버 insert update delete 거의 게시글 등록/수정/삭제랑 판박이다 설명은 스킵! confrimwrtier를 utillService로 빼주면 좋을 거 같다 옥에 티는 역시 수정 시 summer노트로 textarea를 주는데 역시 글자만 추출하는 방법을 아직 몰라서 그냥 구색만 해 논 것이다! 테스트 등록 12개를 등록했다 페이지 이동 url이 1인 이유는 최초 입장 시에만 page를 파라미터로 받고 그 뒤로는 자바스크립트에서 연산이 이뤄지기 때문이다 사실 들어올 때도 그냥 1로 해서 주면 되는데 그냥..

Springboot 게시판만들기!(3)게시물 수정/삭제

이제 게시물 수정 삭제를 만들건대 다시 한번 summernote가 필요하다 프런트 서버 사진 올리는 함수는 jslib로 뺐다 그리고 수정 요청을 하면 글자 수 체크를 해야 하는데 summernote에서 글만 빼오는 방법을 아직 모른다 그래서 패스! 백엔드 서버 글 수정 boardService 글을 조회한다 articleDto articleDto=articleDao.findById(tryUpdateArticleDto.getBid()).orElseThrow(()>new IllegalArgumentException("존재하지 않는 게시글입니다")); 로그인 정보를 가져온다 userDto userDto=userService.sendUserDto(); 로그인이메일=작성자인지 검사한다 confrimUpdateArt..

Springboot 게시판만들기!(2) 게시글+댓글 불러오기!

글+댓글을 같이 들고 오자 프런트는 서버 댓글 버튼 같은 경우는 댓글 파트에서 봐보자! 백엔드 서버 restcontroller dto service 페이징 시작 지점 구하기 int first=utillService.getFirst(nowPage, pagesize); 글+댓글+댓글 총 몇 개 인지 구하기 ListgetArticleinters=articleDao.findByBidJoinComment(bid, bid,first-1,pagesize).orElseThrow(()->new IllegalArgumentException("존재하지 않는 게시물입니다")); 전체 페이지 구하기 int totalPage=utillService.getTotalpages(getArticleinters.get(0).getTota..

Springboot 게시판만들기!(1) 글목록 구현

이 토이 프로젝트도 마지막 장에 들어왔다 게시판을 이제 만들건데 글쓰기는 이전에 일부 구현했다 https://cordingmonster.tistory.com/153?category=1046973 Springboot 게시판만들기!(1) 글쓰기 summernote 연동하기 이제 에디터를 연동할 건데 ckeditor5/summernote 둘 다 성공했지만 결국 summernote를 선택했다 이유는 ckeditor5 이미지 업로드 시 쿠키를 던져야 하는데 그걸 아직 하는 법을 모른다 그거만 알면 ckeditor5 cordingmonster.tistory.com https://cordingmonster.tistory.com/154?category=1046973 Springboot 게시판만들기!(2) 글쓰기 썸네일..

Springboot 음식구매시스템!(2) 구매하기!

이제 구매만 만들고 게시판 만들러 가자! 프런트 서버 buyFoodPopUP 부모 창 함수 호출 selectItems=opener.parent.getSelectItems(); 삭제 발동될 함수 function deleteItem(className) for(var i=0;i 세틀 뱅크 현재 세틀 뱅크 디렉트 연결 예약 cordingmonster.tistory.com https://cordingmonster.tistory.com/162?category=1041862 Spring boot 결제시스템 리팩토링!(2) with 세틀뱅크/카카오페이 일반 결제 취소 = 카드/카카오페이/가상계좌 입금 후 = 돈이 들어온 후 환불만 해주면 됨 시나리오 요청-> 취소가능 여부 검증-> 예약/상품 테이블 선택 아이템 삭제-..

Springboot 음식구매시스템!(1) 상품 보여주기!

원래 그냥 바로 게시판으로 가려했는데 궁금한 게 생겼다 1. 진짜 예약 말고 상품 구매 시 잘 작동할까? 2. 좀 허전하네 커피/케이크 정도는 구매해보자 라는 생각이었다 다행히 잘 작동했다 프런트 서버 foodBuyPage 입장 시 아이템 정보를 가져온다 디폴트 coffee getFood('coffee'); 아이템 정보를 뿌린다 for(var i=0;inew IllegalArgumentException("존재하지 않는 카테고리입니다")); 상품정보 담아서 json배열로 주기 for(productDto p: productDtos){ 결과 버튼을 누르면 카테고리에 맞게 잘 가져온다 아 프런트도 css나 이런 걸 좀 공부해서 좀 이쁘게 해야 할 거 같은 생각이 든다 일단 이번 토이까지는 생짜로 가보자!

Springboot 로그인 리팩토링! with ResponseCookie

access/refresh토큰을 쿠키로 주고 있었다 프런트가 http->https가 된 이후로 크롬에서 테스트를 안 해봤는데 우연히 들어갔다가 samesite이슈에 걸려서 쿠키를 다시 발급하게 됐다 cookie->ResponseCookie로 변경하였다 cookieService httponly옵션은 없으니 수기로 작성해주자! 추가 httponly옵션 있음 테스트 이슈가 사라지고 잘 로그인된다! (Csrf토큰은 그냥 마음대로 만든곳이니 무시해주세요)

Springboot 결제시스템 리팩토링!(3) 가상계좌 입금전 부분취소 with 세틀뱅크

마지막 페이즈이다 제일 어려웠다 가상계좌는 입금 전/후로 나뉜다 거기서도 부분취소가 제일 문제가 된다 입금 후라면 그냥 환불이지만 입금 전이라면... 복잡해진다 일단 세틀 뱅크 사이트를 보는데 채번 수정? 은 찾지 못했다 대신 가상계좌 채변을 서버에서 다시 받을 수 있었다 그래서 이렇게 만들었다 시나리오 부분 취소-> 새로 채번 받기->db수정-> 기존 채번 취소 paymentService는 똑같으므로 참고 바랍니다 https://cordingmonster.tistory.com/162 Spring boot 결제취소/예약취소 리팩토링!(1) with 세틀뱅크/카카오페이 일반 결제 취소 = 카드/카카오페이/가상계좌 입금 후 = 돈이 들어온 후 환불만 해주면 됨 시나리오 요청-> 취소가능 여부 검증-> 예약/..

Spring boot 결제시스템 리팩토링!(2) with 세틀뱅크/카카오페이

일반 결제 취소 = 카드/카카오페이/가상계좌 입금 후 = 돈이 들어온 후 환불만 해주면 됨 시나리오 요청-> 취소가능 여부 검증-> 예약/상품 테이블 선택 아이템 삭제-> 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기-> 아이디별 환불 pg사 전송 가상계좌 미입금 부분 취소 = 채번 새로 받은 후 기존 채번취소 요청 요청-> 취소가능 여부 검증-> 예약/상품 테이블 선택 아이템 삭제-> 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기-> 새 채번 요청-> 새 계좌/가격 상품/예약/결제 테이블 수정-> 채번 취소 요청 고비는 크게 두 가지였다 1. 각 아이템별 결제수단 추출-> 같은 아이디 값으로 모으기 2. 새 계좌/가격 상품/예약/결제 테이블 수정-> 채번 취소 요청 일단 최선을 다..

Springboot 예약내역 페이지 리팩토링! with left join

이전 원가+예약 내역 join 후 카드/카카오페이/가상계좌 이렇게 나눠져서 또 db를 들렀다가 왔다 현재 left join으로 다 들고 오게 했다 dao 날짜 미지정 검색 @Query(value = "select a.*,b.price,c.*,v.*,k.* from reservation a inner join product b on a.seat=b.product_name left join card c on a.payment_id=c.cmcht_trd_no left join vbank v on a.payment_id=v.vmcht_trd_no left join kakaopay k on a.payment_id=k.ktid where a.email=? order by a.id desc limit ?,?",nat..