some edits for pargar

This commit is contained in:
2026-07-27 15:44:21 +03:30
parent a849150339
commit d4fba50845
2 changed files with 30 additions and 100 deletions
@@ -336,7 +336,7 @@ class PargarInboundController extends Controller
$desc = $pendingOutbound
? 'مانده دریافت شد — منتظر ثبت سند پنل در پرگار'
: ($hasDiff
? 'اختلاف مانده پرگار با اپ — پس از تأیید پایداری اعمال می‌شود'
? 'اختلاف مانده پرگار با اپ — در حال اعمال روی کیف'
: 'دریافت مانده از پرگار — بدون اختلاف');
PargarSyncLog::create([
@@ -356,17 +356,33 @@ class PargarInboundController extends Controller
]), JSON_UNESCAPED_UNICODE),
]);
// همیشه صف همگام‌سازی: اگر سند pending نباشد اعمال می‌شود؛ وگرنه بعد از تأیید سند اعمال می‌شود
$this->inboundWallet()->queueWalletSyncAfterResponse((int) $customer->id);
// سند pending نباشد → مانده را همین‌جا اعمال کن تا تغییر دستی حسابدار فوری روی اپ بنشیند
// (صف afterResponse برای وقتی است که هنوز باید منتظر ثبت سند پنل بمانیم)
if ($pendingOutbound) {
$this->inboundWallet()->queueWalletSyncAfterResponse((int) $customer->id);
$appliedNow = false;
} else {
$appliedNow = false;
try {
$syncResult = $this->inboundWallet()->syncWalletFromPargar($customer, forceMande: false, auto: true);
$appliedNow = (bool) ($syncResult['mande']['applied'] ?? false);
} catch (\Throwable $e) {
report($e);
$this->inboundWallet()->queueWalletSyncAfterResponse((int) $customer->id);
}
}
return response()->json([
'success' => true,
'message' => $pendingOutbound
? 'مانده ذخیره شد؛ بعد از ثبت سند در پرگار خودکار سینک می‌شود'
: 'مانده دریافت شد؛ همگام‌سازی خودکار در صف است',
: ($appliedNow
? 'مانده دریافت و روی کیف اپ اعمال شد'
: 'مانده دریافت شد؛ همگام‌سازی انجام شد'),
'data' => [
'awaiting_outbound_confirm' => $pendingOutbound,
'auto_sync_queued' => true,
'wallet_applied' => $appliedNow,
'auto_sync_queued' => $pendingOutbound,
],
]);
}