From 150411b0dab3ff0d628b1c47434cf8c8ff1706f1 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Fri, 17 Mar 2023 16:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=BA=AB=E4=BB=BD=E8=AE=A4?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/DoctorAuthController.php | 5 ++ app/Request/DoctorAuthRequest.php | 16 ++++- app/Services/DoctorAuthService.php | 94 +++++++++++++------------ config/routes.php | 5 ++ 4 files changed, 73 insertions(+), 47 deletions(-) diff --git a/app/Controller/DoctorAuthController.php b/app/Controller/DoctorAuthController.php index af08fa0..6e4345b 100644 --- a/app/Controller/DoctorAuthController.php +++ b/app/Controller/DoctorAuthController.php @@ -45,9 +45,14 @@ class DoctorAuthController extends AbstractController /** * 获取身份认证信息 * @return ResponseInterface + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ public function getAuthIden(): ResponseInterface { + $request = $this->container->get(DoctorAuthRequest::class); + $request->scene('getAuthIden')->validateResolved(); + $DoctorAuthService = new DoctorAuthService(); $data = $DoctorAuthService->getAuthIden(); return $this->response->json($data); diff --git a/app/Request/DoctorAuthRequest.php b/app/Request/DoctorAuthRequest.php index 35ceb63..31cdb4f 100644 --- a/app/Request/DoctorAuthRequest.php +++ b/app/Request/DoctorAuthRequest.php @@ -14,6 +14,9 @@ class DoctorAuthRequest extends FormRequest 'card_name', 'card_num' ], + 'getAuthIden' => [ // 获取身份认证信息 + 'source',// 来源(1:身份认证 2:简介) + ], 'addAuthIden' => [ // 新增身份认证信息 'avatar', 'hospital_id', @@ -23,10 +26,11 @@ class DoctorAuthRequest extends FormRequest 'doctor_title', 'brief_introduction', 'be_good_at', - 'license_cert', - 'qualification_cert', - 'work_cert', +// 'license_cert', +// 'qualification_cert', +// 'work_cert', 'doctor_expertise', + 'source', ], 'addAuthMulti' => [ // 新增多点执业认证信息 'id_card_front', @@ -65,6 +69,7 @@ class DoctorAuthRequest extends FormRequest 'id_card_front' => 'required|url', 'id_card_back' => 'required|url', 'sign_image' => 'required|url', + 'source' => 'required|integer|min:1|max:2', ]; } @@ -100,6 +105,11 @@ class DoctorAuthRequest extends FormRequest 'id_card_back.url' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), 'sign_image.required' => "请上传签名", 'sign_image.url' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + + 'source.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'source.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'source.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'source.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), ]; } } diff --git a/app/Services/DoctorAuthService.php b/app/Services/DoctorAuthService.php index 2936899..fc4aa08 100644 --- a/app/Services/DoctorAuthService.php +++ b/app/Services/DoctorAuthService.php @@ -219,6 +219,8 @@ class DoctorAuthService extends BaseService { $user_info = $this->request->getAttribute("userInfo") ?? []; + $source = $this->request->input('source'); // 来源(1:身份认证 2:简介) + // 获取医生数据 $fields = [ 'doctor_id', @@ -257,40 +259,42 @@ class DoctorAuthService extends BaseService // 职称转换 $result['doctor_title_name'] = empty($doctor['doctor_title']) ? "" : DoctorTitleCode::getMessage($doctor['doctor_title']); - // 获取医生详情数据 - $result['license_cert'] = []; - $result['qualification_cert'] = []; - $result['work_cert'] = []; + if ($source == 1){ + // 获取医生详情数据 + $result['license_cert'] = []; + $result['qualification_cert'] = []; + $result['work_cert'] = []; - $params = array(); - $params['doctor_id'] = $user_info['client_user_id']; - $user_doctor_info = UserDoctorInfo::getOne($params); - if (!empty($user_doctor_info)) { - // 医师执业证 - if (!empty($user_doctor_info['license_cert'])) { - $license_cert = explode(',', $user_doctor_info['license_cert']); - foreach ($license_cert as &$item) { - $item = addAliyunOssWebsite($item); + $params = array(); + $params['doctor_id'] = $user_info['client_user_id']; + $user_doctor_info = UserDoctorInfo::getOne($params); + if (!empty($user_doctor_info)) { + // 医师执业证 + 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; } - $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); + // 医师职称证 + 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; } - $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); + // 医师资格证 + 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; } - $result['work_cert'] = $work_cert; } } @@ -327,9 +331,11 @@ class DoctorAuthService extends BaseService $result['department_custom_mobile_reason'] = $iden_auth_fail_reson['department_custom_mobile_reason'] ?? ""; $result['brief_introduction_reason'] = $iden_auth_fail_reson['brief_introduction_reason'] ?? ""; $result['be_good_at_reason'] = $iden_auth_fail_reson['be_good_at_reason'] ?? ""; - $result['license_cert_reason'] = $iden_auth_fail_reson['license_cert_reason'] ?? ""; - $result['qualification_cert_reason'] = $iden_auth_fail_reson['qualification_cert_reason'] ?? ""; - $result['work_cert_reason'] = $iden_auth_fail_reson['work_cert_reason'] ?? ""; + if ($source == 1){ + $result['license_cert_reason'] = $iden_auth_fail_reson['license_cert_reason'] ?? ""; + $result['qualification_cert_reason'] = $iden_auth_fail_reson['qualification_cert_reason'] ?? ""; + $result['work_cert_reason'] = $iden_auth_fail_reson['work_cert_reason'] ?? ""; + } $result['department_custom_name_reason'] = $iden_auth_fail_reson['department_custom_name_reason'] ?? ""; return success($result); @@ -430,25 +436,25 @@ class DoctorAuthService extends BaseService return fail(HttpEnumCode::SERVER_ERROR); } - // 执业证 - $license_cert = implode(',', $request_params['license_cert']); - $license_cert = PcreMatch::pregRemoveOssWebsite($license_cert); - if ($user_doctor_info['license_cert'] != $license_cert) { + // 执业证-上传后无法修改 + if (empty($user_doctor_info['license_cert'])){ + $license_cert = implode(',', $request_params['license_cert']); + $license_cert = PcreMatch::pregRemoveOssWebsite($license_cert); $doctor_info_data['license_cert'] = $license_cert; } - // 医师资格证 - $qualification_cert = implode(',', $request_params['qualification_cert']); - $qualification_cert = PcreMatch::pregRemoveOssWebsite($qualification_cert); - - if ($user_doctor_info['qualification_cert'] != $qualification_cert) { + // 医师资格证-上传后无法修改 + if (empty($user_doctor_info['qualification_cert'])){ + $qualification_cert = implode(',', $request_params['qualification_cert']); + $qualification_cert = PcreMatch::pregRemoveOssWebsite($qualification_cert); $doctor_info_data['qualification_cert'] = $qualification_cert; } - // 医师工作证 - $work_cert = implode(',', $request_params['work_cert']); - $work_cert = PcreMatch::pregRemoveOssWebsite($work_cert); - if ($user_doctor_info['work_cert'] != $work_cert) { + + // 医师工作证-上传后无法修改 + if (empty($user_doctor_info['work_cert'])){ + $work_cert = implode(',', $request_params['work_cert']); + $work_cert = PcreMatch::pregRemoveOssWebsite($work_cert); $doctor_info_data['work_cert'] = $work_cert; } diff --git a/config/routes.php b/config/routes.php index d423b7b..a115419 100644 --- a/config/routes.php +++ b/config/routes.php @@ -172,6 +172,11 @@ Router::addGroup('/doctor', function () { // 获取医生名片 Router::get('/card', [UserDoctorController::class, 'getDoctorInfoCard']); + + Router::addGroup('/brief', function () { + // 获取医生个人简介数据 + Router::get('', [UserDoctorController::class, 'getDoctorBrief']); + }); }); });