85 lines
2.4 KiB
PHP
85 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Constants\HttpEnumCode;
|
|
use App\Exception\BusinessException;
|
|
use App\Model\DiseaseClassExpertise;
|
|
use App\Model\DoctorExpertise;
|
|
use App\Model\OrderInquiry;
|
|
use App\Model\UserDoctor;
|
|
|
|
class UserDoctorService extends BaseService
|
|
{
|
|
/**
|
|
* 获取医生专长列表
|
|
* 身份认证
|
|
* @return array
|
|
*/
|
|
public function getAuthDoctorExpertise(): array
|
|
{
|
|
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
|
|
|
// 获取医生已选择专长
|
|
$doctor_selected_expertise = $this->getDoctorSelectedExpertise($user_info['client_user_id']);
|
|
|
|
$expertise_ids = [];
|
|
|
|
if (!empty($doctor_selected_expertise)){
|
|
$expertise_ids = array_column($doctor_selected_expertise,'expertise_id');
|
|
}
|
|
|
|
// 获取全部专长
|
|
$fields = [
|
|
'expertise_id',
|
|
'expertise_name',
|
|
'expertise_sort',
|
|
];
|
|
$disease_class_expertise = DiseaseClassExpertise::getOrderList([],$fields);
|
|
|
|
foreach ($disease_class_expertise as &$item){
|
|
$item['is_selected'] = 0;
|
|
if (in_array($item['expertise_id'],$expertise_ids)){
|
|
$item['is_selected'] = 1;
|
|
}
|
|
}
|
|
|
|
return success($disease_class_expertise);
|
|
}
|
|
|
|
|
|
/**
|
|
* 获取医生已选择专长
|
|
* @param string $doctor_id
|
|
* @return array
|
|
*/
|
|
public function getDoctorSelectedExpertise(string $doctor_id): array
|
|
{
|
|
if (empty($doctor_id)){
|
|
throw new BusinessException("缺少医生id");
|
|
}
|
|
|
|
$params = array();
|
|
$params['doctor_id'] = $doctor_id;
|
|
$doctor_expertise = DoctorExpertise::getDiseaseClassExpertiseList($params);
|
|
if (!empty($doctor_expertise)){
|
|
foreach ($doctor_expertise as &$data){
|
|
if (!empty($data['DiseaseClassExpertise'])){
|
|
$data['expertise_name'] = $data['DiseaseClassExpertise']['expertise_name'];
|
|
}
|
|
unset($data['DiseaseClassExpertise']);
|
|
}
|
|
}
|
|
|
|
return $doctor_expertise->toArray();
|
|
}
|
|
|
|
// 获取医生银行卡
|
|
public function getDoctorBankCard(){
|
|
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
|
|
|
$params = array();
|
|
$params['doctor_id'] = $user_info['client_user_id'];
|
|
// $doctor_bank_card =
|
|
}
|
|
} |