修改患者端医生列表
This commit is contained in:
parent
562163ea36
commit
31726f1903
@ -205,7 +205,32 @@ class UserDoctor extends Model
|
|||||||
*/
|
*/
|
||||||
public static function getInquiryDoctorPage(string $keyword = "", array $doctor_params = [], string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
public static function getInquiryDoctorPage(string $keyword = "", array $doctor_params = [], string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||||
{
|
{
|
||||||
$query = self::where($doctor_params)
|
$query = self::with([
|
||||||
|
"Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id",
|
||||||
|
"DoctorExpertise",
|
||||||
|
"DoctorExpertise.DiseaseClassExpertise:expertise_id,expertise_name",
|
||||||
|
"DoctorInquiryConfig" => function ($query) use ($sort_order) {
|
||||||
|
$params = array();
|
||||||
|
$params['inquiry_mode'] = 1;// 接诊方式:图文
|
||||||
|
$query->where($params)->whereIn('inquiry_type', [1, 3]);
|
||||||
|
// if ($sort_order == 1) {
|
||||||
|
// // 综合
|
||||||
|
// $query->orderBy('inquiry_price', 'asc');// 价格从低到高
|
||||||
|
// } elseif ($sort_order == 3) {
|
||||||
|
// // 价格从低到高
|
||||||
|
// $query->orderBy('inquiry_price', 'asc');
|
||||||
|
// } elseif ($sort_order == 4) {
|
||||||
|
// // 价格从高到低
|
||||||
|
// $query->orderBy('inquiry_price', 'desc');// 价格从高到低
|
||||||
|
// }
|
||||||
|
|
||||||
|
return $query;
|
||||||
|
},
|
||||||
|
])
|
||||||
|
->where($doctor_params)
|
||||||
|
// ->whereHas('Hospital', function ($query) use ($hospital_params) {
|
||||||
|
// $query->where($hospital_params);
|
||||||
|
// })
|
||||||
->when($keyword, function ($query, $keyword) {
|
->when($keyword, function ($query, $keyword) {
|
||||||
$query->where(function ($query) use ($keyword) {
|
$query->where(function ($query) use ($keyword) {
|
||||||
$query->orwhere("user_name", 'like', '%' . $keyword . '%');
|
$query->orwhere("user_name", 'like', '%' . $keyword . '%');
|
||||||
|
|||||||
@ -81,33 +81,20 @@ class PatientDoctorService extends BaseService
|
|||||||
$user_doctor['doctor_title_name'] = empty($user_doctor['doctor_title']) ? "" : DoctorTitleCode::getMessage($user_doctor['doctor_title']);
|
$user_doctor['doctor_title_name'] = empty($user_doctor['doctor_title']) ? "" : DoctorTitleCode::getMessage($user_doctor['doctor_title']);
|
||||||
|
|
||||||
// 处理医生专长
|
// 处理医生专长
|
||||||
$user_doctor['doctor_expertises'] = [];
|
if (!empty($user_doctor['DoctorExpertise'])) {
|
||||||
|
foreach ($user_doctor['DoctorExpertise'] as &$data) {
|
||||||
$params = array();
|
if (!empty($data['DiseaseClassExpertise'])) {
|
||||||
$params['doctor_id'] = $user_doctor['doctor_id'];
|
$data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name'];
|
||||||
$doctor_expertises = DoctorExpertise::getList($params);
|
|
||||||
if (!empty($doctor_expertises)){
|
|
||||||
foreach ($doctor_expertises as &$doctor_expertise){
|
|
||||||
$params = array();
|
|
||||||
$params['expertise_id'] = $doctor_expertise['expertise_id'];
|
|
||||||
$disease_class_expertise = DiseaseClassExpertise::getOne($params);
|
|
||||||
if (!empty($disease_class_expertise)){
|
|
||||||
$doctor_expertise['expertise_name'] = $disease_class_expertise['expertise_name'];
|
|
||||||
}
|
}
|
||||||
|
unset($data['DiseaseClassExpertise']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_doctor['doctor_expertises'] = $doctor_expertises;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理问诊价格
|
// 处理问诊价格
|
||||||
$user_doctor['price'] = 0;
|
$user_doctor['price'] = 0;
|
||||||
$user_doctor['free_clinic_price'] = 0;
|
$user_doctor['free_clinic_price'] = 0;
|
||||||
|
if (!empty($user_doctor['DoctorInquiryConfig'])) {
|
||||||
$params = array();
|
foreach ($user_doctor['DoctorInquiryConfig'] as $doctor_inquiry_config) {
|
||||||
$params['inquiry_mode'] = 1;
|
|
||||||
$doctor_inquiry_configs = DoctorInquiryConfig::getInquiryConfigList($params,['*']);
|
|
||||||
if (!empty($doctor_inquiry_configs)) {
|
|
||||||
foreach ($doctor_inquiry_configs as $doctor_inquiry_config) {
|
|
||||||
if ($doctor_inquiry_config['inquiry_mode'] == 1) {
|
if ($doctor_inquiry_config['inquiry_mode'] == 1) {
|
||||||
if ($doctor_inquiry_config['inquiry_type'] == 1) {
|
if ($doctor_inquiry_config['inquiry_type'] == 1) {
|
||||||
// 专家
|
// 专家
|
||||||
@ -119,26 +106,7 @@ class PatientDoctorService extends BaseService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unset($doctor_inquiry_configs);
|
unset($user_doctor['DoctorInquiryConfig']);
|
||||||
}
|
|
||||||
|
|
||||||
// 处理医生医院
|
|
||||||
$user_doctor['hospital'] = [];
|
|
||||||
|
|
||||||
$params = array();
|
|
||||||
$params['hospital_id'] = $user_doctor['hospital_id'];
|
|
||||||
|
|
||||||
$fields = [
|
|
||||||
'hospital_id',
|
|
||||||
'hospital_name',
|
|
||||||
'hospital_status',
|
|
||||||
'hospital_level_name',
|
|
||||||
'province_id',
|
|
||||||
'city_id'
|
|
||||||
];
|
|
||||||
$hospital = Hospital::getOne($params,$fields);
|
|
||||||
if (!empty($hospital)){
|
|
||||||
$user_doctor['hospital'] = $hospital;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 好评率-超过5个已结束的订单后展示
|
// 好评率-超过5个已结束的订单后展示
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user