[연습] buyer - 결과
- Hannah
Owned by Hannah
“화면설계서와 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