feat: add idempotency support for settlement adjustments and payments, fix rebate handling
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled

- Added idempotency_key parameter to settlement bill adjustment and payment endpoints to prevent duplicate operations
- Fixed player rebate profile updates to preserve existing values when only one field is modified
- Moved wallet player validation earlier in AdminPlayerStoreController to prevent unnecessary processing
- Enhanced extra rebate calculation to include 'in_bill' and 'settled' statuses in AgentP
This commit is contained in:
2026-06-23 16:49:57 +08:00
parent 9a7522e928
commit 3c57941895
20 changed files with 734 additions and 127 deletions

View File

@@ -17,6 +17,7 @@ final class AdminSettlementBillAdjustmentRequest extends ApiFormRequest
'amount' => ['required', 'integer', 'not_in:0'],
'adjustment_type' => ['sometimes', 'string', 'in:adjustment,reversal'],
'reason' => ['sometimes', 'nullable', 'string', 'max:255'],
'idempotency_key' => ['sometimes', 'nullable', 'string', 'max:64'],
];
}
}

View File

@@ -18,6 +18,7 @@ final class AdminSettlementBillPaymentRequest extends ApiFormRequest
'method' => ['sometimes', 'nullable', 'string', 'max:32'],
'proof' => ['sometimes', 'nullable', 'string', 'max:2000'],
'remark' => ['sometimes', 'nullable', 'string', 'max:255'],
'idempotency_key' => ['sometimes', 'nullable', 'string', 'max:64'],
];
}
}