Kim DongHyo 0c26555665 #3 회원탈퇴 및 패스워드 변경 구현 (#16)
* feat: user delete 메소드 구현 및 테스트 객체 MethodSource 형식으로 분리

* feat: 회원탈퇴 구현

* refactor: PasswordMismatchException 패키지 위치 변경

* feat: oldpassword, newpassword properties 추가

* test: 패스워드 변경 메소드 테스트 코드 작성

* feat: 패스워드 변경 메소드 구현

* feat: 패스워드 변경 서비스 구현

* feat: 패스워드 변경 컨트롤러 구현

* refactor: controller log 추가

* feat: UserPasswordModifyRequest -> UserModifyPasswordRequest 네이밍 변경

* refactor: param name 변경

* refactor: 패스워드 변경 시 삭제된 이메일 제외하고 불러오는 형식으로 변경

* refactor: 메소드 네이밍 수정

* feat: User ResponseDTO 작성

* refactor: controller delete -> deleteUser 메소드 명 변경

* refactor: modifyPassword @Transactional 적용

* refactor: dto 객체 명 DTO 붙여서 구분

* refactor: register method Optional 반환 -> Exception 처리

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: NotFoundEmailException 구현

* refactor: User delete method Optional 반환 -> Exception 처리 

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: modifyPassword method Optional 반환 -> Exception 처리

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: comparePassword -> checkPassword 메서드 네이밍 변경

* refactor: modifyPassword -> changePassword 네이밍 변경

* refactor: provide 메소드 선언 위치 하단으로 변경 및 users Map 추가

정상적인 users 를 재사용하기 위해 분리하여 선언

* refactor: provideDeleteUsers 공통 users 사용하는 방식으로 수정

* refactor: changePassword 공통 users 사용하는 방식으로 수정

* refactor: UserModifyPasswordResponse -> UserChangePasswordResponse

* refactor: dto 클래스 네이밍 변경으로 인한 인수, 변수, 메소드 네이밍 수정
2022-05-26 10:51:38 +09:00
2022-04-28 00:13:53 +09:00
2022-05-07 01:25:49 +09:00

🍿 Ticketing

영화 예매 서비스


📆 프로젝트 기간

22.04.13 ~

  • 기획 및 설계 : 22.04.13 ~
  • 프로젝트 구현 :



🎯 프로젝트 목표



🧩 ERD

erDiagram
    MOVIE ||--o{ MOVIE_TIMES : ""
    MOVIE {
        bigint id PK "영화 ID"
        varchar title "영화제목"
        int running_time "러닝타임"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    THEATER ||--o{ MOVIE_TIMES : ""
    THEATER ||--|{ SEAT : ""
    THEATER {
        bigint id PK "상영관 ID"
        int theater_number "상영관 번호"
        int seat_count "좌석수"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    SEAT ||--o{ TICKET : ""
    SEAT {
        bigint id PK "좌석 ID"
        bigint theater_id FK "상영관 ID"
        int column "열"
        int row "행"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    MOVIE_TIMES ||--o{ TICKET : ""
    MOVIE_TIMES {
        bigint id PK "상영시간표 ID"
        bigint movie_id FK "영화 ID"
        bigint theater_id FK "상영관 ID"
        date running_date "상영 날짜"
        int round "회차"
        time start_at "시작 시간"
        time end_at "종료 시간"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    TICKET {
        bigint id PK "티켓 ID"
        bigint seat_id FK "좌석 ID"
        bigint movie_times_id FK "상영시간표 ID"
        bigint payment_id FK "결제 ID"
        varchar status "상태 - 구매가능/예약진행중/판매완료"
        int ticket_price "가격"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    TICKET }|--|| PAYMENT : ""
    PAYMENT {
        bigint id PK "결제 ID"
        bigint user_id FK "유저ID"
        varchar type "결제 타입 - 예) 네이버페이, 카카오페이"
        varchar status "상태 - 완료/환불/실패"
        varchar failed_message "실패사유 - 컬럼명을 알아보기 쉬운가?"
        varchar payment_number "예매번호"
        int total_price "결제 금액"
        datetime created_at "결제일시"
        datetime updated_at "수정일시"
    }
    USER ||--o{ PAYMENT : ""
    USER {
        bigint id "회원"
        varchar name "이름"
        varchar email "이메일"
        varchar password "비밀번호"
        varchar grade "등급 - 고객/임직원"
        varchar phone "휴대폰 번호"
        boolean is_deleted "탈퇴여부"
        datetime deleted_at "탈퇴일시"
        datetime created_at "가입일시"
        datetime updated_at "수정일시"
    }



Description
영화 예매 서비스
Readme 764 KiB
Languages
Java 98.8%
Kotlin 1.1%