Actions
CR #898
open
RA
[CR-083] 額度「佔用 → 已用」之跨服務缺口(消費不會推升 `used_amount`)
CR #898:
[CR-083] 額度「佔用 → 已用」之跨服務缺口(消費不會推升 `used_amount`)
Status:
New
Priority:
P1-High
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Story Points:
Description
h2. 來源文件
/Users/ecsrevamp/Documents/GitHub/WorkBuddy/cardcore/docs/05-change-requests/CR-083_額度佔用結算(佔用→已用)之跨服務缺口.md
h2. 摘要(節錄自文件)
| 項目 | 內容 |
|---|---|
| 文件編號 | CR-083 |
| 版本 | 1.0 |
| 日期 | 2026-10-25 |
| 提出者 | WorkBuddy AI(開發團隊) |
| 緣起 |
CR-073 GAP-003⑪-1(5-11 每期出帳)之事實查證(GAP-003 §1.5 B) |
| 狀態 | 待 BEAM PMO 核定(本文件為提案) |
| 影響範圍 |
limit-service(主要)、installment-service(消費端)、authorization-service(未來)、契約、SCS-002、ACL |
| 關聯 |
CR-073 #886、SCS-002、SCS-009 §7.8、SDD-001 §3.4、SDD-005 §3
|
1. 現象(不是推論,是實查)¶
目前專案中沒有任何路徑會因為「消費」而增加 CC_LIM.ACCOUNT_LIMITS.USED_AMOUNT。
| 查證項 | 實查結果 |
|---|---|
LimitRepository 之寫入方法 |
createHold/releaseHold/restoreUsedAmount(減)/reoccupyUsedAmount(加,但語意為「繳款沖正後重新佔用」)/applyAdjustedAmount/raiseTemporary/lowerTemporary
|
LimitController 之端點 |
只有 5 個:查帳戶額度、查載具額度、建佔用、查專用額度適用、釋放佔用——無 settle/consume |
restoreUsedAmount/reoccupyUsedAmount 之呼叫者 |
僅 JdbcPaymentPostedProjectionRepository(繳款入帳→恢復)與 JdbcPaymentReoccupyProjectionRepository(繳款沖正→重新佔用) |
PostingTransactionPostedListener(limit 端) |
只做 8-6 專用額度迄日校正(CR-035 §2.4),不更新 used_amount
|
StatementIssuedListener(limit 端) |
只做 8-6 迄日校正,不更新 used_amount
|
後果:used_amount 在現行系統中只會「因繳款而減少、因繳款沖正而加回」,
不會因刷卡/分期出帳而增加——它是一個只降不升的欄位。
2. 影響¶
| # | 影響 | 嚴重度 |
|---|---|---|
| 1 |
BRD-004 5-11「出帳金額佔卡人額度」無法成立(CR-073 唯一未交付條文) |
高(POC 驗收項) |
| 2 |
可用額度之計算失真:available = permanent + temporary − used − hold。消費若只留在 hold,則交易一旦被「釋放」(取消/逾期)額度就全回來,已實際消費的金額從未計入已用
|
高(資金風險) |
| 3 | 帳單金額與額度已用不一致:帳單有金額、used_amount 卻沒動 → 對帳差異無法解釋 |
高 |
| 4 |
CC_LIM 之 used_amount 實質成為「歷史殘值」,報表/風控引用即失真 |
中 |
⚠️ 第 2 點意味著本缺口不只影響 5-11,而是全專案消費鏈路的共同缺口。
3. 選項與建議¶
完整內容以版本受控文件為準(GOV-008 §2 單一真實來源)。
Actions