From 48f180dbb1b8a6ace4110c1a866202535eb11705 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Fri, 25 Aug 2023 18:12:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E9=97=AE=E8=AF=8A=E8=AE=A2=E5=8D=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=9B=9E=E8=B0=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetectionCompleteDelayDirectConsumer.php | 8 +- app/Controller/CallBackController.php | 241 ++++++++---------- app/Controller/DetectionController.php | 12 + app/Services/DetectionService.php | 231 +++++++++++++++++ config/routes.php | 3 + 5 files changed, 358 insertions(+), 137 deletions(-) diff --git a/app/Amqp/Consumer/DetectionCompleteDelayDirectConsumer.php b/app/Amqp/Consumer/DetectionCompleteDelayDirectConsumer.php index a7fa172..69c44ee 100644 --- a/app/Amqp/Consumer/DetectionCompleteDelayDirectConsumer.php +++ b/app/Amqp/Consumer/DetectionCompleteDelayDirectConsumer.php @@ -65,7 +65,7 @@ class DetectionCompleteDelayDirectConsumer extends ConsumerMessage // 获取现在时间距离订单结束时间的时间差 $time_diff = $InquiryService->getInquiryFinishTimeDiff($order_inquiry); if ($time_diff == 0){ - $time_diff = 10; + $time_diff = 60; } // 计算时间并重新加入队列 @@ -129,8 +129,6 @@ class DetectionCompleteDelayDirectConsumer extends ConsumerMessage Log::getInstance("queue-DetectionComplete")->error("患者信息错误"); return Result::DROP; } - - }catch (\Throwable $e){ Log::getInstance("queue-DetectionComplete")->error($e->getMessage()); return Result::DROP; @@ -194,16 +192,12 @@ class DetectionCompleteDelayDirectConsumer extends ConsumerMessage // 修改检测订单 $data = array(); - $data['detection_status'] = 4; $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id $params = array(); $params['order_detection_id'] = $order_detection['order_detection_id']; OrderDetection::editOrderDetection($params,$data); - // 回填检测结果字段 - $order_detection['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - // 添加自动完成队列 $time = 1000 * 60 * 60 * 24 * 3; diff --git a/app/Controller/CallBackController.php b/app/Controller/CallBackController.php index 97c95de..f63f933 100644 --- a/app/Controller/CallBackController.php +++ b/app/Controller/CallBackController.php @@ -1685,6 +1685,9 @@ class CallBackController extends AbstractController return $this->detectionResultFailReturn("订单数据错误"); } + // 发送im消息 + $imService = new ImService(); + // 检测当前医生是否和患者存在未完成问诊订单 $InquiryService = new InquiryService(); $order_inquiry = $InquiryService->checkPatientDoctorProgressInquiry($order_detection['user_id'],$order_detection['doctor_id']); @@ -1707,142 +1710,16 @@ class CallBackController extends AbstractController return $this->detectionResultFailReturn("加入队列失败"); } - // 修改检测订单 - $data = array(); - $data['detection_result_pdf'] = $detection_result_pdf; - $data['detection_result_date'] = date('Y-m-d H:i:s',time()); - - $params = array(); - $params['order_detection_id'] = $order_detection['order_detection_id']; - OrderDetection::editOrderDetection($params,$data); - - // 发送im消息 - $imService = new ImService(); - - // 发送IM消息-检测报告结果 - $imService->detectionTestReport( - $order_detection, - $user_doctor['user_id'], - $order_detection['user_id'], - $order_detection_case['detection_disease_class_names'], - $detection_project['detection_project_name'] - ); - - // 发送IM消息-检测报告结果-文字 - $imService->detectionTestReportStr( - $order_detection, - $user_doctor['user_name'], - $detection_project['detection_project_name'], - $user_doctor['user_id'], - $order_detection['user_id'] - ); - - return $this->detectionResultSuccessReturn(); - } - - // 检测家庭成员是否存在 - $params = array(); - $params['family_id'] = $order_detection['family_id']; - $params['patient_id'] = $order_detection['patient_id']; - $patient_family = PatientFamily::getOne($params); - if (empty($patient_family)) { - return $this->detectionResultFailReturn("患者信息错误"); - } - - Db::beginTransaction(); - - try { - $generator = $this->container->get(IdGeneratorInterface::class); - - // 创建问诊订单 - $data = array(); - $data['user_id'] = $order_detection['user_id']; - $data['patient_id'] = $order_detection['patient_id']; - $data['doctor_id'] = $order_detection['doctor_id']; - $data['family_id'] = $order_detection['family_id']; - $data['inquiry_type'] = 5; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测) - $data['inquiry_mode'] = 1; // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员) - $data['inquiry_status'] = 4; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) - $data['inquiry_pay_channel'] = 3; // 支付渠道(1:小程序支付 2:微信扫码支付 3:模拟支付) - $data['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) - $data['inquiry_no'] = $generator->generate();// 订单编号 - $data['escrow_trade_no'] = "GD" . $generator->generate(); // 第三方支付流水号 - $data['amount_total'] = 0;// 订单金额 - $data['coupon_amount_total'] = 0;// 优惠卷总金额 - $data['payment_amount_total'] = 0;// 实际付款金额 - $data['pay_time'] = date('Y-m-d H:i:s', time());// 支付时间 - $data['reception_time'] = date('Y-m-d H:i:s', time());// 接诊时间 - $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 - $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) - $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女) - $data['patient_age'] = $patient_family['age'];// 患者年龄-就诊人 - $order_inquiry = OrderInquiry::addOrderInquiry($data); - if (empty($order_inquiry)) { - Db::rollBack(); - return $this->detectionResultFailReturn("问诊订单创建失败"); - } - - // 回填问诊订单id - $order_detection['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - - // 增加患者问诊病例 - $data = array(); - $data['user_id'] = $order_detection['user_id']; - $data['patient_id'] = $order_detection['patient_id']; - $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id - $data['family_id'] = $patient_family['family_id']; // 家庭成员id - $data['relation'] = $patient_family['relation']; // 与患者关系(1:本人 2:父母 3:爱人 4:子女 5:亲戚 6:其他 ) - $data['name'] = $patient_family['card_name']; // 患者名称 - $data['sex'] = $patient_family['sex'] ?? 0; // 患者性别(0:未知 1:男 2:女) - $data['age'] = $patient_family['age'] ?? null; // 患者年龄 - $data['height'] = $patient_family['height'] ?: null; // 身高(cm) - $data['weight'] = $patient_family['weight'] ?: null;; // 体重(kg) - $order_inquiry_case = OrderInquiryCase::addOrderInquiryCase($data); - if (empty($order_inquiry_case)) { - Db::rollBack(); - return $this->detectionResultFailReturn("问诊订单病例创建失败"); - } - // 修改检测订单 $data = array(); $data['detection_status'] = 4; $data['detection_result_pdf'] = $detection_result_pdf; $data['detection_result_date'] = date('Y-m-d H:i:s',time()); - $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id $params = array(); $params['order_detection_id'] = $order_detection['order_detection_id']; OrderDetection::editOrderDetection($params,$data); - // 回填检测结果字段 - $order_detection['detection_result_pdf'] = $detection_result_pdf; - $order_detection['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - - // 添加自动完成队列 - $time = 1000 * 60 * 60 * 24 * 3; - - $data = array(); - $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - - $message = new AutoCompleteInquiryDelayDirectProducer($data); - $message->setDelayMs($time); - $producer = $this->container->get(Producer::class); - $res = $producer->produce($message); - if (!$res) { - Db::rollBack(); - return $this->detectionResultFailReturn("添加自动完成队列失败"); - } - - // 发送im消息 - $imService = new ImService(); - - // 患者病例 - $imService->patientCase( - $order_inquiry, - $user_doctor['user_id'], - $order_inquiry_case['disease_desc'] - ); - // 发送IM消息-检测报告结果 $imService->detectionTestReport( $order_detection, @@ -1852,10 +1729,114 @@ class CallBackController extends AbstractController $detection_project['detection_project_name'] ); - Db::commit(); - } catch (\Throwable $e) { - Db::rollBack(); - return $this->detectionResultFailReturn($e->getMessage()); + return $this->detectionResultSuccessReturn(); + }else{ + // 检测家庭成员是否存在 + $params = array(); + $params['family_id'] = $order_detection['family_id']; + $params['patient_id'] = $order_detection['patient_id']; + $patient_family = PatientFamily::getOne($params); + if (empty($patient_family)) { + return $this->detectionResultFailReturn("患者信息错误"); + } + + Db::beginTransaction(); + + try { + $generator = $this->container->get(IdGeneratorInterface::class); + + // 创建问诊订单 + $data = array(); + $data['user_id'] = $order_detection['user_id']; + $data['patient_id'] = $order_detection['patient_id']; + $data['doctor_id'] = $order_detection['doctor_id']; + $data['family_id'] = $order_detection['family_id']; + $data['inquiry_type'] = 5; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测) + $data['inquiry_mode'] = 1; // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员) + $data['inquiry_status'] = 4; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) + $data['inquiry_pay_channel'] = 3; // 支付渠道(1:小程序支付 2:微信扫码支付 3:模拟支付) + $data['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) + $data['inquiry_no'] = $generator->generate();// 订单编号 + $data['escrow_trade_no'] = "GD" . $generator->generate(); // 第三方支付流水号 + $data['amount_total'] = 0;// 订单金额 + $data['coupon_amount_total'] = 0;// 优惠卷总金额 + $data['payment_amount_total'] = 0;// 实际付款金额 + $data['pay_time'] = date('Y-m-d H:i:s', time());// 支付时间 + $data['reception_time'] = date('Y-m-d H:i:s', time());// 接诊时间 + $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 + $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) + $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女) + $data['patient_age'] = $patient_family['age'];// 患者年龄-就诊人 + $order_inquiry = OrderInquiry::addOrderInquiry($data); + if (empty($order_inquiry)) { + Db::rollBack(); + return $this->detectionResultFailReturn("问诊订单创建失败"); + } + + // 回填问诊订单id + $order_detection['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + + // 增加患者问诊病例 + $data = array(); + $data['user_id'] = $order_detection['user_id']; + $data['patient_id'] = $order_detection['patient_id']; + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id + $data['family_id'] = $patient_family['family_id']; // 家庭成员id + $data['relation'] = $patient_family['relation']; // 与患者关系(1:本人 2:父母 3:爱人 4:子女 5:亲戚 6:其他 ) + $data['name'] = $patient_family['card_name']; // 患者名称 + $data['sex'] = $patient_family['sex'] ?? 0; // 患者性别(0:未知 1:男 2:女) + $data['age'] = $patient_family['age'] ?? null; // 患者年龄 + $data['height'] = $patient_family['height'] ?: null; // 身高(cm) + $data['weight'] = $patient_family['weight'] ?: null;; // 体重(kg) + $order_inquiry_case = OrderInquiryCase::addOrderInquiryCase($data); + if (empty($order_inquiry_case)) { + Db::rollBack(); + return $this->detectionResultFailReturn("问诊订单病例创建失败"); + } + + // 修改检测订单 + $data = array(); + $data['detection_status'] = 4; + $data['detection_result_pdf'] = $detection_result_pdf; + $data['detection_result_date'] = date('Y-m-d H:i:s',time()); + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id + + $params = array(); + $params['order_detection_id'] = $order_detection['order_detection_id']; + OrderDetection::editOrderDetection($params,$data); + + // 回填检测结果字段 + $order_detection['detection_result_pdf'] = $detection_result_pdf; + + // 添加自动完成队列 + $time = 1000 * 60 * 60 * 24 * 3; + + $data = array(); + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + + $message = new AutoCompleteInquiryDelayDirectProducer($data); + $message->setDelayMs($time); + $producer = $this->container->get(Producer::class); + $res = $producer->produce($message); + if (!$res) { + Db::rollBack(); + return $this->detectionResultFailReturn("添加自动完成队列失败"); + } + + // 发送IM消息-检测报告结果 + $imService->detectionTestReport( + $order_detection, + $user_doctor['user_id'], + $order_detection['user_id'], + $order_detection_case['detection_disease_class_names'], + $detection_project['detection_project_name'] + ); + + Db::commit(); + } catch (\Throwable $e) { + Db::rollBack(); + return $this->detectionResultFailReturn($e->getMessage()); + } } try { diff --git a/app/Controller/DetectionController.php b/app/Controller/DetectionController.php index 24b7e9e..ae6a7a5 100644 --- a/app/Controller/DetectionController.php +++ b/app/Controller/DetectionController.php @@ -107,4 +107,16 @@ class DetectionController extends AbstractController $data = $detectionService->bindDetectionTube(); return $this->response->json($data); } + + /** + * 创建检测问诊订单 + * @return ResponseInterface + */ + public function addDetectionInquiryOrder(): ResponseInterface + { + $detectionService = new DetectionService(); + $data = $detectionService->addDetectionInquiryOrder(); + return $this->response->json($data); + } + } \ No newline at end of file diff --git a/app/Services/DetectionService.php b/app/Services/DetectionService.php index a5532a9..e96908b 100644 --- a/app/Services/DetectionService.php +++ b/app/Services/DetectionService.php @@ -2,6 +2,7 @@ namespace App\Services; +use App\Amqp\Producer\AutoCompleteInquiryDelayDirectProducer; use App\Amqp\Producer\CancelUnpayOrdersDelayDirectProducer; use App\Constants\HttpEnumCode; use App\Exception\BusinessException; @@ -15,6 +16,8 @@ use App\Model\DiseaseClassDetection; use App\Model\OrderDetection; use App\Model\OrderDetectionCase; use App\Model\OrderDetectionRefund; +use App\Model\OrderInquiry; +use App\Model\OrderInquiryCase; use App\Model\PatientFamily; use App\Model\UserDoctor; use App\Model\UserLocation; @@ -23,6 +26,7 @@ use App\Utils\PcreMatch; use Extend\Detection\Wy; use Extend\Wechat\WechatPay; use Hyperf\Amqp\Producer; +use Hyperf\Amqp\Result; use Hyperf\DbConnection\Db; use Hyperf\Snowflake\IdGeneratorInterface; use Psr\Container\ContainerExceptionInterface; @@ -521,6 +525,233 @@ class DetectionService extends BaseService return success(); } + /** + * 创建检测问诊订单 + * @return array + */ + public function addDetectionInquiryOrder(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + + $order_detection_id = $this->request->route("order_detection_id"); + + $request_params = $this->request->all(); + + // 定义返回数据 + /* + * status解释 + * 1:成功 + * 2:存在待支付订单 + * 3:存在待接诊订单 + * 4:存在接诊中订单 + * */ + $result = array(); + $result['status'] = 1; + $result['message'] = "成功"; + $result['data'] = ""; + + $params = array(); + $params['patient_id'] = $user_info['client_user_id']; + $params['order_detection_id'] = $order_detection_id; + $order_detection = OrderDetection::getOne($params); + if (empty($order_detection)){ + return fail(); + } + + // 检测订单状态 + if ($order_detection['detection_status'] != 4){ + return fail(HttpEnumCode::HTTP_ERROR,"订单状态错误"); + } + + Db::beginTransaction(); + try { + // 检测当前医生是否和患者存在未完成问诊订单 + $InquiryService = new InquiryService(); + $order_inquiry = $InquiryService->checkPatientDoctorProgressInquiry($order_detection['user_id'],$order_detection['doctor_id']); + if (!empty($order_inquiry)){ + if ($order_inquiry['inquiry_status'] == 1){ + // 待支付 + Db::rollBack(); + + $result['status'] = 2; + $result['message'] = "当前医生有您未支付的订单,点击“继续”将为您取消订单直接进入报告解读服务。"; + $result['data'] = (string)$order_inquiry['order_inquiry_id']; + + return success($result); + } + + if ($order_inquiry['inquiry_status'] == 3){ + // 待接诊 + Db::rollBack(); + + $result['status'] = 3; + $result['message'] = "当前医生有您待接诊的订单,点击“继续”将为您取消订单直接进入报告解读服务。"; + $result['data'] = (string)$order_inquiry['order_inquiry_id']; + + return success($result); + } + + if ($order_inquiry['inquiry_status'] == 4){ + // 已接诊 + Db::rollBack(); + + $result['status'] = 4; + $result['message'] = "当前医生有您问诊中的订单,点击“继续”将进入聊天详情。"; + $result['data'] = (string)$order_inquiry['order_inquiry_id']; + + return success($result); + } + } + + // 获取医生数据 + $params = array(); + $params['doctor_id'] = $order_detection['doctor_id']; + $user_doctor = UserDoctor::getOne($params); + if (empty($user_doctor)){ + Db::rollBack(); + return fail(); + } + + // 获取检测病例数据 + $params = array(); + $params['order_detection_id'] = $order_detection['order_detection_id']; + $order_detection_case = OrderDetectionCase::getOne($params); + if (empty($order_detection_case)){ + Db::rollBack(); + return fail(); + } + + // 获取检测项目数据 + $params = array(); + $params['detection_project_id'] = $order_detection['detection_project_id']; + $detection_project = DetectionProject::getOne($params); + if (empty($detection_project)){ + Db::rollBack(); + return fail(); + } + + // 检测家庭成员是否存在 + $params = array(); + $params['family_id'] = $order_detection['family_id']; + $params['patient_id'] = $order_detection['patient_id']; + $patient_family = PatientFamily::getOne($params); + if (empty($patient_family)) { + Db::rollBack(); + return fail(); + } + + $generator = $this->container->get(IdGeneratorInterface::class); + + // 创建问诊订单 + $data = array(); + $data['user_id'] = $order_detection['user_id']; + $data['patient_id'] = $order_detection['patient_id']; + $data['doctor_id'] = $order_detection['doctor_id']; + $data['family_id'] = $order_detection['family_id']; + $data['inquiry_type'] = 5; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测) + $data['inquiry_mode'] = 1; // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员) + $data['inquiry_status'] = 4; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) + $data['inquiry_pay_channel'] = 3; // 支付渠道(1:小程序支付 2:微信扫码支付 3:模拟支付) + $data['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) + $data['inquiry_no'] = $generator->generate();// 订单编号 + $data['escrow_trade_no'] = "GD" . $generator->generate(); // 第三方支付流水号 + $data['amount_total'] = 0;// 订单金额 + $data['coupon_amount_total'] = 0;// 优惠卷总金额 + $data['payment_amount_total'] = 0;// 实际付款金额 + $data['pay_time'] = date('Y-m-d H:i:s', time());// 支付时间 + $data['reception_time'] = date('Y-m-d H:i:s', time());// 接诊时间 + $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 + $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) + $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女) + $data['patient_age'] = $patient_family['age'];// 患者年龄-就诊人 + $order_inquiry = OrderInquiry::addOrderInquiry($data); + if (empty($order_inquiry)) { + Db::rollBack(); + return fail(); + } + + // 回填问诊订单id + $order_detection['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + + // 增加患者问诊病例 + $data = array(); + $data['user_id'] = $order_detection['user_id']; + $data['patient_id'] = $order_detection['patient_id']; + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id + $data['family_id'] = $patient_family['family_id']; // 家庭成员id + $data['relation'] = $patient_family['relation']; // 与患者关系(1:本人 2:父母 3:爱人 4:子女 5:亲戚 6:其他 ) + $data['name'] = $patient_family['card_name']; // 患者名称 + $data['sex'] = $patient_family['sex'] ?? 0; // 患者性别(0:未知 1:男 2:女) + $data['age'] = $patient_family['age'] ?? null; // 患者年龄 + $data['height'] = $patient_family['height'] ?: null; // 身高(cm) + $data['weight'] = $patient_family['weight'] ?: null;; // 体重(kg) + $order_inquiry_case = OrderInquiryCase::addOrderInquiryCase($data); + if (empty($order_inquiry_case)) { + Db::rollBack(); + return fail(); + } + + // 修改检测订单 + $data = array(); + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];// 订单-问诊id + + $params = array(); + $params['order_detection_id'] = $order_detection['order_detection_id']; + OrderDetection::editOrderDetection($params,$data); + + // 添加自动完成队列 + $time = 1000 * 60 * 60 * 24 * 3; + + $data = array(); + $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + + $message = new AutoCompleteInquiryDelayDirectProducer($data); + $message->setDelayMs($time); + $producer = $this->container->get(Producer::class); + $res = $producer->produce($message); + if (!$res) { + Db::rollBack(); + return fail(); + } + + // 发送im消息 + $imService = new ImService(); + + // 患者病例 + $imService->patientCase( + $order_inquiry, + $user_doctor['user_id'], + $order_inquiry_case['disease_desc'] + ); + + // 发送IM消息-检测报告结果 + $imService->detectionTestReport( + $order_detection, + $user_doctor['user_id'], + $order_detection['user_id'], + $order_detection_case['detection_disease_class_names'], + $detection_project['detection_project_name'] + ); + + // 发送IM消息-检测报告结果-文字 + $imService->detectionTestReportStr( + $order_detection, + $user_doctor['user_name'], + $detection_project['detection_project_name'], + $user_doctor['user_id'], + $order_detection['user_id'] + ); + + Db::commit(); + }catch (\Throwable $e){ + Db::rollBack(); + Log::getInstance("DetectionService-bindDetectionTube")->error($e->getMessage()); + return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage()); + } + + return success($result); + } + /** * 取消未支付检测订单 * @param string|int $order_no 订单编号 diff --git a/config/routes.php b/config/routes.php index 494b22e..c94c597 100644 --- a/config/routes.php +++ b/config/routes.php @@ -295,6 +295,9 @@ Router::addGroup('/patient', function () { // 获取检测项目用途列表 Router::get('/purpose', [DetectionController::class, 'getDetectionProjectPurposeList']); }); + + // 创建检测问诊订单 + Router::post('/inquiry/{order_detection_id:\d+}', [DetectionController::class, 'addDetectionInquiryOrder']); }); // 医生数据