From a872e4ce0f02728ff6155ded5a443194b211dbe5 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Wed, 30 Aug 2023 16:53:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=B8=E5=BA=94=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=BF=AB=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/PatientDoctorService.php | 107 +++++++++++++------------- 1 file changed, 53 insertions(+), 54 deletions(-) diff --git a/app/Services/PatientDoctorService.php b/app/Services/PatientDoctorService.php index cdff3cd..c8f377c 100644 --- a/app/Services/PatientDoctorService.php +++ b/app/Services/PatientDoctorService.php @@ -92,60 +92,59 @@ class PatientDoctorService extends BaseService $user_doctors = UserDoctor::getInquiryDoctorPage($keyword,$hospital_params, $doctor_params,$doctor_expertise_params, $sort_order, $fields,$page,$per_page); - // 处理数据 -// if (!empty($user_doctors['data'])) { -// foreach ($user_doctors['data'] as &$user_doctor) { -// $user_doctor['doctor_title_name'] = empty($user_doctor['doctor_title']) ? "" : DoctorTitleCode::getMessage($user_doctor['doctor_title']); -// -// // 处理医生专长 -// if (!empty($user_doctor['DoctorExpertise'])) { -// foreach ($user_doctor['DoctorExpertise'] as &$data) { -// if (!empty($data['DiseaseClassExpertise'])) { -// $data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name']; -// } -// unset($data['DiseaseClassExpertise']); -// } -// } -// -// // 处理问诊价格 -// $user_doctor['price'] = 0; -// $user_doctor['free_clinic_price'] = 0; -// if (!empty($user_doctor['DoctorInquiryConfig'])) { -// foreach ($user_doctor['DoctorInquiryConfig'] as $doctor_inquiry_config) { -// if ($doctor_inquiry_config['inquiry_mode'] == 1) { -// if ($doctor_inquiry_config['inquiry_type'] == 1) { -// // 专家 -// $user_doctor['price'] = $doctor_inquiry_config['inquiry_price'] ?? 0; -// } -// if ($doctor_inquiry_config['inquiry_type'] == 3) { -// // 公益 -// $user_doctor['free_clinic_price'] = $doctor_inquiry_config['inquiry_price']; -// } -// } -// } -// unset($user_doctor['DoctorInquiryConfig']); -// } -// -// // 好评率-超过5个已结束的订单后展示 -// $user_doctor['praise_rate'] = floor($user_doctor['praise_rate'] * 0.05 * 100) / 100; -// // 响应时间-超过5个已结束的订单后展示 -// $user_doctor['avg_response_time'] = (float)floor($user_doctor['avg_response_time'] * 10) / 10; -// -// // 获取医生订单数 -// $params = array(); -// $params['doctor_id'] = $user_doctor['doctor_id']; -// $params['inquiry_status'] = 6; // 已结束 -// $inquiry_order_count = OrderInquiry::getCount($params); -// if (empty($inquiry_order_count) || $inquiry_order_count == 0) { -// $user_doctor['is_display_score'] = false; -// } else { -// $user_doctor['is_display_score'] = true; -// } -// -// // 头像 -// $user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']); -// } -// } + if (!empty($user_doctors['data'])) { + foreach ($user_doctors['data'] as &$user_doctor) { + $user_doctor['doctor_title_name'] = empty($user_doctor['doctor_title']) ? "" : DoctorTitleCode::getMessage($user_doctor['doctor_title']); + + // 处理医生专长 + if (!empty($user_doctor['DoctorExpertise'])) { + foreach ($user_doctor['DoctorExpertise'] as &$data) { + if (!empty($data['DiseaseClassExpertise'])) { + $data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name']; + } + unset($data['DiseaseClassExpertise']); + } + } + + // 处理问诊价格 + $user_doctor['price'] = 0; + $user_doctor['free_clinic_price'] = 0; + if (!empty($user_doctor['DoctorInquiryConfig'])) { + foreach ($user_doctor['DoctorInquiryConfig'] as $doctor_inquiry_config) { + if ($doctor_inquiry_config['inquiry_mode'] == 1) { + if ($doctor_inquiry_config['inquiry_type'] == 1) { + // 专家 + $user_doctor['price'] = $doctor_inquiry_config['inquiry_price'] ?? 0; + } + if ($doctor_inquiry_config['inquiry_type'] == 3) { + // 公益 + $user_doctor['free_clinic_price'] = $doctor_inquiry_config['inquiry_price']; + } + } + } + unset($user_doctor['DoctorInquiryConfig']); + } + + // 好评率-超过5个已结束的订单后展示 + $user_doctor['praise_rate'] = floor($user_doctor['praise_rate'] * 0.05 * 100) / 100; + // 响应时间-超过5个已结束的订单后展示 + $user_doctor['avg_response_time'] = (float)floor($user_doctor['avg_response_time'] * 10) / 10; + + // 获取医生订单数 + $params = array(); + $params['doctor_id'] = $user_doctor['doctor_id']; + $params['inquiry_status'] = 6; // 已结束 + $inquiry_order_count = OrderInquiry::getCount($params); + if (empty($inquiry_order_count) || $inquiry_order_count == 0) { + $user_doctor['is_display_score'] = false; + } else { + $user_doctor['is_display_score'] = true; + } + + // 头像 + $user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']); + } + } return success($user_doctors); }