修改相应时间快排序问题
This commit is contained in:
parent
bd356a8bbe
commit
136af7bd66
@ -263,23 +263,27 @@ class UserDoctor extends Model
|
|||||||
if ($sort_order == 1) {
|
if ($sort_order == 1) {
|
||||||
// 综合-价格从低到高
|
// 综合-价格从低到高
|
||||||
$query->orderBy('is_recommend', 'desc');// 是否首页推荐(0:否 1:是)
|
$query->orderBy('is_recommend', 'desc');// 是否首页推荐(0:否 1:是)
|
||||||
$query->orderBy('avg_response_time', 'asc');// 响应时间快
|
$query->orderByRaw('avg_response_time = 0 ASC');
|
||||||
|
$query->orderBy('avg_response_time');
|
||||||
$query->orderBy('served_patients_num', 'desc');// 服务数从多到少
|
$query->orderBy('served_patients_num', 'desc');// 服务数从多到少
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
$query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
$query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
||||||
} elseif ($sort_order == 2) {
|
} elseif ($sort_order == 2) {
|
||||||
// 响应时间快
|
// 响应时间快
|
||||||
$query->orderBy('avg_response_time', 'asc');
|
$query->orderByRaw('avg_response_time = 0 ASC');
|
||||||
|
$query->orderBy('avg_response_time');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
} elseif ($sort_order == 3) {
|
} elseif ($sort_order == 3) {
|
||||||
// 价格从低到高
|
// 价格从低到高
|
||||||
$query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
$query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
||||||
$query->orderBy('avg_response_time', 'asc');
|
$query->orderByRaw('avg_response_time = 0 ASC');
|
||||||
|
$query->orderBy('avg_response_time');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
} elseif ($sort_order == 4) {
|
} elseif ($sort_order == 4) {
|
||||||
// 价格从高到低
|
// 价格从高到低
|
||||||
$query->orderBy('doctor_inquiry_config.inquiry_price', 'desc');
|
$query->orderBy('doctor_inquiry_config.inquiry_price', 'desc');
|
||||||
$query->orderBy('avg_response_time', 'asc');
|
$query->orderByRaw('avg_response_time = 0 ASC');
|
||||||
|
$query->orderBy('avg_response_time');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
} elseif ($sort_order == 5) {
|
} elseif ($sort_order == 5) {
|
||||||
// 服务数从多到少
|
// 服务数从多到少
|
||||||
@ -300,6 +304,7 @@ class UserDoctor extends Model
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取是否存在
|
* 获取是否存在
|
||||||
* @param array $params
|
* @param array $params
|
||||||
|
|||||||
@ -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);
|
$user_doctors = UserDoctor::getInquiryDoctorPage($keyword,$hospital_params, $doctor_params,$doctor_expertise_params, $sort_order, $fields,$page,$per_page);
|
||||||
|
|
||||||
// 处理数据
|
// 处理数据
|
||||||
if (!empty($user_doctors['data'])) {
|
// if (!empty($user_doctors['data'])) {
|
||||||
foreach ($user_doctors['data'] as &$user_doctor) {
|
// foreach ($user_doctors['data'] as &$user_doctor) {
|
||||||
$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']);
|
||||||
|
//
|
||||||
// 处理医生专长
|
// // 处理医生专长
|
||||||
if (!empty($user_doctor['DoctorExpertise'])) {
|
// if (!empty($user_doctor['DoctorExpertise'])) {
|
||||||
foreach ($user_doctor['DoctorExpertise'] as &$data) {
|
// foreach ($user_doctor['DoctorExpertise'] as &$data) {
|
||||||
if (!empty($data['DiseaseClassExpertise'])) {
|
// if (!empty($data['DiseaseClassExpertise'])) {
|
||||||
$data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name'];
|
// $data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name'];
|
||||||
}
|
// }
|
||||||
unset($data['DiseaseClassExpertise']);
|
// unset($data['DiseaseClassExpertise']);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 处理问诊价格
|
// // 处理问诊价格
|
||||||
$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'])) {
|
// if (!empty($user_doctor['DoctorInquiryConfig'])) {
|
||||||
foreach ($user_doctor['DoctorInquiryConfig'] as $doctor_inquiry_config) {
|
// foreach ($user_doctor['DoctorInquiryConfig'] 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) {
|
||||||
// 专家
|
// // 专家
|
||||||
$user_doctor['price'] = $doctor_inquiry_config['inquiry_price'] ?? 0;
|
// $user_doctor['price'] = $doctor_inquiry_config['inquiry_price'] ?? 0;
|
||||||
}
|
// }
|
||||||
if ($doctor_inquiry_config['inquiry_type'] == 3) {
|
// if ($doctor_inquiry_config['inquiry_type'] == 3) {
|
||||||
// 公益
|
// // 公益
|
||||||
$user_doctor['free_clinic_price'] = $doctor_inquiry_config['inquiry_price'];
|
// $user_doctor['free_clinic_price'] = $doctor_inquiry_config['inquiry_price'];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
unset($user_doctor['DoctorInquiryConfig']);
|
// unset($user_doctor['DoctorInquiryConfig']);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 好评率-超过5个已结束的订单后展示
|
// // 好评率-超过5个已结束的订单后展示
|
||||||
$user_doctor['praise_rate'] = floor($user_doctor['praise_rate'] * 0.05 * 100) / 100;
|
// $user_doctor['praise_rate'] = floor($user_doctor['praise_rate'] * 0.05 * 100) / 100;
|
||||||
// 响应时间-超过5个已结束的订单后展示
|
// // 响应时间-超过5个已结束的订单后展示
|
||||||
$user_doctor['avg_response_time'] = (float)floor($user_doctor['avg_response_time'] * 10) / 10;
|
// $user_doctor['avg_response_time'] = (float)floor($user_doctor['avg_response_time'] * 10) / 10;
|
||||||
|
//
|
||||||
// 获取医生订单数
|
// // 获取医生订单数
|
||||||
$params = array();
|
// $params = array();
|
||||||
$params['doctor_id'] = $user_doctor['doctor_id'];
|
// $params['doctor_id'] = $user_doctor['doctor_id'];
|
||||||
$params['inquiry_status'] = 6; // 已结束
|
// $params['inquiry_status'] = 6; // 已结束
|
||||||
$inquiry_order_count = OrderInquiry::getCount($params);
|
// $inquiry_order_count = OrderInquiry::getCount($params);
|
||||||
if (empty($inquiry_order_count) || $inquiry_order_count == 0) {
|
// if (empty($inquiry_order_count) || $inquiry_order_count == 0) {
|
||||||
$user_doctor['is_display_score'] = false;
|
// $user_doctor['is_display_score'] = false;
|
||||||
} else {
|
// } else {
|
||||||
$user_doctor['is_display_score'] = true;
|
// $user_doctor['is_display_score'] = true;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 头像
|
// // 头像
|
||||||
$user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']);
|
// $user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return success($user_doctors);
|
return success($user_doctors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user