feat: enhance FastRequest functionality with shift scheduling and improve payment callback handling
This commit is contained in:
@@ -2,32 +2,32 @@
|
||||
|
||||
namespace App\Http\Controllers\Client;
|
||||
|
||||
use App\Enums\UserEnum;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Client\FastRequestRequest;
|
||||
use App\Http\Resources\Client\DoctorResource;
|
||||
use App\Http\Resources\Client\FastRequestResource;
|
||||
use App\Http\Resources\Client\PetArchiveResource;
|
||||
use App\Models\User;
|
||||
use App\Services\Document\FastRequestService;
|
||||
use App\Services\Shift\ShiftScheduleService;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class FastRequestController extends Controller
|
||||
{
|
||||
protected FastRequestService $fastRequestService;
|
||||
|
||||
public function __construct(FastRequestService $fastRequestService)
|
||||
protected ShiftScheduleService $shiftScheduleService;
|
||||
|
||||
public function __construct(FastRequestService $fastRequestService, ShiftScheduleService $shiftScheduleService)
|
||||
{
|
||||
$this->fastRequestService = $fastRequestService;
|
||||
$this->shiftScheduleService = $shiftScheduleService;
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$pets = Auth::user()->pets()->latest()->get();
|
||||
|
||||
$doctors = User::where('level', UserEnum::Doctor->value)
|
||||
->latest()
|
||||
->get();
|
||||
$doctors = $this->shiftScheduleService->availableDoctorsAt(now());
|
||||
|
||||
return response()->json([
|
||||
'pets' => PetArchiveResource::collection($pets),
|
||||
|
||||
@@ -17,6 +17,7 @@ use App\Services\Payment\ZibalPaymentService;
|
||||
use App\Services\Wallet\WalletService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class PaymentController extends Controller
|
||||
{
|
||||
@@ -68,7 +69,7 @@ class PaymentController extends Controller
|
||||
}
|
||||
|
||||
if ($wasPending && $payment->status === PaymentStatusEnum::Paid) {
|
||||
$this->settle($payment);
|
||||
DB::transaction(fn () => $this->settle($payment));
|
||||
}
|
||||
|
||||
session()->flash('payment_result', [
|
||||
|
||||
Reference in New Issue
Block a user