<?php declare(strict_types = 1); namespace App\Http\Controllers\Outpatient; use App\Exceptions\GeneralException; use App\Http\Logics\Outpatient\PaymentLogic; use App\Http\Resources\Outpatient\Pending\PendingListsResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class PaymentController { protected PaymentLogic $payment_logic; /** * PaymentController Construct. */ public function __construct() { $this->payment_logic = new PaymentLogic(); } /** * 缴费 * @param Request $request * @param string $patient_id * @param string $serial_no * @return JsonResponse * @throws GeneralException */ public function payment(Request $request, string $patient_id, string $serial_no): JsonResponse { $validated = $request->validate([ 'prescription_ids' => 'required', 'reg_id' => 'required', ], [ 'prescription_ids.required' => '请选择要缴纳的处方', 'reg_id.required' => '请选择要缴纳的处方', ]); $response = $this->payment_logic->payment($patient_id, $serial_no, $validated['prescription_ids'], $validated['reg_id']); return jsonResponse(Response::HTTP_OK, 'success', PendingListsResource::make($response)->toArray()); } }