Coder Social home page Coder Social logo

foody-lab's Introduction

foody-lab

foody-lab's People

Contributors

bue-von-hon avatar taewoongjung avatar

foody-lab's Issues

[새로운기능] 점주 클래스 생성

  • 점주를 등록할 수 있다.
  • 점주는 가게를 소유할 수 있다.

데이터베이스 연결 후 추가할 테스트:

  • 점주는 가게를 등록할 수 있다.
  • 점주는 가게를 닫을 수도 있고 열 수도 있다.

[새로운 기능] 결제 실패 개발하기

결제 실패
결제가 실패하면 해당 주문을 바탕으로 결제 내역을 생성해야한다.
결제 실패 이유가 고객에게 전송되어야 한다.(외부 결제 시스템에 의한 취소입니다. 확인부탁드립니다. 등의 메세지 전송)

[새로운 기능] 결제 성공 개발하기

결제 성공
주문은 2가지 결제수단으로 결제 가능하다. 현장결제(현금, 카드), 외부 결제 시스템(카카오, 네이버 페이)
주문 처리가 완료되면 해당 주문을 바탕으로 결제 내역을 생성한다.

[새로운 기능]쿠폰 할인 개발

할인 도메인의 3가지 종류 중 하나인 쿠폰 할인 기능을 개발합니다.

쿠폰 할인은 아래와 같은 기능을 구현해야합니다.

  1. 해당 쿠폰의 할인 금액
  2. 해당 쿠폰의 유효 기간

[새로운기능] 주문 컨트롤러 개발하기

Description

주문요청
POST /order 를 통해 주문을 요청합니다
body에 주문에 대한 정보가 담겨있습니다
주문이 요청되면 결제까지 진행됩니다

To-do

  • todo 주문 요청

[새로운 기능] 주문 도메인의 주문 클래스 개발하기

주문 클래스를 만들어주세요.
주문 클래스에는 아래와 같은 내용이 포함되어야 합니다.

  • 주문한 유저
  • 주문을 받을 가게
  • 주문한 총 금액
  • 주문한 메뉴
  • 주문이 생성된 날짜와 시각

주문은 최소 수량 이상이어야 생성됩니다.
주문은 최소 구매 금액 이상이어야 생성됩니다.
주문이 생성된 날짜는 오늘 이전일 수 없습니다.
주문한 유저는 한명이어야 합니다.
주문을 받을 가게는 한개여야만 합니다.

KakaoPayImpl 리팩터링

  •    이 부분은 단순히 true/false의 응답 대신에 처리 결과를 더 명확하게 나타내줘도 좋을 것 같아요~
    

https://developers.kakao.com/docs/latest/ko/kakaopay/single-payment#request
카카오페이 API를 봐도 엄청나게 많은 데이터를 던져주고 있어요.
요청 id라던지, 금액, 결제 시간과 같은 여러가지 데이터를 주고 있는데요.

이런 데이터를 기반으로 성공/실패를 구분하거나 http status로 성공/실패를 구분해도 좋을 것 같습니다.
true/false로만 표현하기에는 정보가 좀 적은 것 같네요~

Originally posted by @f-lab-Carrey in #35 (comment)

  •     위의 코드를 간결하게 바꾸면.. 아래와 같이 표현할 수도 있지 않나요?
    
    @Override
    public boolean processPay(long price) {
        return requestPay() && approvePay();
    }

Originally posted by @f-lab-Carrey in #35 (comment)

[리팩토링] 할인 전략과 쿠폰 분리하기

해결하려는 문제

  • 할인 정책과 쿠폰을 조합을 이용해 구현하겠습니다
  1. 할인 정책 인터페이스를 생성한다
  2. 할인 정책 인터페이스를 구현하는 고정할인(ex 1000원 할인), 퍼센트할인(10% 할인) 클래스를 생성한다
  3. 가격 할인 쿠폰 클래스에서 할인 정책 인터페이스를 구현한다
  4. 가격 할인 쿠폰 클래스에서 할인 정책 인터페이스를 구현한 가격할인 혹은 퍼센트 할인 클래스를 내부 인스턴스로 가지고 있는다.
  5. 할인 정책 인터페이스에서 요구하는 메소드는 해당 인터페이스를 구현한 객체의 메소드를 그대로 반환한다

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.