修正医生列表查询、详情查询
This commit is contained in:
parent
15dfe8d87f
commit
1d1abac9cb
@ -24,7 +24,8 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
||||
* @property int $sex 性别(0:未知 1:男 2:女)
|
||||
* @property string $avatar 头像
|
||||
* @property int $is_online 是否在线(0:不在线 1:在线)
|
||||
* @property string $last_login_at 最后登陆时间
|
||||
* @property string $login_at 小程序登陆时间
|
||||
* @property string $im_login_at im登陆时间
|
||||
* @property string $login_ip 登陆ip
|
||||
* @property string $created_by 创建者id(后台用户表id,前台用户表id)
|
||||
* @property \Carbon\Carbon $created_at 创建时间
|
||||
@ -42,7 +43,7 @@ class User extends Model
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected array $fillable = ['user_id', 'user_name', 'user_account', 'mobile', 'wx_mobile', 'user_password', 'salt', 'user_type', 'user_status', 'register_method', 'age', 'sex', 'avatar', 'is_online', 'last_login_at', 'login_ip', 'created_by', 'created_at', 'updated_at'];
|
||||
protected array $fillable = ['user_id', 'user_name', 'user_account', 'mobile', 'wx_mobile', 'user_password', 'salt', 'user_type', 'user_status', 'register_method', 'age', 'sex', 'avatar', 'is_online', 'login_at', 'im_login_at', 'login_ip', 'created_by', 'created_at', 'updated_at'];
|
||||
|
||||
protected string $primaryKey = "user_id";
|
||||
|
||||
|
||||
@ -204,108 +204,6 @@ class UserDoctor extends Model
|
||||
return $datas;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 获取问诊医生列表
|
||||
// * 专家问诊-公益问诊共用
|
||||
// * @param string $keyword
|
||||
// * @param array $hospital_params 医院搜索条件
|
||||
// * @param array $doctor_params 医生搜索条件
|
||||
// * @param array $doctor_expertise_params
|
||||
// * @param string|int $sort_order
|
||||
// * @param array $fields
|
||||
// * @param int|null $page
|
||||
// * @param int|null $per_page
|
||||
// * @return array
|
||||
// */
|
||||
// public static function getInquiryDoctorPage(string $keyword = "", array $hospital_params = [], array $doctor_params = [], array $doctor_expertise_params = [], string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
// {
|
||||
// $query = self::with([
|
||||
// "Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id",
|
||||
// "DoctorExpertise",
|
||||
// "DoctorInquiryConfig" => function ($query) use ($sort_order) {
|
||||
// $query->whereIn('inquiry_type', [1, 3])
|
||||
// ->where('inquiry_mode', 1);
|
||||
// },
|
||||
// ])
|
||||
// ->where($doctor_params)
|
||||
// ->when($keyword, function ($query, $keyword) {
|
||||
// $query->where(function ($query) use ($keyword) {
|
||||
// $query->orwhere("user_name", 'like', '%' . $keyword . '%');
|
||||
// $query->orwhere("department_custom_name", 'like', '%' . $keyword . '%');
|
||||
// $query->orWhereHas('Hospital', function ($query) use ($keyword) {
|
||||
// $query->where('hospital_name', 'like', '%' . $keyword . '%');
|
||||
// });
|
||||
// });
|
||||
// })
|
||||
// ->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('DoctorInquiryConfig', function ($query) {
|
||||
// $params = array();
|
||||
// $params['inquiry_mode'] = 1;// 接诊方式:图文
|
||||
// $query->where($params)->whereIn('inquiry_type', [1, 3]);
|
||||
// });
|
||||
//
|
||||
// if (!empty($sort_order)){
|
||||
// if (in_array($sort_order,[1,3,4])){
|
||||
// $query = $query->join('doctor_inquiry_config', function ($query) {
|
||||
// $query->on('user_doctor.doctor_id', '=', 'doctor_inquiry_config.doctor_id')
|
||||
// ->whereIn('inquiry_type', [1, 3])
|
||||
// ->where('inquiry_mode', 1)
|
||||
// ->orderBy('inquiry_price', 'desc')
|
||||
// ->take(1);
|
||||
// })
|
||||
// ->select("user_doctor.*")
|
||||
// ->groupBy("user_doctor.doctor_id");
|
||||
// }
|
||||
//
|
||||
// if ($sort_order == 1) {
|
||||
// // 综合-价格从低到高
|
||||
// $query->orderBy('is_recommend', 'desc');// 是否首页推荐(0:否 1:是)
|
||||
// $query->orderByRaw('avg_response_time = 0 ASC');
|
||||
// $query->orderBy('avg_response_time');
|
||||
// $query->orderBy('served_patients_num', 'desc');// 服务数从多到少
|
||||
// $query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||
// $query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
||||
// } elseif ($sort_order == 2) {
|
||||
// // 响应时间快
|
||||
// $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');// 名称排名
|
||||
// } elseif ($sort_order == 3) {
|
||||
// // 价格从低到高
|
||||
// $query->orderBy('doctor_inquiry_config.inquiry_price', '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');// 名称排名
|
||||
// } elseif ($sort_order == 4) {
|
||||
// // 价格从高到低
|
||||
// $query->orderBy('doctor_inquiry_config.inquiry_price', 'desc');
|
||||
// $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');// 名称排名
|
||||
// } elseif ($sort_order == 5) {
|
||||
// // 服务数从多到少
|
||||
// $query->orderBy('served_patients_num', 'desc');
|
||||
// $query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $result = $query->paginate($per_page, $fields, "page", $page);
|
||||
//
|
||||
// $data = array();
|
||||
// $data['current_page'] = $result->currentPage();// 当前页码
|
||||
// $data['total'] = $result->total();//数据总数
|
||||
// $data['data'] = $result->items();//数据
|
||||
// $data['per_page'] = $result->perPage();//每页个数
|
||||
// $data['last_page'] = $result->lastPage();//最后一页
|
||||
//
|
||||
// return $data;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 获取问诊医生列表
|
||||
* 专家问诊-公益问诊共用
|
||||
@ -314,13 +212,14 @@ class UserDoctor extends Model
|
||||
* @param array $doctor_params 医生搜索条件
|
||||
* @param array $doctor_expertise_params
|
||||
* @param int $is_search_welfare_reception 是否搜索公益问诊
|
||||
* @param string|int $is_first_online 是否优先在线(1:是)
|
||||
* @param string|int $sort_order
|
||||
* @param array $fields
|
||||
* @param int|null $page
|
||||
* @param int|null $per_page
|
||||
* @return array
|
||||
*/
|
||||
public static function getInquiryDoctorPage(string $keyword = "", array $hospital_params = [], array $doctor_params = [], array $doctor_expertise_params = [],int $is_search_welfare_reception = 0, string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
public static function getInquiryDoctorPage(string $keyword = "", array $hospital_params = [], array $doctor_params = [], array $doctor_expertise_params = [],int $is_search_welfare_reception = 0,string|int $is_first_online = 0, string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
{
|
||||
$query = self::with([
|
||||
"Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id",
|
||||
@ -332,6 +231,7 @@ class UserDoctor extends Model
|
||||
$query->where('is_enable', 1);
|
||||
}
|
||||
},
|
||||
"User:user_id,is_online"
|
||||
])
|
||||
->where($doctor_params)
|
||||
->when($keyword, function ($query, $keyword) {
|
||||
@ -355,7 +255,7 @@ class UserDoctor extends Model
|
||||
if (!empty($is_search_welfare_reception)){
|
||||
$params['is_enable'] = 1;
|
||||
}
|
||||
|
||||
|
||||
$query->where($params);
|
||||
|
||||
if (!empty($is_search_welfare_reception)){
|
||||
@ -363,6 +263,14 @@ class UserDoctor extends Model
|
||||
}
|
||||
});
|
||||
|
||||
if ($is_first_online == 1){
|
||||
$query->join('user as u', function ($query) {
|
||||
$query->on('user_doctor.user_id', '=', 'u.user_id');
|
||||
})
|
||||
->select("user_doctor.*")
|
||||
->orderBy('u.is_online', 'desc');
|
||||
}
|
||||
|
||||
if (!empty($sort_order)){
|
||||
if (in_array($sort_order,[1,3,4])){
|
||||
$query = $query->join('doctor_inquiry_config', function ($query) {
|
||||
@ -382,7 +290,7 @@ class UserDoctor extends Model
|
||||
$query->orderByRaw('avg_response_time = 0 ASC');
|
||||
$query->orderBy('avg_response_time');
|
||||
$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(gdxz_user_doctor.user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||
$query->orderBy('doctor_inquiry_config.inquiry_price', 'asc');
|
||||
} elseif ($sort_order == 2) {
|
||||
// 响应时间快
|
||||
@ -420,6 +328,62 @@ class UserDoctor extends Model
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取问诊医生列表
|
||||
* 专家问诊-公益问诊共用
|
||||
* @param string $keyword
|
||||
* @param array $hospital_params 医院搜索条件
|
||||
* @param array $doctor_params 医生搜索条件
|
||||
* @param array $doctor_expertise_params
|
||||
* @param int $is_search_welfare_reception 是否搜索公益问诊
|
||||
* @param string|int $is_first_online 是否优先在线(1:是)
|
||||
* @param string|int $sort_order
|
||||
* @param array $fields
|
||||
* @param int|null $page
|
||||
* @param int|null $per_page
|
||||
* @return array
|
||||
*/
|
||||
public static function getInquiryDoctorPageTest(string $keyword = "", array $hospital_params = [], array $doctor_params = [], array $doctor_expertise_params = [],int $is_search_welfare_reception = 0,string|int $is_first_online = 0, string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
{
|
||||
$doctors = UserDoctor::join('user', function ($query) {
|
||||
$query->on('user_doctor.user_id', '=', 'user.user_id');
|
||||
})
|
||||
->select("user_doctor.*")
|
||||
->orderBy('user.is_online', 'desc')
|
||||
->get();
|
||||
|
||||
dump($doctors->toArray());
|
||||
return $doctors;
|
||||
|
||||
// $query = self::orderBy('served_patients_num', 'desc');
|
||||
//
|
||||
// if ($is_first_online == 1){
|
||||
// $query = $query->join('user', function ($query) {
|
||||
// $query->on('user_doctor.user_id', '=', 'user.user_id')s
|
||||
// ->orderBy('user.is_online', 'desc');
|
||||
// })
|
||||
// ->select(['user_doctor.*','user.is_online']);
|
||||
// }q
|
||||
|
||||
// if (!empty($sort_order)){
|
||||
// if ($sort_order == 1) {
|
||||
// // 综合-价格从低到高
|
||||
// $query->orderBy('served_patients_num', 'desc');// 服务数从多到少
|
||||
// }
|
||||
// }
|
||||
|
||||
// $result = $query->paginate($per_page, $fields, "page", $page);
|
||||
//
|
||||
// $data = array();
|
||||
// $data['current_page'] = $result->currentPage();// 当前页码
|
||||
// $data['total'] = $result->total();//数据总数
|
||||
// $data['data'] = $result->items();//数据
|
||||
// $data['per_page'] = $result->perPage();//每页个数
|
||||
// $data['last_page'] = $result->lastPage();//最后一页
|
||||
|
||||
// return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取是否存在
|
||||
|
||||
@ -15,7 +15,8 @@ class PatientDoctorRequest extends FormRequest
|
||||
'province_id',
|
||||
'city_id',
|
||||
'sort_order',
|
||||
'keyword'
|
||||
'keyword',
|
||||
'is_first_online' // 是否优先在线(1:是)
|
||||
],
|
||||
'getDoctorInquiryCheck' => [ // 检测是否可以接诊
|
||||
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||
@ -45,6 +46,7 @@ class PatientDoctorRequest extends FormRequest
|
||||
'inquiry_type' => 'required|integer|min:1|max:4',
|
||||
'inquiry_mode' => 'required|integer|min:1|max:5',
|
||||
'my_doctor_type' => 'required|integer|min:1|max:2',
|
||||
'is_first_online' => 'integer|min:1|max:1',
|
||||
];
|
||||
}
|
||||
|
||||
@ -69,6 +71,9 @@ class PatientDoctorRequest extends FormRequest
|
||||
'my_doctor_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'my_doctor_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'my_doctor_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'is_first_online.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'is_first_online.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'is_first_online.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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'];
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -730,7 +730,7 @@ Router::get('/case', [InquiryController::class, 'getPatientInquiryCase']);
|
||||
|
||||
// 测试使用
|
||||
Router::addGroup('/test', function () {
|
||||
Router::get('', [TestController::class, 'test']);
|
||||
Router::get('', [TestController::class, 'test_17']);
|
||||
|
||||
//
|
||||
Router::get('/uninquiry', [TestController::class, 'uninquiry']);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user