You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.4 KiB
PHP
117 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\API\His;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Lib\Rs;
|
|
use App\Services\HisApplicationService;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ApplicationController extends Controller
|
|
{
|
|
private HisApplicationService $hisApplicationService;
|
|
|
|
public function __construct(HisApplicationService $hisApplicationService)
|
|
{
|
|
$this->hisApplicationService = $hisApplicationService;
|
|
}
|
|
|
|
public function create(Request $request)
|
|
{
|
|
$params = $request->all();
|
|
|
|
$result = $this->hisApplicationService->createApplication($params);
|
|
|
|
if ($result['success']) {
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
} else {
|
|
return Rs::error($result['message']);
|
|
}
|
|
}
|
|
|
|
public function paymentNotify(Request $request)
|
|
{
|
|
$params = $request->all();
|
|
$hisRequestNo = $params['his_request_no'] ?? null;
|
|
$paymentStatus = $params['payment_status'] ?? null;
|
|
|
|
if (empty($hisRequestNo)) {
|
|
return Rs::error('缺少必填字段: his_request_no');
|
|
}
|
|
|
|
if (!isset($paymentStatus)) {
|
|
return Rs::error('缺少必填字段: payment_status');
|
|
}
|
|
|
|
$result = $this->hisApplicationService->paymentNotify($hisRequestNo, (int)$paymentStatus);
|
|
|
|
if ($result['success']) {
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
} else {
|
|
return Rs::error($result['message']);
|
|
}
|
|
}
|
|
|
|
public function cancelNotify(Request $request)
|
|
{
|
|
$params = $request->all();
|
|
$hisRequestNo = $params['his_request_no'] ?? null;
|
|
$cancelReason = $params['cancel_reason'] ?? null;
|
|
|
|
if (empty($hisRequestNo)) {
|
|
return Rs::error('缺少必填字段: his_request_no');
|
|
}
|
|
|
|
$result = $this->hisApplicationService->cancelNotify($hisRequestNo, $cancelReason);
|
|
|
|
if ($result['success']) {
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
} else {
|
|
return Rs::error($result['message']);
|
|
}
|
|
}
|
|
|
|
public function queryAppointment(Request $request)
|
|
{
|
|
$result = $this->hisApplicationService->queryAppointment($request->all());
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
}
|
|
|
|
public function checkIn(Request $request)
|
|
{
|
|
$params = $request->all();
|
|
$hisRequestNo = $params['his_request_no'] ?? null;
|
|
|
|
if (empty($hisRequestNo)) {
|
|
return Rs::error('缺少必填字段: his_request_no');
|
|
}
|
|
|
|
$result = $this->hisApplicationService->checkIn($hisRequestNo);
|
|
|
|
if ($result['success']) {
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
} else {
|
|
return Rs::error($result['message']);
|
|
}
|
|
}
|
|
|
|
public function cancelCheckIn(Request $request)
|
|
{
|
|
$params = $request->all();
|
|
$hisRequestNo = $params['his_request_no'] ?? null;
|
|
$reason = $params['reason'] ?? null;
|
|
|
|
if (empty($hisRequestNo)) {
|
|
return Rs::error('缺少必填字段: his_request_no');
|
|
}
|
|
|
|
$result = $this->hisApplicationService->cancelCheckIn($hisRequestNo, $reason);
|
|
|
|
if ($result['success']) {
|
|
return Rs::success($result['data'] ?? null, $result['message']);
|
|
} else {
|
|
return Rs::error($result['message']);
|
|
}
|
|
}
|
|
}
|