新增计算医生平均响应时间
This commit is contained in:
parent
65bdc30ca9
commit
9be6e54dc5
@ -124,8 +124,11 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
// 处理医生服务患者数量
|
||||
$this->handleDoctorServedPatientsNum($order_inquiry['doctor_id']);
|
||||
|
||||
// 处理医生好评率
|
||||
$this->handleDoctorPraiseRate($order_inquiry['doctor_id']);
|
||||
// 计算医生好评率
|
||||
$this->computeDoctorPraiseRate($order_inquiry['doctor_id']);
|
||||
|
||||
// 计算医生平均响应时间
|
||||
$this->computeDoctorAvgPesponseTime($order_inquiry['doctor_id']);
|
||||
|
||||
Db::commit();
|
||||
Log::getInstance("queue-AutoFinishInquiry")->info("成功");
|
||||
@ -423,7 +426,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
* @param string $doctor_id
|
||||
* @return int|void
|
||||
*/
|
||||
protected function handleDoctorPraiseRate(string $doctor_id)
|
||||
protected function computeDoctorPraiseRate(string $doctor_id)
|
||||
{
|
||||
// 获取该医生全部问诊评价总数
|
||||
$params = array();
|
||||
@ -447,6 +450,45 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
UserDoctor::editUserDoctor($params,$data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理医生平均响应时间
|
||||
* @param string $doctor_id
|
||||
* @return void
|
||||
*/
|
||||
protected function computeDoctorAvgPesponseTime(string $doctor_id)
|
||||
{
|
||||
// 统计数组
|
||||
$avg_pesponse_time = [];
|
||||
|
||||
// 获取该医生全部已结束问诊订单
|
||||
$params = array();
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
$params['inquiry_status'] = 6;
|
||||
$order_inquiry = OrderInquiry::getList($params);
|
||||
if (!empty($order_inquiry)){
|
||||
foreach ($order_inquiry as $item){
|
||||
$pesponse_time = strtotime($item['reception_time']) - strtotime($item['created_at']);
|
||||
if ($pesponse_time < 0){
|
||||
// 小于0的数据不统计
|
||||
continue;
|
||||
}
|
||||
|
||||
$avg_pesponse_time[] = $pesponse_time;
|
||||
}
|
||||
|
||||
if (!empty($avg_pesponse_time)){
|
||||
$result = floor((array_sum($avg_pesponse_time) / count($avg_pesponse_time)) / 60 * 100) / 100;
|
||||
|
||||
$params = array();
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
|
||||
$data = array();
|
||||
$data['avg_pesponse_time'] = $result;
|
||||
UserDoctor::editUserDoctor($params,$data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送问诊结束im消息
|
||||
* @param array|object $order_inquiry
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user