修改医生列表

This commit is contained in:
wucongxing8150 2024-04-09 15:18:11 +08:00
parent 9698674350
commit 5509b036be
2 changed files with 35 additions and 44 deletions

View File

@ -282,7 +282,6 @@ class UserDoctor extends Model
// $query->where($params); // $query->where($params);
// }); // });
if ($is_first_online == 1){ if ($is_first_online == 1){
$query->join('user as u', function ($query) { $query->join('user as u', function ($query) {
$query->on('user_doctor.user_id', '=', 'u.user_id'); $query->on('user_doctor.user_id', '=', 'u.user_id');
@ -291,49 +290,38 @@ class UserDoctor extends Model
->orderBy('u.is_online', 'desc'); ->orderBy('u.is_online', 'desc');
} }
if (!empty($sort_order)){ // 问诊服务搜索
// if (in_array($sort_order,[1,3,4])){ // select doctor_id, min(price) price_min from price group by doctor_id
// $query = $query->join('doctor_inquiry_config', function ($query) { $raw = "inquiry_price as min_inquiry_price";
// $query->on('user_doctor.doctor_id', '=', 'doctor_inquiry_config.doctor_id') if (!empty($sort_order) && in_array($sort_order,[1,3,4])){
// ->whereIn('inquiry_type', [1, 3]) if ($sort_order == 1){
// ->whereIn('inquiry_mode', [1,2,6,7]) // 综合-价格从低到高
// ->orderBy('inquiry_price', 'desc') $raw = "MIN(inquiry_price) as min_inquiry_price";
// ->take(1); } elseif ($sort_order == 3){
// }) // 价格从低到高
// ->select("user_doctor.*") $raw = "MIN(inquiry_price) as min_inquiry_price";
// ->groupBy("user_doctor.doctor_id"); } elseif ($sort_order == 4){
// } // 价格从高到低
$raw = "MAX(inquiry_price) as min_inquiry_price";
// select doctor_id, min(price) price_min from price group by doctor_id
if (in_array($sort_order,[1,3,4])){
$raw = "inquiry_price as min_inquiry_price";
if ($sort_order == 1){
// 综合-价格从低到高
$raw = "MIN(inquiry_price) as min_inquiry_price";
} elseif ($sort_order == 3){
// 价格从低到高
$raw = "MIN(inquiry_price) as min_inquiry_price";
} elseif ($sort_order == 4){
// 价格从高到低
$raw = "MAX(inquiry_price) as min_inquiry_price";
}
$latestPosts = Db::table('doctor_inquiry_config')
->select('doctor_inquiry_config.doctor_id', Db::raw($raw))
->where('is_enable', 1);
if (!empty($inquiry_type)){
$latestPosts = $latestPosts->whereIn('inquiry_type', $inquiry_type)
->whereIn('inquiry_mode',$inquiry_mode);
}
$latestPosts = $latestPosts->groupBy(["doctor_inquiry_config.doctor_id"]);
$query = $query
->joinSub($latestPosts, 'doctor_inquiry_config', function($join) {
$join->on('user_doctor.doctor_id', '=', 'doctor_inquiry_config.doctor_id');
});
} }
$latestPosts = Db::table('doctor_inquiry_config')
->select('doctor_inquiry_config.doctor_id', Db::raw($raw))
->where('is_enable', 1);
if (!empty($inquiry_type)){
$latestPosts = $latestPosts->whereIn('inquiry_type', $inquiry_type)
->whereIn('inquiry_mode',$inquiry_mode);
}
$latestPosts = $latestPosts->groupBy(["doctor_inquiry_config.doctor_id"]);
$query = $query
->joinSub($latestPosts, 'doctor_inquiry_config', function($join) {
$join->on('user_doctor.doctor_id', '=', 'doctor_inquiry_config.doctor_id');
});
}
if (!empty($sort_order)){
if ($sort_order == 1) { if ($sort_order == 1) {
// 综合-价格从低到高 // 综合-价格从低到高
$query->orderBy('is_recommend', 'desc');// 是否首页推荐0:否 1:是) $query->orderBy('is_recommend', 'desc');// 是否首页推荐0:否 1:是)
@ -403,7 +391,7 @@ class UserDoctor extends Model
->get(); ->get();
dump($doctors->toArray()); dump($doctors->toArray());
return $doctors; return array();
// $query = self::orderBy('served_patients_num', 'desc'); // $query = self::orderBy('served_patients_num', 'desc');
// //

View File

@ -391,11 +391,14 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "本服务需设置图文问诊的价格,才可开启"); return fail(HttpEnumCode::HTTP_ERROR, "本服务需设置图文问诊的价格,才可开启");
} }
// 价格计算(专家图文问诊价格*费率+30盒35元的干爽颗粒)
$service_price = $doctor_inquiry_config['inquiry_price'] * $config_health_package['service_rate'] / 100 * 6 + 35 * 30;
// 创建医生健康包 // 创建医生健康包
$data = array(); $data = array();
$data['doctor_id'] = $user_info['client_user_id']; $data['doctor_id'] = $user_info['client_user_id'];
$data['config_health_package_id'] = $config_health_package['config_health_package_id']; $data['config_health_package_id'] = $config_health_package['config_health_package_id'];
$data['service_price'] = $doctor_inquiry_config['inquiry_price'] * $config_health_package['service_rate'] / 100 * 6; $data['service_price'] = $service_price;
$doctor_config_health_package = DoctorConfigHealthPackage::addDoctorConfigHealthPackage($data); $doctor_config_health_package = DoctorConfigHealthPackage::addDoctorConfigHealthPackage($data);
if (empty($doctor_config_health_package)){ if (empty($doctor_config_health_package)){
Db::rollBack(); Db::rollBack();