Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

부산대 BE_박민재 6주차 과제(3단계) #383

Open
wants to merge 31 commits into
base: minjae4650
Choose a base branch
from

Conversation

minjae4650
Copy link

@minjae4650 minjae4650 commented Aug 4, 2024

배포 관련해서 public IP로 redirect URL 수정하였습니다.
포인트 관련해서 기능 구현하였습니다.

- API 경로를 /api/members/register 및 /api/members/login으로 수정하여 명세와 일치하게 변경
- @PageableDefault 어노테이션을 사용하여 page, size, sort 파라미터를 Pageable로 받도록 수정
- getProducts 메서드에 categoryId 필터 추가
- 모든 메서드에서 ApiResponse 형식을 통일하여 응답 반환
- Pageable과 categoryId를 사용하는 getProducts 메서드 추가
- 기존 getAllProducts 메서드 제거
- Pageable과 categoryId를 받아 처리하는 getProducts 메서드 구현
- 옵션 추가 로직을 포함한 createProduct 메서드 수정
- 카테고리별 상품을 페이지네이션과 함께 조회할 수 있도록 findAllByCategoryId 메서드 추가
- showProducts 메서드에 Pageable 객체를 사용하여 페이지네이션 지원
- ProductService의 getProducts 메서드 호출 시 Pageable 인자를 전달하여 처리
- Model에 totalPages를 계산하여 추가
- 전체 상품 수를 계산하여 totalPages를 모델에 추가하는 로직 개선
- 기존 ProductService의 getAllProducts 메서드 호출 제거
- 상품에 옵션 추가, 수정, 삭제, 조회를 위한 엔드포인트 추가
- 예외 처리 및 ApiResponse 형식으로 응답 반환
- addOptionToProduct, updateOption, deleteOption, getOptionsByProduct 메서드 추가
- 옵션 CRUD 작업을 위한 인터페이스 정의
- addOptionToProduct 메서드에 상품 존재 여부 확인 및 옵션 유효성 검사 로직 추가
- updateOption, deleteOption 메서드 구현 및 예외 처리 추가
- getOptionsByProduct 메서드로 특정 상품의 옵션 조회
- 옵션 이름 중복 검사 및 옵션 수량 감소 메서드 구현
- 회원의 위시 리스트를 페이지 단위로 조회하는 기능 추가
- @PageableDefault 어노테이션을 사용하여 기본 페이지 크기 및 정렬 기준 설정
- addWish, removeWish 메서드에 대한 예외 처리 및 응답 메시지 개선
- getWishesByMemberId 메서드를 Page<Wish> 반환 타입으로 변경하여 페이지네이션 지원
- removeWish 메서드에 대한 안전한 삭제 처리를 위해 메서드 시그니처 수정
- getWishesByMemberId 메서드를 Page<Wish> 반환 타입으로 변경하여 페이지네이션 지원
- Pageable 인자를 받아 회원의 위시 리스트를 페이지 단위로 조회하도록 수정
- removeWish 메서드에 findByIdAndMemberId를 사용하여 특정 회원의 위시 항목을 안전하게 삭제
- findByMemberId를 Page<Wish>를 반환하는 findAllByMemberId로 변경하여 페이지네이션 지원
- findByIdAndMemberId 메서드 추가로 특정 회원의 특정 위시 항목을 안전하게 조회
- 주문 생성 시 주문 시간 설정
- 주문 목록을 페이지 단위로 조회하는 기능 추가
- 예외 처리 및 ApiResponse 형식으로 응답 반환
- 주문 생성 메서드 및 페이지네이션을 지원하는 주문 목록 조회 메서드 추가
- 주문 생성 시 주문 시간 설정
- 주문 목록 페이지네이션 조회 로직 추가
- OrderRepository를 사용하여 데이터베이스와 상호작용
- 주어진 id로 제품이 존재하지 않을 경우 `ProductNotFoundException`을 발생하도록 `deleteProduct` 메서드를 리팩토링.
- WebConfig 클래스에서 전역 CORS 설정을 추가하여 모든 경로와 출처에 대해 CORS를 허용했습니다.
- 배포한 EC2 public IP로 수정
- 카카오 앱 설정도 마찬가지로 수정완료
- 배포한 EC2 public IP로 수정
- 배포한 EC2 public IP로 수정
- 사용자 포인트를 추적하기 위한 points 필드 추가.
- 포인트를 추가 및 차감하는 메서드 구현.
- 포인트를 기본값 0으로 초기화하도록 설정.
- 전체 결제금액 저장을 위한 필드 추가.
- 현금영수증 발행 여부와 전화번호 저장을 위한 필드 추가.
- 5만 원 이상 주문 시 10% 할인을 적용하는 로직 통합.
- 할인 및 포인트 차감 후 최종 결제를 위한 paymentAmount 사용.
- 주문 세부 사항을 기반으로 현금영수증 발행 로직 추가.
- 포인트 사용 및 적립 로직 추가.
- 컨트롤러에서 Member 객체를 조회하고, 서비스로 전달하도록 수정.
- orders 테이블에 현금영수증, 사용된 포인트, 결제금액 필드 추가.
- member 테이블에 points 필드 추가하여 사용자별 포인트 관리 지원.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant