CheckCondition checks if a balance meets the condition specified by a BalanceMonitor. It compares various balance fields (e.g., debit balance, credit balance) against the precise value.
(b *Balance)
| 452 | // CheckCondition checks if a balance meets the condition specified by a BalanceMonitor. |
| 453 | // It compares various balance fields (e.g., debit balance, credit balance) against the precise value. |
| 454 | func (bm *BalanceMonitor) CheckCondition(b *Balance) bool { |
| 455 | switch bm.Condition.Field { |
| 456 | case "debit_balance": |
| 457 | return compare(b.DebitBalance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 458 | case "credit_balance": |
| 459 | return compare(b.CreditBalance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 460 | case "balance": |
| 461 | return compare(b.Balance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 462 | case "inflight_debit_balance": |
| 463 | return compare(b.InflightDebitBalance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 464 | case "inflight_credit_balance": |
| 465 | return compare(b.InflightCreditBalance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 466 | case "inflight_balance": |
| 467 | return compare(b.InflightBalance, bm.Condition.Operator, bm.Condition.PreciseValue) |
| 468 | } |
| 469 | return false |
| 470 | } |
| 471 | |
| 472 | // ToInternalTransaction converts an ExternalTransaction to an InternalTransaction. |
| 473 | // This is useful when reconciling external transactions with internal records. |