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']); + }); });