hospital-applets-api/app/Services/UserDoctorService.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 =
}
}