feat: implement withdrawal improvements P01-P05

- P04: fix Withdrawal.TableName() to return 'withdrawals'
- P03: add WithdrawalStatus* and WithdrawalMethod* constants; replace magic numbers; add CommissionTypeWithdrawCancel=338
- P01: add POST /v1/public/user/withdrawal_cancel to cancel pending withdrawals with ownership check, row lock, commission refund, and audit log
- P02: add method/account/qr_code_url fields to Withdrawal model and API; add input validation (qr_code_url required for Alipay/Wechat, account required for bank)
- P05: add method filter to admin GET /v1/admin/user/withdrawal/list

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-25 20:44:04 -07:00
parent a6e9e2bdb8
commit 8b75be6e14
16 changed files with 219 additions and 17 deletions
+1
View File
@@ -235,6 +235,7 @@ type (
Size int `form:"size"`
UserId *int64 `form:"user_id,omitempty"`
Status *uint8 `form:"status,omitempty"`
Method *uint8 `form:"method,omitempty"`
}
GetWithdrawalListResponse {
List []WithdrawalLog `json:"list"`