feat: Enhance settlement and draw management functionality
- Implement error handling for skipped settlement runs in DrawSettlementRunController, returning appropriate error messages based on draw status. - Add validation in DrawPublishService to ensure draws are ready for publication, rejecting outdated result batches. - Update SettlementBatchWorkflowService to revert ticket statuses upon settlement rejection and restore jackpot pool amounts. - Refactor LotteryTransferService to improve transaction handling for transfer order reconciliation, ensuring idempotency during reversals. - Add multi-language support for new error messages related to settlement processes.
This commit is contained in:
@@ -36,8 +36,21 @@ final class DrawSettlementRunController extends Controller
|
||||
|
||||
$draw->refresh();
|
||||
|
||||
if (! $ran) {
|
||||
return ApiResponse::error(
|
||||
trans('admin.settlement_run_skipped', [], $request->lotteryLocale()),
|
||||
ErrorCode::ClientHttpError->value,
|
||||
[
|
||||
'draw_no' => $draw->draw_no,
|
||||
'status' => $draw->status,
|
||||
'settle_version' => (int) $draw->settle_version,
|
||||
],
|
||||
409,
|
||||
);
|
||||
}
|
||||
|
||||
return ApiResponse::success([
|
||||
'ran' => $ran,
|
||||
'ran' => true,
|
||||
'draw_no' => $draw->draw_no,
|
||||
'status' => $draw->status,
|
||||
'settle_version' => (int) $draw->settle_version,
|
||||
|
||||
Reference in New Issue
Block a user