From 6cf434831e71b51f2f1f8884def1a9ef59731ac8 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 28 Feb 2024 17:34:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E8=AF=8A=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E9=98=9F=E5=88=97=E7=9A=84=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=BA=E7=B3=BB=E7=BB=9F=E9=97=AE=E8=AF=8A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/UserDoctorController.php | 3 ++- app/Services/UserDoctorService.php | 35 ++++++++++++++++--------- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/app/Controller/UserDoctorController.php b/app/Controller/UserDoctorController.php index e52c923..9faaef4 100644 --- a/app/Controller/UserDoctorController.php +++ b/app/Controller/UserDoctorController.php @@ -331,7 +331,8 @@ class UserDoctorController extends AbstractController /** * 新增医生接诊 * @return ResponseInterface - * @throws GuzzleException + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ public function addDoctorInquiry(): ResponseInterface { diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index ad641e8..49fa036 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -1834,6 +1834,10 @@ class UserDoctorService extends BaseService $params = array(); $params['inquiry_type'] = $order_inquiry['inquiry_type']; $params['inquiry_mode'] = $order_inquiry['inquiry_mode']; + $system_inquiry_config = SystemInquiryConfig::getOne($params); + if (empty($system_inquiry_config)){ + return fail(HttpEnumCode::HTTP_ERROR, "接诊失败"); + } Db::beginTransaction(); @@ -1846,25 +1850,32 @@ class UserDoctorService extends BaseService $params['order_inquiry_id'] = $order_inquiry_id; OrderInquiry::edit($params,$data); - // 获取订单结束周期 + /** + * 获取订单结束周期 + * 疑难问诊为自己配置周期。 + */ + // 疑难问诊 + if ($order_inquiry['inquiry_type'] == 1 && $order_inquiry['inquiry_mode'] == 6){ + $params = array(); + $params['doctor_id'] = $order_inquiry['doctor_id']; + $params['inquiry_type'] = $order_inquiry['inquiry_type']; + $params['inquiry_mode'] = $order_inquiry['inquiry_mode']; + $doctor_inquiry_config_service = DoctorInquiryConfigService::getOne($params); + if(empty($doctor_inquiry_config_service)){ + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "接诊失败"); + } - // 添加自动结束队列 - if ($order_inquiry['inquiry_type'] == 1 || $order_inquiry['inquiry_type'] == 3){ - // 专家问诊-公益问诊 - $time = 1000 * 60 * 60 * 24; - }elseif($order_inquiry['inquiry_type'] == 2){ - // 快速问诊 - $time = 1000 * 60 * 60; + $time = $doctor_inquiry_config_service['service_period'] * 24 * 60 * 60; }else{ - // 购药 - $time = 1000 * 60 * 30; + $time = $system_inquiry_config['duration'] * 60; } + // 添加自动结束队列 $data = array(); $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - $message = new AutoCompleteInquiryDelayDirectProducer($data); - $message->setDelayMs($time); + $message->setDelayMs(1000 * $time); $producer = $this->container->get(Producer::class); $res = $producer->produce($message); if (!$res) {