스프링 73

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..

Springboot 결제시스템!(6) 아임포트 환불!(미완성)

경우의 수가 있었다 1. 결제된 상품 환불/부분 환불 2. 가상계좌로 결제된 상품 환불/부분 환불 3. 미입금 계좌 환불/부분 환불 테스트 계정으로 할 수 있는 건 1번이었다 2/3번은 세틀 뱅크로 하면 가능 하지만 현재 isp카드결제에서 오류가 나서(j999) 문의를 넣어놓은 상태이다 토이 프로젝트여서 더는 시간을 끌 수 가없다 다음 토이 프로젝트에서 집중적으로 다뤄봐야 할 거 같다 그래서 문의를 했다 디렉트로 pg사로 테스트할 수없는지 kg이니시스는 사업자 등록이 꼭 필요하다고 해서 불가능했다 설명도 딱히 할 게 없다 코드도 길어지기만 했고 미완성인 상태이다 재밌게 만들고 있었는데 김이 확 빠졌다 대충 하고.. 게시판으로 가자 설명도 딱히 할 게 없어서 사진 한 장으로 대체한다 optional은 까먹..

Springboot 예약+결제시스템 리펙토링!

1. 아임 포트에서 가상계좌 테스트를 지원한다 2. 부트 페이는 이제 없어도 된다 3. 구조변경이 불가피 해졌다 abstract클래스 이클래스는 결제 검증이 끝나고 예약 dto에게 전달해줄 변수들을 들고 있다 nomalPaymenrtClazz 추상 클래스를 상속받아 일반 결제 결제 검증 후-> paidproduct테이블에 insert 할 때 사용된다 현재는 paymethod하나이지만 나중에 더 많아질 때를 대비해 만들어 놓았다 vbankpaymentclazz 가상계좌 요청 시 사용되는 클래스이다 역시 추상 클래스의 상속 후 사용한다 vbank테이블에 insert 할 때 사용된다 reservationService 흐름도 바뀌었다 결제 검증 우선 후 paymentabstract paymentabstract=..

Springboot jwt인증 리펙토링

예를 들어 로그인 후에 마이 페이를 들어간다면 토큰을 던져서 이상이 없으면 db에서 정보를 가지고 와서 시큐리티 세션에 부여해주고 거기서 꺼내 쓰면 된다 근데 현재는 그 방식이 아니라 검증 시 잘못된 방식으로 세션에 부여해주는 탓에 또 db를 들렀다 오게 되었다 그래서 수정하려고 한다 jwtService 아이디/비밀번호가 아닌 principaldetail을 넣어주고 비밀번호는 null로 해주자 어차피 로그인을 한 사용자이다 userService 기존에는 db를 또 다녀왔다면 이번엔 시큐리티 세션에서 꺼내서 비밀번호만 지운 후 던져주자!

Springboot 결제시스템!(1) with 아임포트 결제 성공시

이제 예약에 들어가기 전에 결제시스템을 연동해보자 이전 프로젝트에 처음으로 연동했었다 https://cordingmonster.tistory.com/76?category=1032073 Springboot 결제 시스템 만들기! (1) 토큰 발급받기 with 아임포트, HttpHeaders ,RestTemplate,Response 진짜 죽는 줄 알았다 결제만 몇 번 한 건지 모르겠다 오후 2시 부터 했는데 현재 8시이다 일단 결제 시스템을 만든 이유는 사실 예약 변경/수정/삭제는 이제 db에서 delete/update/insert 하는 일만 남았 cordingmonster.tistory.com 이제 더 멋지게 코드를 써보자 시나리오는 같다 결제->결제정보아임포트전송->결제정보 백엔드 전송 프런트 서버 코드는..

Springboot 예약시스템 만들기!(1) 연/월/일/요일 뿌리기!

이전에 kimscafe에서는 '당일' 예약만 가능한 시스템이었다 이번엔 언제든 가능한 예약시스템을 사용해보자! 시나리오 자리 선택->년/월/날짜 표시-> 날짜 선택-> 시간표시-> 예약 프런트 서버 html 서버에 정보가 오면 뿌려줄 자리를 만들어 놓는다 js 같은 코드가 겹치는데 나중에 리팩토링 해주고 지금은 백엔드에 최대한 집중하자! 자리를 선택하면 function showDate(seat,month,year)함수가 작동한다 서버와 통신을 하고 성공시 년/월 다음/이전 버튼 $('#nextButton').append(""); $('#beforeButton').append(""); $('#nextButton2').append(""); $('#beforeButton2').append(""); 날짜들을 뿌..

Springboot 예외처리! with IllegalArgumentException

항상 가지는 고민이 있었다 예를 들어 userDto dto= dao.findByEmail(email) 했을 때 잘못된 값이 와서 null 반환된다면? 물론 try catch로 묶어서 throw new 런타임 익셉션으로 던지면 되지만 제네릭을 사용해서 dto를 널을 검사하고 null이면 예외를 던지면 어떨까...? 라는 생각을 하고 구현해봤다! 새로운 클래스를 만들었다 제네릭을 이용해서 dto 받은 다음 null이라면 예외를 일으킨다! errorRestController 테스트 전화인증 로직에서 말도 안 되는 값을 넣어놨다 완료! 사실 제네릭 한번 써보고 싶었다 ㅋㅋㅋ

Springboot 마이페이지!(2) 휴대폰변경하기

이제 휴대폰 변경 구현을 해보자 역시나 기존 로직을 끌어다가 사용하면 된다 https://cordingmonster.tistory.com/131?category=1041862 Springboot 인증 시스템 리팩토링!(1) with interface 이전 글 https://cordingmonster.tistory.com/108?category=1038496 Springboot Jwt+휴대폰인증!(2) 인증번호 확인 이제 인증번호가 맞는지 안 맞는지 판별해보자 프런트 js json형태로 번호/입력 전송 let dat.. cordingmonster.tistory.com https://cordingmonster.tistory.com/132?category=1041862

Springboot 마이페이지 (1) 주소변경하기!

마이페이지에서는 주소/전화/이메일 인증/비밀번호 변경이 가능하게 만들것이다 주소부터 봐 보자! 프런트 서버 그냥 회원가입 때 썼던 카카오 우편번호 서비스를 한 번 더 넣어 놓으면 된다 다시 한번 카카오에게 감사를 전합니다! restController 빨리 리액트 공부하고 싶다 백엔드+백엔드 서버통신도 아니고 참 백엔드 서버 restController service 테스트 서울대병원으로 해보자 변경 완료! 재밌다 아주

Springboot 인증 시스템 리팩토링!(1) with interface

이전 글 https://cordingmonster.tistory.com/108?category=1038496 Springboot Jwt+휴대폰인증!(2) 인증번호 확인 이제 인증번호가 맞는지 안 맞는지 판별해보자 프런트 js json형태로 번호/입력 전송 let data=JSON.stringify({ "phoneNum":""+document.getElementById('phoneNum').value+"", "tempNum":""+document.ge.. cordingmonster.tistory.com 고민이 있었다 너무 비슷한 로직이었다 문자인증/전화인증 로직인데 둘 다 인증번호를 받아서 검사해주면 됐었다 그래서 떠오른 아이디어 아 이럴 때 인터페이스를 써볼까..? 하고 만들었다 interface ema..