Coder Social home page Coder Social logo

delideli's Introduction

DeliDeli

(Delicious Delivery) 음식 배달을 제공하는 딜리버리 서비스입니다. 자세한 내용은 Wiki에서 확인할 수 있습니다

기술 스택

  • Spring
  • Java
  • MySql
  • Mybatis

delideli's People

Contributors

f-lab-bot avatar jeongeun1127 avatar joongsoo avatar suyeon9707 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

seedevk8s

delideli's Issues

결제 테이블 만들기

  • 결제 코드
  • 주문 코드
  • 결제 수단
  • 결제 금액
  • 결제 일자
  • 입금자명
  • 입금 은행
  • 결제 상태

장바구니 목록 삭제

장바구니 물품 삭제

요구사항 정리

  1. 삭제하려는 사람이 본인이 맞는지 확인해야합니다.
  2. 맞으면 원하는 물품을 삭제합니다.
  3. 본인이 아니면 잘못된접근이라는 예외를 보냅니다.
  4. cartItemId으로 조회한 값이 존재하지 않으면 예외를 보냅니다.

주문 상태 관리 기능

주문상태관리기능

고객의 입장에서 생각했을 때

주문완료 - 조리시작 - (또는 주문취소) - 조리완료

  1. 고객이 주문을 하면 주문완료로 상태를 바꾼다
  2. 사장님이 주문을 받으면 고객에게 조리시작을 알려준다
  3. 또는 사장님이 주문을 받을 수 없는 상황이면 주문취소로 바꾼다
  4. 조리가 끝나면 조리완료로 변경해준다

📝 요구사항

  1. 주문상태관리는 owner권한을 가진 사람만 할 수 있어야한다
  2. 주문을 하면 기본값으로 주문완료이다
  3. orderid를 매개변수로 받아 주문상태를 바꿔준다
    1. 사장님이 확인을 누르면 조리시작으로 바꾼다
    2. 사장님이 취소를 누르면 주문취소로 바꾼다
  4. 조리가 끝나면 고객에게 조리완료로 변경해준다
  5. 주문이 들어온 곳이 사장님 가게의 주문이 맞는지 확인해야한다

결제 취소 기능 구현

  • 결제 취소할 경우 결제 상태를 CANCELED로 변경하기
  • 결제 취소가 불가능한 시점에서 결제 상태를 CONFIRMED_UNABLE_TO_CANCEL로 변경하기

장바구니 담기 로직 수정

장바구니 담기

요구사항 정리

  1. 장바구니에 없는 상품이면 데이터베이스에 추가
  2. 있으면 수량변경
  3. userid는 널이면 안되고 널이 들어오면 예외를 던진다
  • 이전 과정에서 같은 물품이 들어올 경우 수량이 바뀌는 작업을 하지 못해서 수정하는 작업을 할 예정입니다.

결제 기능 구현

  • PayService 인터페이스 <- CreditCard, Deposit, Kakao PayService 클래스
  • PayDao
  • PayDTO(주문 코드, 결제 수단, 결제 금액, 결제 일자...)

swagger 적용

API 문서를 자동으로 생성해주는 Swagger의 설정 파일을 만들고, MemberController에 적용

배달원 회원가입

  • 기존 로그인로직에 배달원 레벨을 추가해서 배달원 회원가입을 구현했습니다

주문테이블 만들기

주문 테이블

  • id (PK)
  • 회원의 ID
  • 받는 사람의 주소
  • 받는 사람의 연락처
  • 최종 결제 금액
  • 결제 방식
  • 요청사항

주문한 메뉴들 테이블

  • id (PK)
  • 주문 테이블의 ID
  • 메뉴 이름
  • 가격
  • 수량

장바구니 조회 기능

장바구니 조회

요구사항 정리

  1. userid가 널이면 안되고 널이 들어오면 예외를 던진다
  2. 장바구니에 있는 아이템들을 돌면서 가격을 계산해서 총가격을 보여준다
  3. 장바구니 아이템 목록을 가격과 함께 보여준다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.