SWITCH
case에 따라 flow를 분기할 수 있다.
inputValue(input 위치에서 찾은 데이터)의 row count 만큼 roof 돌며 각 아이템에 대하여 switchTerms 의 filter에 매치되는 첫번째 terms의 flowComponent를 실행하고 break
Define field
Switch
ID | Description |
---|---|
id | switch flow component id |
name | 이름 |
input | flow Component 처리 기준 데이터 위치 |
filter | 현재 flow Component 실행여부 판단 |
next | 다음 flow Component id ( |
Switch Terms (case)
ID | Description |
---|---|
id | terms id |
filter | 현재 terms 실행여부 판단. true이면 실행 후 break |
flowComponent | flow Component id |
switch start
next |
sample
{
"typeId": "switch",
"id": 1350532542,
"name": "set payment by payMethod",
"input": "pg",
"filter": {
"typeId": "filter", "id": null, "name": "PG 승인 여부", "type": "filter", "isNot": false, "conjunction": "and",
"filterTerms": [
{ "typeId": "filterTerms", "id": null, "field": "id", "isNot": false, "method": "equals", "value": "context.pg.orderId" },
{ "typeId": "filterTerms", "id": null, "field": "context.pg.result", "isNot": false, "method": "equals", "value": "success" }
]
},
"switchTerms": [
{
"typeId": "switchTerms", "id": 1905260071,
"filter": {
"typeId": "filter", "id": null, "name": "신용카드 결제", "type": "filter", "isNot": false, "conjunction": "and",
"filterTerms": [
{ "typeId": "filterTerms", "id": null, "field": "payMethod", "isNot": false, "method": "equals", "value": "creditCard" }
]
},
"flowComponent": {
"typeId": "mapper",
"id": 734543391,
"name": "set creditCardPayment",
"input": "pg",
"output": "pg.creditCardPayment",
"mapperTerms": [
{ "id": null, "field": "cardCode", "method": "mapping", "valueType": "string", "value": "creditCardCode" },
{ "id": null, "field": "name", "method": "mapping", "valueType": "string", "value": "creditCardName" },
{ "id": null, "field": "cardNo", "method": "mapping", "valueType": "string", "value": "creditCardNo" },
{ "id": null, "field": "appNo", "method": "mapping", "valueType": "string", "value": "approvalNo" },
{ "id": null, "field": "appTime", "method": "mapping", "valueType": "string", "value": "approvalDate" },
{ "id": null, "field": "quota", "method": "mapping", "valueType": "string", "value": "installment" },
{ "id": null, "field": "paymentPrice", "method": "mapping", "valueType": "long", "value": "price" }
],
"next": 2105442359
}
},
{
"typeId": "switchTerms", "id": 1567654191,
"filter": {
"typeId": "filter", "id": null, "name": "휴대폰 결제 ", "type": "filter", "isNot": false, "conjunction": "and",
"filterTerms": [
{ "typeId": "filterTerms", "id": null, "field": "payMethod", "isNot": false, "method": "equals", "value": "mobile" }
]
},
"flowComponent": {
"typeId": "mapper",
"id": 1852146720,
"name": "set mobilePayment",
"input": "pg",
"output": "pg.mobilePayment",
"mapperTerms": [
{ "id": null, "field": "paymentCompanyCode", "method": "mapping", "valueType": "string", "value": "paymentCompany" },
{ "id": null, "field": "objectType", "method": "mapping", "valueType": "string", "value": "type" },
{ "id": null, "field": "carrierCode", "method": "mapping", "valueType": "string", "value": "carrier" },
{ "id": null, "field": "cellphone", "method": "mapping", "valueType": "string", "value": "phoneNumber" },
{ "id": null, "field": "paymentPrice", "method": "mapping", "valueType": "long", "value": "price" }
],
"next": 2105442359
}
}
]
}