初始化提交
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
<?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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user