<流程或限制名稱> 限制與風控規則
文件狀態:草稿
最後驗證:YYYY-MM-DD
來源:
目的
這份文件回答:
- 這條限制在哪個流程生效
- 上限怎麼算
- 使用哪些 table / Redis key / config
- 測試、staging、production 是否一致
不回答:
- 完整 API migration 狀態
- 單次測試 ID 或一次性 curl 結果
- downstream queue / payment 細節,除非它就是限制條件
快速結論
| 規則 | 類型 | 環境差異 | 對外結果 |
|---|---|---|---|
| DB count / Redis / config / production-only |
規則明細
<規則名稱>
來源:
<file>::<method>()判斷時機:
建資料前 / 建資料後 / 付款前 / worker / 通知前限制條件:
user / provider / request / category / phone / time window / count上限:
寫死值 / config key / DB 欄位 / Redis TTL使用資料:
table:
Redis key:
config:例外條件:
official user / category / user id / match type失敗 response:
{
"error": 0,
"message": ""
}環境差異:
local / PHPUnit:
staging:
production:
測試 env flag:
live DB / Redis / worker 影響:測試注意:
fixture:
cleanup:
是否受時間窗影響:排查 SQL / 指令
涉及 pro360_api_82 DB / schema 查詢時:
使用容器 PHP 8.2 + DBFactory。
先 SHOW COLUMNS,再 SELECT。
不要用本機 PHP 直接查 DB。常見誤判
- 不要把測試 cleanup 用到的 table 誤認為限制來源。
- 不要把 Redis 短 TTL 去重誤認為每日或每月上限。
- staging 成功不代表 production-only guard 不存在。