From 8ebda591e604d218dc675ed189af15617882b9d3 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Wed, 16 Aug 2023 16:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=94=9F=E5=88=97=E8=A1=A8=E5=A4=87?= =?UTF-8?q?=E6=B3=A8=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Model/UserDoctor.php | 8 +- app/Services/PatientDoctorService.php | 106 +++++++++++++------------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/app/Model/UserDoctor.php b/app/Model/UserDoctor.php index 8864619..6774413 100644 --- a/app/Model/UserDoctor.php +++ b/app/Model/UserDoctor.php @@ -219,7 +219,7 @@ class UserDoctor extends Model { $query = self::with([ "Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id", -// "DoctorExpertise", + "DoctorExpertise", "DoctorInquiryConfig" => function ($query) use ($sort_order) { $query->whereIn('inquiry_type', [1, 3]) ->where('inquiry_mode', 1); @@ -238,9 +238,9 @@ class UserDoctor extends Model ->whereHas('Hospital', function ($query) use ($hospital_params) { $query->where($hospital_params); }) -// ->whereHas('DoctorExpertise', function ($query) use ($doctor_expertise_params) { -// $query->where($doctor_expertise_params); -// }) + ->whereHas('DoctorExpertise', function ($query) use ($doctor_expertise_params) { + $query->where($doctor_expertise_params); + }) ->whereHas('DoctorInquiryConfig', function ($query) { $params = array(); $params['inquiry_mode'] = 1;// 接诊方式:图文 diff --git a/app/Services/PatientDoctorService.php b/app/Services/PatientDoctorService.php index cdff3cd..87db426 100644 --- a/app/Services/PatientDoctorService.php +++ b/app/Services/PatientDoctorService.php @@ -93,59 +93,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); }