GithubHelp home page GithubHelp logo

sinkyoungdeok / order-and-gift-project Goto Github PK

View Code? Open in Web Editor NEW
64.0 4.0 12.0 629 KB

지금까지 배웠던 기술들을 다듬을겸 주문&선물 프로젝트를 진행합니다

Kotlin 99.94% Shell 0.06%
spring-boot kotlin mongodb spring-kafka spring-data-mongodb-reactive retrofit2 mapstruct gradle docker webflux kafka ddd msa coroutines spring-security-jwt spring-webflux-security redis spring-data-redis

order-and-gift-project's Issues

(Item) 아이템 등록 API

아이템 등록

POST http://localhost:8080/api/v1/items
Content-Type: application/json

{
  "partnerToken": "ptn_ifqed5LiPmolNKfc",
  "itemName": "티셔츠",
  "itemPrice": 30000,
  "itemOptionGroupList": [
    {
      "ordering": "1",
      "itemOptionGroupName": "사이즈",
      "itemOptionList": [
        {
          "ordering": 1,
          "itemOptionName": "SMALL",
          "itemOptionPrice": 0
        },
        {
          "ordering": 2,
          "itemOptionName": "MEDIUM",
          "itemOptionPrice": 0
        },
        {
          "ordering": 3,
          "itemOptionName": "LARGE",
          "itemOptionPrice": 0
        }
      ]

    },
    {
      "ordering": "2",
      "itemOptionGroupName": "컬러",
      "itemOptionList": [
        {
          "ordering": 1,
          "itemOptionName": "RED",
          "itemOptionPrice": 0
        },
        {
          "ordering": 2,
          "itemOptionName": "GOLD",
          "itemOptionPrice": 1000
        }
      ]
    }
  ]
}

(Order) Auth 활용 - order 프로젝트와의 연동

  • order서비스 - gift 서비스를 위한 어드민 계정 추가
  • order서비스 - gift api admin만 접근할 수 있도록 코드 변경
  • gift 서비스 - order서비스를 사용할 때 로그인을 전처리 한다.

(Gift) Gift서비스 - 선물하기 등록 API

POST http://localhost:18080/api/v1/gifts/
Content-Type: application/json

{
  "buyerUserId": "12345",
  "payMethod": "TOSS_PAY",
  "pushType": "KAKAO",
  "giftReceiverName": "이기쁨",
  "giftReceiverPhone": "01000001111",
  "giftMessage": "기쁨아 사랑해",
  "orderItemList": [
    {
      "orderCount": 1,
      "itemToken": "itm_5e2OwXwjlaU1diDW",
      "itemName": "티셔츠",
      "itemPrice": "30000",
      "orderItemOptionGroupList": [
        {
          "ordering": 1,
          "itemOptionGroupName": "사이즈",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "MEDIUM",
              "itemOptionPrice": 0
            }
          ]
        },
        {
          "ordering": 2,
          "itemOptionGroupName": "컬러",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "GOLD",
              "itemOptionPrice": 1000
            }
          ]
        }
      ]
    },
    {
      "orderCount": 1,
      "itemToken": "itm_kAyI718RmReYl6IU",
      "itemName": "양말",
      "itemPrice": "10000",
      "orderItemOptionGroupList": [
        {
          "ordering": 1,
          "itemOptionGroupName": "사이즈",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "LARGE",
              "itemOptionPrice": 0
            }
          ]
        },
        {
          "ordering": 2,
          "itemOptionGroupName": "컬러",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "RED",
              "itemOptionPrice": 0
            }
          ]
        }
      ]
    }
  ]
}

(Order) 오더 생성 API

주문 요청 초기 저장

POST http://localhost:8080/api/v1/orders/init
Content-Type: application/json

{
  "userId": "12345",
  "payMethod": "NAVER_PAY",
  "receiverName": "이희창",
  "receiverPhone": "01000001234",
  "receiverZipcode": "12345",
  "receiverAddress1": "서울시 강동구",
  "receiverAddress2": "우리집",
  "etcMessage": "감사합니다",
  "orderItemList": [
    {
      "orderCount": 2,
      "itemToken": "itm_5e2OwXwjlaU1diDW",
      "itemName": "티셔츠",
      "itemPrice": "30000",
      "orderItemOptionGroupList": [
        {
          "ordering": 1,
          "itemOptionGroupName": "사이즈",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "MEDIUM",
              "itemOptionPrice": 0
            }
          ]
        },
        {
          "ordering": 2,
          "itemOptionGroupName": "컬러",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "GOLD",
              "itemOptionPrice": 1000
            }
          ]
        }
      ]
    },
    {
      "orderCount": 1,
      "itemToken": "itm_kAyI718RmReYl6IU",
      "itemName": "양말",
      "itemPrice": "10000",
      "orderItemOptionGroupList": [
        {
          "ordering": 1,
          "itemOptionGroupName": "사이즈",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "LARGE",
              "itemOptionPrice": 0
            }
          ]
        },
        {
          "ordering": 2,
          "itemOptionGroupName": "컬러",
          "orderItemOptionList": [
            {
              "ordering": 1,
              "itemOptionName": "RED",
              "itemOptionPrice": 0
            }
          ]
        }
      ]
    }
  ]
}

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.