检测是否可以接诊

This commit is contained in:
2023-02-27 18:02:41 +08:00
parent 9b137d16f5
commit 5825138b7f
12 changed files with 357 additions and 48 deletions
+65
View File
@@ -771,5 +771,70 @@ class UserDoctorService extends BaseService
return true;
}
/**
* 检测是否存在对应问诊的在线医生
* @param int|string $inquiry_type 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
* @return bool
*/
public function checkDoctorOnline(int|string $inquiry_type): bool
{
$params = array();
$params['status'] = 1; // 状态
$params['idcard_status'] = 1; // 实名认证状态
$params['iden_auth_status'] = 1;// 身份认证状态
if ($inquiry_type == 4){
// 问诊购药
$params['multi_point_status'] = 1;// 医生多点执业认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败)
}
$params['is_online'] = 1;// 是否在线(0:不在线 1:在线)
switch ($inquiry_type) {
case 1:
// 专家
$params['is_img_expert_reception'] = 1;// 是否参加专家图文接诊(0:否 1:是)
break;
case 2:
// 快速
$params['is_img_quick_reception'] = 1;// 是否参加快速图文接诊(0:否 1:是)
break;
case 3:
// 公益
$params['is_img_welfare_reception'] = 1;// 是否参加公益图文问诊(0:否 1:是)
break;
default:
throw new BusinessException();
break;
}
return UserDoctor::getExists($params);
}
/**
* 获取当前时间N分钟前接诊中的医生
* @param string|int $minute 分钟
* @param int|string $inquiry_type 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
* @return array
*/
public function getBeforeCurrentTimeDoctor(string|int $minute,int|string $inquiry_type): array
{
// 获取当前时间n分钟前时间
$date = date('Y-m-d H:i:s',time() - $minute * 60);
$params = array();
$params[] = ['inquiry_type','=',$inquiry_type]; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
$params[] = ['inquiry_mode','=',1];
$params[] = ['reception_time','>',$date];
$inquiry_status_params = array();
$inquiry_status_params = [4,5];
$order_inquiry = OrderInquiry::getInquiryStatusList($params,$inquiry_status_params);
if (empty($order_inquiry)){
return [];
}
return $order_inquiry->toArray();
}
}