forked from SeungpilPark/uEngine-bill
-
Notifications
You must be signed in to change notification settings - Fork 7
Overdue(연체) 규칙 생성 및 프레임워크 등록 분석서
SeungpilPark edited this page Mar 20, 2017
·
1 revision
킬빌의 연체 규칙 관리는 카달로그와 마찬가지로 테넌트별 xml 로 관리하는데, api 를 통해 등록할때는 json 으로 등록하는 점이 다르다.
json 으로 overdue 를 기술하는 것은 Undocument 요소이기 때문에 소스코드를 바탕으로 파악된 아래 견본을 따르도록 한다.
- 견본 xml
<overdueConfig>
<accountOverdueStates>
<state name="OD3">
<condition>
<timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
<unit>DAYS</unit><number>50</number>
</timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
</condition>
<externalMessage>Reached OD3</externalMessage>
<blockChanges>true</blockChanges>
<disableEntitlementAndChangesBlocked>true</disableEntitlementAndChangesBlocked>
<autoReevaluationInterval>
<unit>DAYS</unit><number>5</number>
</autoReevaluationInterval>
</state>
<state name="OD2">
<condition>
<timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
<unit>DAYS</unit><number>40</number>
</timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
</condition>
<externalMessage>Reached OD2</externalMessage>
<blockChanges>true</blockChanges>
<disableEntitlementAndChangesBlocked>true</disableEntitlementAndChangesBlocked>
<autoReevaluationInterval>
<unit>DAYS</unit><number>5</number>
</autoReevaluationInterval>
</state>
<state name="OD1">
<condition>
<timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
<unit>DAYS</unit><number>30</number>
</timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
</condition>
<externalMessage>Reached OD1</externalMessage>
<blockChanges>true</blockChanges>
<disableEntitlementAndChangesBlocked>false</disableEntitlementAndChangesBlocked>
<autoReevaluationInterval>
<unit>DAYS</unit><number>5</number>
</autoReevaluationInterval>
</state>
</accountOverdueStates>
</overdueConfig>
- json 해석
{
"initialReevaluationInterval": 0,
"overdueStates": [
{
"name": "OD3",
"isClearState": false,
"condition": {
"timeSinceEarliestUnpaidInvoiceEqualsOrExceeds": {
"unit": "DAYS",
"number": "50"
}
},
"externalMessage": "Reached OD3",
"blockChanges": "true",
"disableEntitlement": "true",
"autoReevaluationIntervalDays": 5
},
{
"name": "OD2",
"isClearState": false,
"condition": {
"timeSinceEarliestUnpaidInvoiceEqualsOrExceeds": {
"unit": "DAYS",
"number": "40"
}
},
"externalMessage": "Reached OD2",
"blockChanges": "true",
"disableEntitlement": "true",
"autoReevaluationIntervalDays": 5
},
{
"name": "OD1",
"isClearState": false,
"condition": {
"timeSinceEarliestUnpaidInvoiceEqualsOrExceeds": {
"unit": "DAYS",
"number": "30"
}
},
"externalMessage": "Reached OD1",
"blockChanges": "true",
"disableEntitlement": "false",
"autoReevaluationIntervalDays": 5
}
]
}