코딩 43

Spring boot jwt+회원가입하기!(1) with insert DB

드디어 대망의 회원가입 구현 시간! js restcontroller service 휴대폰 인증 내역을 가져온다 confrimDto confrimDto=confrimService.findConfrim(singupDto.getPhoneNum()); 휴대폰인증 시도가 있었는지 검사한다 if(confrimDto!=null) 인증한 휴대폰 번호와 일치하는지 검사한다 if(confrimDto.getPhoneNum().equals(singupDto.getPhoneNum())) 휴대폰 인증을 완료했는지 검사한다 if(confrimDto.getPhoneCheck()==yes) 중복되는 이메일이 아닌지 확인한다 if(confrimEmail(singupDto.getEmail())) db insert userDao.save(..

kim's cafe 마치며

구현 기능 USER 회원가입 로그인(구글/카카오/네이버) 마이페이지 비밀번호변경 전화번호변경 이메일 인증 전화인증 비밀번호 찾기 회원 탈퇴 RESERVATION 당일 예약 시스템 아임 포트를 이용한 결제 시스템 (아임 포트 api호출) 예약 내역 페이지 예약 변경/취소가능 예약 히스토리 구현 예약 내역 이메일/문자전송 BOARD 글쓰기 글 검색 글 수정 글 삭제 조회수 댓글 쓰기 댓글 삭제 댓글 수정 답글을 제외한 목표 기능들을 얼추 구현해냈다 물론 막바지 결제 시스템을 추가하면서 코드도 지저분해지고 멘털도 많이 나갔지만 제대로 작동할 수는 있게 해 놨다! 첫 번째 스프링 부트 토이 프로젝트였다 정말 재밌었고 정말 힘들었다 특히 첫 api호출은 정말 기분이.... 너무 좋았다 막연히 도대체 api는 뭘까..

Springboot 예약변경 시스템!(1) with 아임포트

마지막이다 답글은 다음 kimsshop을 만들면서 할 생각이다 예약 변경 기능을 만들건대 예약/취소 두 개를 합치면 된다 순서는 수정 예약이 반영된 후 예약이 끝나면 이전 예약을 환불 처리한다 기존 만들어놓은 함수를 이용하면 된다 restcontroller 이메일 검사를 한다 if(userservice.getEmailCheck(email) 전화인증 검사를 한다 if(userservice.getPhoneCheck(email) 좌석 선택 시 session에 담아 놓았던 좌석 이름을 가져온다 seatInforVo seatInforVo=(seatInforVo)httpSession.getAttribute("seat"); 결제를 검증한다 iamportservice.confrimBuyerInfor(imp_uid,re..

Springboot 카카오로그인!(3) 토큰을 이용해 사용자 정보 받기

이제 토큰을 이용해서 사용자 정보만 받아주면 된다! https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com Content-type: application/x-www-form-urlencoded;charset=utf-8 Authorization: Bearer {ACCESS_TOKEN} 바디는 없다! 네이버에서 했던 것 처럼만들어주자! service headers.add("Authorization", "Bearer "+..

Springboot 카카오로그인!(2) 토큰받기

이제 받은 정보로 토큰을 받을 건데 로그인을 하면 code를 받았을 것이다 SXlEXqO17ZaAxdGvadjYi_E5-Dw66S5bXk6gqncJsY7sJRb_xK97_N3f4kmndEzs7Y2yFAo9dBEAAAF6mK1alQ 이런형식 이다 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 토큰을 받으려면 Content-type: application/x-www-form-urlencoded;charset=u..

Springboot 문자인증/전송!(2) with coolsms And HttpSession

이메일 인증과 딱히 다르진 않다 핸드폰으로 인증번호를 전송하자! html js service from이 보내는 번호인데 실제 번호여서 지워놨다 가짜 번호로 테스트를 해봐야겠다 없는 번호도 가는지 안 간다 테스트 해봤는데 없는 번호로 하면 안간다 restcontroller f(principaldetail.getUsername()!=null) 로그인 여부 검사를 하고 (아마 비로그인 시 알아서 예외를 일으켜주는 걸로 아는데 혹시 몰라서 걸었다) String smsRandNum=utilservice.GetRandomNum(6); 6자리 인증번호를 만들고 httpSession.setAttribute("phoneNum", phone.get("phone")); httpSession.setAttribute("smsR..

Springboot 회원탈퇴!(1)

예약/결제/게시글/댓글/인증 구현이 얼추 끝났다 이제 회원 탈퇴를 만들 건데 이전의 함수들을 이용하면 된다 답글 서비스는 아직 구현하지 않아서 나중에 답글 서비스까지 구현하면 한 번 더 와서 추가해 줘야 할 거 같다 일단 프런트 마이페이지에 링크를 추가해주고 controller html js 결과 진짜 기능만 되는 허접한 페이지가 완성되었다 서버 service 로그인을 해야 가능한 기능인데 혹시 몰라서 if(confrimEmail(email)){ 존재하는 아이디인지 검사를 해주고 if(bCryptPasswordEncoder.matches(userdto.getPwd(),uservo.getPwd())){ 비밀번호가 일치 한지 검사해주고 if(reservationservice.getReservationByEm..

Springboot 결제+예약(2) 부분취소/환불 하기 with 아임포트

예약 취소는 db에 있는 imp_uid를 사용하면 된다 예약을 했다면 imp_uid도 같이 들어가 있다 이제 삭제 로직을 만들건대 개별 취소가 가능해야 하기 때문에 가격이 들어올 수 있게 코드를 바꾸자 restcontroller reservationdto.setPrice(seatInforVo.getPrice()); dto에 넣어주고 vo @Column(name = "price",nullable = false) private int price; this.price=reservationdto.getPrice(); 추가해주면 테이블이 바뀌고 save 할 때 자동으로 들어간다 service는 바꿀 필요가 없다 이제 환불을 구현해보자 service 검증을 해준다 존재하는 예약인지 올바른 예약인지 그리고 맞다면 객..

Springboot 결제+예약!(1) 당일 예약 시스템 with 아임포트 ,j쿼리,HttpSession

이전 예약 시스템은 결제 시스템이 없는 시스템이었다 예약하는데 꼭 결제 시스템을 넣어 보고 싶어서 이틀 동안 고생한 결과 아임 포트를 이용해서 성공했다 다만 순수 자바스크립트가 아닌 j쿼리의 힘을 어느 정도 빌려서 만들었다 시작해보자! 예약결제 자체는 아임 포트에서 자체적으로 제공해줘서 별로 어렵지 않다 하지만 검증/취소가 서버 쪽에서 이뤄져야 해서 아임 포트 api를 열심히 뒤져서 만들었다 html 그다음 좌석에 맞는 예약 가능 시간을 가져온다 j쿼리를 사용해서 서버에서 예약 가능 시간을 가져와서 개수만큼 체크 박스를 만들어준다 $('#requesthourdiv').append(""+alreadytime[i]+"시~"+ii+"시"); 정말 편리하다 j 쿼리 서버소스는 이전에 여기서 구현했다 https:..