Project

General

Profile

Actions

Task #571

closed
RA

[TASK-A-37] C-10:card-service 補齊 5 端點,卡號加密真正接上 ✅

Task #571: [TASK-A-37] C-10:card-service 補齊 5 端點,卡號加密真正接上 ✅

Added by Redmine Admin 8 days ago. Updated 8 days ago.

Status:
Closed
Priority:
P2-Normal
Assignee:
-
Start date:
10/18/2026
Due date:
% Done:

100%

Estimated time:
Story Points:

Description

來源(唯一權威):HANDOVER.md §3.A 之 #A-37

  • 完成時刻:10:30
  • 證據:SPEC 先行(SCS-003 1.0→1.1 設計,實作後→1.2 含實測)。補齊契約原已宣告但未實作之 5 端點:發卡/快發快綁/Token 綁定/Token 查詢/申請案件(8 端點全數到位)。卡號三態真正接上:FieldEncryptor.encrypt(pan)→card_no_enc、PiiMasker.maskCardNumber→card_no_masked、SHA-256 小寫→card_no_hash;實測證明三態同源(由遮罩反推卡號 4111113994379682,其 sha256 與庫內 card_no_hash 完全相同)。號碼池給號:Luhn 檢查碼、issued_card_numbers PK 原子防重、card_no_pool 樂觀鎖(實測 used=2/version=2)。冪等:新增 V2__card_idempotency.sql,比照 party 慣例(同鍵同指紋重放/異指紋 409)。契約修正 3 處(改 gen_openapi.py 重產,未手改 YAML):Token 綁定之請求 schema、申請案件之請求/回應 schema 原誤用他處定義;快發快綁補 threeFactors(原無,致 CC-CARD-1002 永不會觸發)。⚠️ 揭露 4 項(SCS-003 §10 #14–#17):ticketType 無欄位可存、specifiedCardNo 契約描述(7-8 碼)與 16 碼卡號結構不符、card_no_pool 無 product_code 故不支援依產品選池、bindPlatform 未實際建立 Token。順帶修正:既有 GET /cards/{cardId} 查無由 409 改 404(查無呼叫端依賴)。測試 card-service 36 個(原 1);全專案 262 個 / 0 失敗;品質關卡全過
  • 匯入方式:ops/redmine/import_all_tasks.py(HANDOVER §3.A 表格;2026-10-18)

★ 本 issue 為鏡像;狀態更正請改 HANDOVER 並 commit,再重跑同步。

No data to display

Actions

Also available in: PDF Atom