修正医生列表查询、详情查询

This commit is contained in:
2023-11-24 17:38:02 +08:00
parent 15dfe8d87f
commit 1d1abac9cb
7 changed files with 115 additions and 238 deletions
+10 -1
View File
@@ -332,7 +332,6 @@ class IndexService extends BaseService
"user_name",
"status",
"avatar",
"is_online",
];
$user_pharmacist = UserPharmacist::getOne($params,$fields);
@@ -350,6 +349,16 @@ class IndexService extends BaseService
$user_pharmacist['avatar'] = addAliyunOssWebsite($user_pharmacist['avatar']);
// 获取用户数据
$params = array();
$params['user_id'] = $user_pharmacist['user_id'];
$user = User::getOne($params);
if (empty($user)){
return fail();
}
$user_pharmacist['is_online'] = $user['is_online'];
// 获取药师审方数量
$params = array();
$params['pharmacist_id'] = $user_pharmacist['pharmacist_id'];
+25 -127
View File
@@ -15,135 +15,13 @@ use App\Model\PatientFollow;
use App\Model\PatientHistoryInquiry as PatientHistoryInquiryModel;
use App\Model\SystemInquiryConfig;
use App\Model\SystemInquiryTime;
use App\Model\User;
use App\Model\UserDoctor;
use App\Model\UserDoctor as UserDoctorModel;
use Hyperf\DbConnection\Db;
class PatientDoctorService extends BaseService
{
// /**
// * 获取问诊医生列表
// * 专家问诊-公益问诊共用
// * @return array
// */
// public function getInquiryDoctorList(): array
// {
// $expertise_id = $this->request->input('expertise_id');
// $province_id = $this->request->input('province_id');
// $city_id = $this->request->input('city_id');
// $sort_order = $this->request->input('sort_order',1);
// $keyword = $this->request->input('keyword',"");
// $is_search_welfare_reception = $this->request->input('is_search_welfare_reception',0);
// $page = $this->request->input('page',1);
// $per_page = $this->request->input('per_page',10);
//
// // 组合条件
// $hospital_params = array();// 医院搜索
// $doctor_params = array();// 医生搜索
// $doctor_expertise_params = array();// 医生专长搜索
//
// // 省市区
// if (!empty($province_id)) {
// if (empty($city_id)) {
// // 省份存在时需和城市在一块
// return fail(HttpEnumCode::CLIENT_HTTP_ERROR);
// }
// $hospital_params[] = ['province_id', '=', $province_id];
// $hospital_params[] = ['city_id', '=', $city_id];
// }
//
// // 医生专长
// if (!empty($expertise_id)) {
// $doctor_expertise_params['expertise_id'] = $expertise_id;
// }
//
// // 固定医生查询条件
// $doctor_params['status'] = 1; // 状态(0:禁用 1:正常 2:删除)
//
// $doctor_params["iden_auth_status"] = 1;// 身份认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败)
// $doctor_params["is_bind_bank"] = 1;// 是否已绑定结算银行卡(0:否 1:是)
//
//// if (!empty($is_search_welfare_reception)){
//// $doctor_params["is_img_welfare_reception"] = $is_search_welfare_reception;// 是否参加公益图文问诊(0:否 1:是)
//// }
//
// $fields = [
// "doctor_id",
// "user_id",
// "user_name",
// "multi_point_status",
// "is_bind_bank",
// "is_recommend",
// "avatar",
// "doctor_title",
// "department_custom_id",
// "department_custom_name",
// "hospital_id",
// "served_patients_num",
// "praise_rate",
// "avg_response_time",
// "number_of_fans",
// "is_online",
// "be_good_at",
// ];
//
// $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'];
// }
// }
// }
// }
//
// // 好评率-超过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);
// }
/**
* 获取问诊医生列表
* 专家问诊-公益问诊共用
@@ -157,6 +35,7 @@ class PatientDoctorService extends BaseService
$sort_order = $this->request->input('sort_order',1);
$keyword = $this->request->input('keyword',"");
$is_search_welfare_reception = $this->request->input('is_search_welfare_reception',0); // 是否参加公益图文问诊(0:否 1:是)
$is_first_online = $this->request->input('is_first_online',0); // 是否优先在线(1:是)
$page = $this->request->input('page',1);
$per_page = $this->request->input('per_page',10);
@@ -202,11 +81,10 @@ class PatientDoctorService extends BaseService
"praise_rate",
"avg_response_time",
"number_of_fans",
"is_online",
"be_good_at",
];
$user_doctors = UserDoctor::getInquiryDoctorPage($keyword,$hospital_params, $doctor_params,$doctor_expertise_params,$is_search_welfare_reception, $sort_order, $fields,$page,$per_page);
$user_doctors = UserDoctor::getInquiryDoctorPage($keyword,$hospital_params, $doctor_params,$doctor_expertise_params,$is_search_welfare_reception,$is_first_online, $sort_order, $fields,$page,$per_page);
if (!empty($user_doctors['data'])) {
foreach ($user_doctors['data'] as &$user_doctor) {
@@ -307,7 +185,6 @@ class PatientDoctorService extends BaseService
"praise_rate",
"avg_response_time",
"number_of_fans",
"is_online",
"be_good_at",
"brief_introduction",
];
@@ -328,6 +205,7 @@ class PatientDoctorService extends BaseService
$result['hospital'] = [];
$result['days'] = 0;
$result['doctor_inquiry_config'] = 0;
$result['is_online'] = 0;
// 获取医生医院数据
$fields = [
@@ -437,6 +315,14 @@ class PatientDoctorService extends BaseService
// 头像
$result['avatar'] = addAliyunOssWebsite($user_doctor['avatar']);
// 获取用户数据
$params = array();
$params['user_id'] = $user_doctor['user_id'];
$user = User::getOne($params);
if (!empty($user)){
$result['is_online'] = $user['is_online'];
}
return success($result);
}
@@ -652,7 +538,8 @@ class PatientDoctorService extends BaseService
* 获取我的问诊、关注医生列表
* @return array
*/
public function getDoctorList(){
public function getDoctorList(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$my_doctor_type = $this->request->input('my_doctor_type'); // 医生类型(1:问诊 2:关注)
@@ -937,6 +824,14 @@ class PatientDoctorService extends BaseService
continue;
}
// 获取用户数据
$params = array();
$params['user_id'] = $user_doctor['user_id'];
$user = User::getOne($params);
if (empty($user)){
continue;
}
// 获取医生医院
$hospital_name = "";
if (!empty($user_doctor['hospital_id'])){
@@ -964,6 +859,9 @@ class PatientDoctorService extends BaseService
$data['days'] = ceil((strtotime(date('Y-m-d', strtotime('+1 day'))) - strtotime($patient_history_doctor['created_at'])) / 86400);
}
// 在线状态
$data['is_online'] = $user['is_online'];
$results[] = $data;
unset($data);
+1 -1
View File
@@ -69,7 +69,7 @@ class UserPharmacistService extends BaseService
$data = array();
$data['is_online'] = $is_online;
if ($is_online == 1){
$data['last_login_at'] = date('Y-m_d,H:i:s',time());
$data['login_at'] = date('Y-m_d,H:i:s',time());
}
$params = array();