Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • inputValue(input 위치에서 찾은 데이터)의 row count 만큼 roof 돌며 각 아이템에 대하여 하위 filter 또는 filterTerms 처리 후 output에 반환

 Define field

Filter

...

Field Id

...

Description

...

id

...

name

...

type

...

input

...

isNot

...

conjunction

...

output

Filter Terms

...

Field Id

...

Description

...

id

...

field

...

isNot

...

method

...

value

  • filter의 type 에 따라 filter를 hierarchy 하게 구성 가능

    • type = conjunction → 하위 filters

    • type = filter → filterTerms

  • conjunction 에 따라 filters 또는 filterTerms를

    Status
    titleAND
    ,
    Status
    titleOR
    논리 연산한다.

  • isNot 이 true 이면 논리연산값을 부정처리한다.

...

 Define field

Filter

ID

Description

id

query flow component id

name

이름

type

  • filter

  • conjunction

input

flow Component 처리 기준 데이터 위치

isNot

부정연산 ( true / false )

conjunction

논리연산 ( and, or, exist )

output

flow Component 처리 결과 위치

filters

type = conjunction 인경우 하위 filter 설정

filterTerms

type = filter 인경우 하위 filterTerms 설정

next

다음 flow Component id

Filter Terms

ID

Description

id

filter terms id

field

비교연산 기준 데이터 위치

"field": "id"

"field": "context.pg.id"

"field": "session.userId"

isNot

부정연산 ( true / false )

method

관계 연산자 (아래 상세 설명)

value

조건값

Filter Terms Method

ID

Description

equals

contains

exist

startWith

endsWith

above

below

fromto

Flow Component

output 위치에 논리연산값 반환 후 next

filter start

  • get value of "input" position (inputValue)

  • roof inputValue

    • if type = conjunction

      • roof filters

    • if type = filter

      • roof filterTerms

        • run each "terms"

        • get the value of the "method" processed "value" position (termsValue)

        • set "field" as the key, "termsValue" as the value

  • put the value of the "output" position

next

 

Component inner filter

논리연산값에 따라 현재 flow Component 실행여부 판단

flowComponent start

→ mapper, reducer, trigger, switch, switchTerms, validation

  • get value of "input" position (inputValue)

  • roof inputValue

    • filter exists

    • if type = conjunction

      • roof filters

    • if type = filter

      • roof filterTerms

        • run each "terms"

        • get the value of the "method" processed "value" position (termsValue)

        • set "field" as the key, "termsValue" as the value

    • The result of the final logical operation of "filter"

      • Status
        titleTRUE
        execute flowComponent

      • Status
        titleFALSE
        continue

next

 

Status
colourBlue
titleSAMPLE
Flow Component

Code Block
[
  {
    "typeId": "filter",
    "id": 97734146,
    "name": "TEST filter",
    "type": "conjunction",
    "input": "context.cartProductList",
    "isNot": false,
    "conjunction": "and",
    "filters": [
      {
        "typeId": "filter", "id": 977341461, "name": "TEST subFilter 1", "type": "filter", "isNot": false, "conjunction": "or",
        "filterTerms": [
          { "typeId": "filterTerms", "id": 555, "field": "existOption", "isNot": true, "method": "equals", "value": "true" },
          { "typeId": "filterTerms", "id": 554, "field": "existOption",  "isNot": false,  "method": "equals", "value": "true" }
        ]
      },
      {
        "typeId": "filter", "id": 977341462, "name": "TEST subFilter 2", "type": "filter", "isNot": false, "conjunction": "and",
        "filterTerms": [
          { "typeId": "filterTerms", "id": 556, "field": "existOption", "isNot": true, "method": "equals", "value": "true" }
        ]
      }
    ],
    "output": "filterCartProducts"
  }
]

Status
colourBlue
titleSAMPLE
Component inner filter

Code Block
{
  "typeId": "trigger",
  "id": 685630802,
  "name": "create Cart",
  "input": "cart",
  "output": "cart.node",
  "filter": {
    "typeId": "filter", "id": null, "name": "cart Id 존재 여부", "type": "filter", "isNot": false, "conjunction": "and",
    "filterTerms": [
      { "typeId": "filterTerms", "id": null, "field": "id", "isNot": true, "method": "exist", "value": "" }
    ]
  },
  "processEvent": { "typeId": "processEvent", "id" : "createCart", "name": "장바구니 생성", "tid": "cart", "targetEvent": "create" },
  "next": 15054316
}