카드 정산 업무 규칙과 전환 불변식 추출 (codex-bais-final3-20260713-192718-BAIS-SPRING-ANA-CARD-001)
This commit is contained in:
parent
b50dd867f3
commit
7f77947983
1 changed files with 76 additions and 0 deletions
|
|
@ -0,0 +1,76 @@
|
|||
package com.bais.card.settlement;
|
||||
|
||||
/**
|
||||
* Settlement Invariants Table Generator
|
||||
* Markdown 형식의 불변식 표 생성
|
||||
*/
|
||||
public class SettlementInvariantTable {
|
||||
|
||||
public static String generateMarkdownTable() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("# 카드 정산 불변식 표 (Card Settlement Invariants)\n\n");
|
||||
sb.append("**범위**: card-settlement-migration\n\n");
|
||||
|
||||
sb.append("## 1. 브랜드 정산 불변식\n\n");
|
||||
sb.append("| ID | 설명 | 수식 | 영향 클래스 | 보존 주의사항 |\n");
|
||||
sb.append("|---|---|---|---|---|\n");
|
||||
for (SettlementInvariant.Invariant inv : SettlementInvariant.getAllInvariants()) {
|
||||
if (inv.getId().startsWith("BRAND_SETTLEMENT") || inv.getId().startsWith("BRAND_COMMISSION")) {
|
||||
sb.append(String.format("| %s | %s | %s | %s | %s |\n",
|
||||
inv.getId(), inv.getDescription(), inv.getFormula(),
|
||||
inv.getAffectedClass(), inv.getPreservationNote()));
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n## 2. IRD 불변식\n\n");
|
||||
sb.append("| ID | 설명 | 수식 | 영향 클래스 | 보존 주의사항 |\n");
|
||||
sb.append("|---|---|---|---|---|\n");
|
||||
for (SettlementInvariant.Invariant inv : SettlementInvariant.getAllInvariants()) {
|
||||
if (inv.getId().startsWith("IRD")) {
|
||||
sb.append(String.format("| %s | %s | %s | %s | %s |\n",
|
||||
inv.getId(), inv.getDescription(), inv.getFormula(),
|
||||
inv.getAffectedClass(), inv.getPreservationNote()));
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n## 3. 발급사 수수료 불변식\n\n");
|
||||
sb.append("| ID | 설명 | 수식 | 영향 클래스 | 보존 주의사항 |\n");
|
||||
sb.append("|---|---|---|---|---|\n");
|
||||
for (SettlementInvariant.Invariant inv : SettlementInvariant.getAllInvariants()) {
|
||||
if (inv.getId().startsWith("ISSUER")) {
|
||||
sb.append(String.format("| %s | %s | %s | %s | %s |\n",
|
||||
inv.getId(), inv.getDescription(), inv.getFormula(),
|
||||
inv.getAffectedClass(), inv.getPreservationNote()));
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n## 4. 공통 금액 검증 불변식\n\n");
|
||||
sb.append("| ID | 설명 | 수식 | 영향 클래스 | 보존 주의사항 |\n");
|
||||
sb.append("|---|---|---|---|---|\n");
|
||||
for (SettlementInvariant.Invariant inv : SettlementInvariant.getAllInvariants()) {
|
||||
if (inv.getId().startsWith("AMOUNT")) {
|
||||
sb.append(String.format("| %s | %s | %s | %s | %s |\n",
|
||||
inv.getId(), inv.getDescription(), inv.getFormula(),
|
||||
inv.getAffectedClass(), inv.getPreservationNote()));
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n## 5. 금액 정밀도 불변식\n\n");
|
||||
sb.append("| ID | 설명 | 수식 | 영향 클래스 | 보존 주의사항 |\n");
|
||||
sb.append("|---|---|---|---|---|\n");
|
||||
for (SettlementInvariant.Invariant inv : SettlementInvariant.getAllInvariants()) {
|
||||
if (inv.getId().equals("AMOUNT_SCALE") || inv.getId().equals("ROUNDING_MODE")) {
|
||||
sb.append(String.format("| %s | %s | %s | %s | %s |\n",
|
||||
inv.getId(), inv.getDescription(), inv.getFormula(),
|
||||
inv.getAffectedClass(), inv.getPreservationNote()));
|
||||
}
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(generateMarkdownTable());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue