[연습] buyer - 결과

“화면설계서와 ERD로 ICE schema 설계 및 API 작성”

 

Download

[FO] Buyer 회원가입_화면설계서.pptx

 

[BO] Buyer 회원정보 관리_화면설계서.pptx

 

ERD

 

PATH : schema/practiceSample

 

Schema 작성

[ { "parentId": "buyers", "typeId": "nodeType", "tid": "country", "typeName": "Country", "repositoryType": "node", "standaloneIndex": false, "microservice": "customers", "eviction": 10000, "propertyTypes": [ { "pid": "code", "name": "Code", "valueType": "STRING", "idable": true, "indexable": true, "orderNo": 10 }, { "pid": "name", "name": "Country Name", "valueType": "STRING", "labelable": true, "indexable": true, "orderNo": 30 }, { "pid": "countryDialingCode", "name": "Country Dialing Code", "valueType": "STRING", "indexable": true, "orderNo": 40 } ] } ]

 

[ { "parentId": "buyers", "typeId": "nodeType", "tid": "buyerCompany", "typeName": "BuyerCompany Information", "repositoryType": "node", "standaloneIndex": false, "microservice": "customers", "eviction": 10000, "propertyTypes": [ { "pid": "id", "name": "ID", "valueType": "INT", "idable": true, "idType": "hash", "indexable": true, "orderNo": 10 }, { "pid": "name", "name": "Company Name", "valueType": "STRING", "labelable": true, "indexable": true, "orderNo": 20 }, { "pid": "ceo", "name": "CEO", "valueType": "STRING", "indexable": true, "orderNo": 30 }, { "pid": "homepage", "name": "Homepage", "valueType": "STRING", "indexable": true, "orderNo": 40 }, { "pid": "address", "name": "Address", "valueType": "STRING", "indexable": true, "orderNo": 50 }, { "pid": "establishedYear", "name": "Established Year", "valueType": "STRING", "indexable": true, "orderNo": 60 }, { "pid": "noOfEmployee", "name": "No.of Employee", "valueType": "CODE", "indexable": true, "orderNo": 70, "code": [ { "value": "upto10", "label": "1~10" }, { "value": "upto100", "label": "1~100" }, { "value": "upto1000", "label": "1~1000" }, { "value": "upto10000", "label": "1~10000" }, { "value": "over10000", "label": "10000~" } ] }, { "pid": "businessType", "name": "Business Type", "valueType": "STRING", "indexable": true, "orderNo": 80 }, { "pid": "annualSales", "name": "Annual Sales(1,000 USD)", "valueType": "CODE", "indexable": true, "orderNo": 90, "code": [ { "value": "upto10", "label": "1~10" }, { "value": "upto100", "label": "1~100" }, { "value": "upto1000", "label": "1~1000" }, { "value": "upto10000", "label": "1~10000" }, { "value": "over10000", "label": "10000~" } ] } ] } ]

 

[ { "parentId": "buyers", "typeId": "nodeType", "tid": "buyer", "typeName": "바이어", "repositoryType": "node", "standaloneIndex": false, "microservice": "customers", "eviction": 10000, "propertyTypes": [ { "pid": "id", "name": "Member No.", "valueType": "INT", "idable": true, "idType": "hash", "indexable": true, "orderNo": 10 }, { "pid": "buyerId", "name": "buyer Id (E-mail)", "valueType": "STRING", "indexable": true, "orderNo": 20 }, { "pid": "password", "name": "Password", "valueType": "STRING", "indexable": true, "orderNo": 30 }, { "pid": "name", "name": "buyer Name", "valueType": "STRING", "labelable": true, "indexable": true, "orderNo": 40 }, { "pid": "country", "name": "Country", "valueType": "REFERENCE", "indexable": true, "referenceType": "country", "orderNo": 50 }, { "pid": "jopPosition", "name": "Job position", "valueType": "CODE", "indexable": true, "orderNo": 60, "code": [ { "value": "sff", "label": "Staff" }, { "value": "am", "label": "Assistant Manager" }, { "value": "m", "label": "Manager" }, { "value": "dgm", "label": "Deputy General Manager" }, { "value": "gm", "label": "General Manager" }, { "value": "ceo", "label": "CEO" } ] }, { "pid": "mobile", "name": "Mobile", "valueType": "STRING", "indexable": true, "orderNo": 70 }, { "pid": "tel", "name": "Tel", "valueType": "STRING", "indexable": true, "orderNo": 80 }, { "pid": "fax", "name": "Fax", "valueType": "STRING", "indexable": true, "orderNo": 90 }, { "pid": "buyerCompany", "name": "Buyer Company", "valueType": "REFERENCE", "indexable": true, "referenceType": "buyerCompany", "orderNo": 100 }, { "pid": "owner", "name": "Owner", "valueType": "REFERENCE", "indexable": true, "referenceType": "user", "orderNo": 110 }, { "pid": "created", "name": "Created", "valueType": "DATE", "indexable": true, "orderNo": 120 }, { "pid": "modifier", "name": "Modifier", "valueType": "REFERENCE", "indexable": true, "referenceType": "user", "orderNo": 130 }, { "pid": "changed", "name": "Changed", "valueType": "DATE", "indexable": true, "orderNo": 140 }, { "pid": "buyerType", "name": "회원구분", "valueType": "CODE", "indexable": true, "orderNo": 150, "code": [ { "value": "general", "label": "일반회원" }, { "value": "easy", "label": "간편회원" } ], "defaultValue": "general" }, { "pid": "easyJoinType", "name": "간편회원유형", "valueType": "CODE", "indexable": true, "orderNo": 160, "code": [ { "value": "facebook", "label": "페이스북" }, { "value": "google", "label": "구글" } ] }, { "pid": "approvalStatus", "name": "Approval Status", "valueType": "CODE", "indexable": true, "orderNo": 170, "code": [ { "value": "approved", "label": "Approved" }, { "value": "reserved", "label": "Reserved" }, { "value": "disapproved", "label": "Disapproved" } ], "defaultValue": "reserved" }, { "pid": "joinDate", "name": "가입일시", "valueType": "DATE", "indexable": true, "orderNo": 180 }, { "pid": "buyerStatus", "name": "회원상태", "valueType": "CODE", "indexable": true, "orderNo": 190, "code": [ { "value": "joined", "label": "정상" }, { "value": "withdrawn", "label": "탈퇴" }, { "value": "deleted", "label": "삭제" } ], "defaultValue": "joined" }, { "pid": "deleteYn", "name": "Delete Y/N", "valueType": "BOOLEAN", "indexable": true, "defaultValue": "false", "orderNo": 200 }, { "pid": "withdrawalYn", "name": "Withdrawal Y/N", "valueType": "BOOLEAN", "indexable": true, "defaultValue": "false", "orderNo": 210 }, { "pid": "lastLoginTime", "name": "최근로그인", "valueType": "DATE", "indexable": true, "orderNo": 1220 } ], "events": [ { "event": "duplicateEmailCheck", "name": "[FO] E-mail Duplication Check API", "noneExecute": true, "eventActions": [ { "action": "duplicateEmailCheck", "actionType": "service", "actionBody": "buyerService.duplicateEmailCheck", "beforeAction": null, "orderNo": 1 } ] }, { "event": "join", "name": "[FO] Buyer Join API", "noneExecute": true, "eventActions": [ { "action": "join", "actionType": "service", "actionBody": "buyerService.join", "beforeAction": null, "orderNo": 1 } ] }, { "event": "changeApprovalStatus", "name": "[BO] buyer 승인 / 반려 API", "noneExecute": true, "eventActions": [ { "action": "changeApprovalStatus", "actionType": "service", "actionBody": "buyerService.changeApprovalStatus", "beforeAction": null, "orderNo": 1 } ] } ] } ]

 

 

Test Data 생성

 

 

 

API 

 

 

POSTMAN TEST

download : 연습 Sample - buyer.postman_collection.json