Project

General

Profile

Actions

CR #898

open
RA

[CR-083] 額度「佔用 → 已用」之跨服務缺口(消費不會推升 `used_amount`)

CR #898: [CR-083] 額度「佔用 → 已用」之跨服務缺口(消費不會推升 `used_amount`)

Added by Redmine Admin about 15 hours ago. Updated about 15 hours ago.

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

Also available in: PDF Atom