From 2c4865cde7cab342355d32e018f348bdb0f2e412 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Fri, 24 Feb 2023 16:58:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=8C=BB?= =?UTF-8?q?=E7=94=9F=E8=AF=81=E4=B9=A6=E4=BF=A1=E6=81=AF=E3=80=81=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E8=8E=B7=E5=8F=96=E4=B8=93=E5=9C=BA=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/UserDoctorController.php | 11 +++++ app/Services/UserDoctorService.php | 66 +++++++++++++++++++++++++ config/routes.php | 13 ++--- 3 files changed, 84 insertions(+), 6 deletions(-) diff --git a/app/Controller/UserDoctorController.php b/app/Controller/UserDoctorController.php index 5afe677..e7cd30b 100644 --- a/app/Controller/UserDoctorController.php +++ b/app/Controller/UserDoctorController.php @@ -212,4 +212,15 @@ class UserDoctorController extends AbstractController $data = $UserDoctorService->getDoctorCenterInfo(); return $this->response->json($data); } + + /** + * 获取医生证书信息 + * @return ResponseInterface + */ + public function getDoctorCret(): ResponseInterface + { + $UserDoctorService = new UserDoctorService(); + $data = $UserDoctorService->getDoctorCret(); + return $this->response->json($data); + } } \ No newline at end of file diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index 5af4d48..3d627f6 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -680,7 +680,73 @@ class UserDoctorService extends BaseService return success($user_doctor->toArray()); } + /** + * 获取医生证书信息 + * @return array + */ + public function getDoctorCret(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + // 获取医生信息 + $params = array(); + $params['doctor_id'] = $user_info['client_user_id']; + + $fields = [ + 'doctor_id', + 'iden_auth_status', + 'idcard_status', + 'multi_point_status', + ]; + $user_doctor = UserDoctor::getOne($params, $fields); + if (empty($user_doctor)) { + return fail(HttpEnumCode::HTTP_ERROR, "非法医生"); + } + + $res = $this->checkDoctorAuth($user_doctor); + if ($res !== true) { + return fail(HttpEnumCode::HTTP_ERROR, $res); + } + + // 获取医生详情 + $params = array(); + $params['doctor_id'] = $user_info['client_user_id']; + $user_doctor_info = UserDoctorInfo::getOne($params); + if (empty($user_doctor_info)){ + return success(); + } + + $result = array(); + + // 医师执业证 + if (!empty($user_doctor_info['license_cert'])) { + $license_cert = explode(',', $user_doctor_info['license_cert']); + foreach ($license_cert as &$item) { + $item = addAliyunOssWebsite($item); + } + $result['license_cert'] = $license_cert; + } + + // 医师职称证 + if (!empty($user_doctor_info['qualification_cert'])) { + $qualification_cert = explode(',', $user_doctor_info['qualification_cert']); + foreach ($qualification_cert as &$item) { + $item = addAliyunOssWebsite($item); + } + $result['qualification_cert'] = $qualification_cert; + } + + // 医师资格证 + if (!empty($user_doctor_info['work_cert'])) { + $work_cert = explode(',', $user_doctor_info['work_cert']); + foreach ($work_cert as &$item) { + $item = addAliyunOssWebsite($item); + } + $result['work_cert'] = $work_cert; + } + + return success($result); + } /** diff --git a/config/routes.php b/config/routes.php index b21a28d..d60090d 100644 --- a/config/routes.php +++ b/config/routes.php @@ -59,12 +59,6 @@ Router::addGroup('/doctor', function () { Router::post('/multi', [DoctorAuthController::class, 'addAuthMulti']); }); - // 专长 - Router::addGroup('/expertise', function () { - // 获取医生专长列表-身份认证 - Router::get('', [UserDoctorController::class, 'getAuthDoctorExpertise']); - }); - // 问诊配置 Router::addGroup('/inquiry', function () { // 获取医生问诊配置 @@ -143,7 +137,14 @@ Router::addGroup('/doctor', function () { Router::post('', [UserDoctorController::class, 'addDoctorWords']); }); + // 医生数据 + Router::addGroup('/info', function () { + // 获取医生证书信息 + Router::get('/cret', [UserDoctorController::class, 'getDoctorCret']); + // 获取医生专长列表-身份认证 + Router::get('/expertise', [UserDoctorController::class, 'getAuthDoctorExpertise']); + }); });