From 79d532c44f1e5e6b108dca6f2b0f7f0228c10936 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Thu, 31 Aug 2023 17:01:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96=E5=A4=84?= =?UTF-8?q?=E6=96=B9=E5=88=97=E8=A1=A8=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=82=A3=E8=80=85=E6=9C=80=E5=90=8E=E4=B8=80?= =?UTF-8?q?=E6=9D=A1=E9=97=AE=E8=AF=8A=E8=AE=A2=E5=8D=95id=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/InquiryController.php | 14 ++++++++++++ app/Model/OrderInquiry.php | 13 +++++++++++ app/Request/InquiryRequest.php | 4 ++++ app/Services/InquiryService.php | 34 ++++++++++++++++++++++++++-- app/Services/UserDoctorService.php | 6 +++++ config/routes.php | 3 +++ 6 files changed, 72 insertions(+), 2 deletions(-) diff --git a/app/Controller/InquiryController.php b/app/Controller/InquiryController.php index 8003941..a6e083a 100644 --- a/app/Controller/InquiryController.php +++ b/app/Controller/InquiryController.php @@ -131,4 +131,18 @@ class InquiryController extends AbstractController $data = $InquiryService->putFinishInquiry(); return $this->response->json($data); } + + /** + * 获取患者最后一条问诊订单id + * @return ResponseInterface + */ + public function getPatientLastInquiryId(): ResponseInterface + { + $request = $this->container->get(InquiryRequest::class); + $request->scene('getPatientLastInquiryId')->validateResolved(); + + $InquiryService = new InquiryService(); + $data = $InquiryService->getPatientLastInquiryId(); + return $this->response->json($data); + } } \ No newline at end of file diff --git a/app/Model/OrderInquiry.php b/app/Model/OrderInquiry.php index 7f9bbda..e611911 100644 --- a/app/Model/OrderInquiry.php +++ b/app/Model/OrderInquiry.php @@ -520,4 +520,17 @@ class OrderInquiry extends Model ->latest() ->first($fields); } + + /** + * 获取最后一条订单 + * @param array $params + * @param array $fields + * @return object|null + */ + public static function getInquiryLastOne(array $params,array $fields = ["*"]): object|null + { + return self::where($params) + ->latest() + ->first($fields); + } } diff --git a/app/Request/InquiryRequest.php b/app/Request/InquiryRequest.php index 802999c..78d8cda 100644 --- a/app/Request/InquiryRequest.php +++ b/app/Request/InquiryRequest.php @@ -42,6 +42,10 @@ class InquiryRequest extends FormRequest 'getPatientInquiryCase' => [ // 获取患者问诊病例 'order_inquiry_id', ], + 'getPatientLastInquiryId' => [ // 获取患者最后一条问诊订单id + 'patient_id', + 'doctor_id', + ], ]; /** diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 5fcee51..5df95af 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -1009,6 +1009,35 @@ class InquiryService extends BaseService return success(); } + /** + * 获取患者最后一条问诊订单id + * @return array + */ + public function getPatientLastInquiryId(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + + $patient_id = $this->request->input('patient_id'); + $doctor_id = $this->request->input('doctor_id'); + + if (empty($user_info)) { + return fail(HttpEnumCode::HTTP_ERROR, "操作失败"); + } + + // 获取问诊订单数据 + $params = array(); + $params['patient_id'] = $patient_id; + $params['doctor_id'] = $doctor_id; + + $inquiry_status_params = [3,4,5,6,7]; + $order_inquiry = OrderInquiry::getInquiryStatusLastOne($params,$inquiry_status_params); + if (empty($order_inquiry)) { + return success(""); + } + + return success($order_inquiry['order_inquiry_id']); + } + /** * 获取医生未接诊订单数量 * @param string $doctor_id 医生id @@ -1506,7 +1535,8 @@ class InquiryService extends BaseService throw new BusinessException("问诊订单状态错误"); } - $time = 0; + // 随机初始时间 + $time = mt_rand(60,600); $wait_pay_time = 60 * 30;// 待支付时间 $wait_assign_time = 60 * 5;// 待分配时间 $wait_inquiry_time = 0; // 待接诊时间 @@ -1533,7 +1563,7 @@ class InquiryService extends BaseService $wait_inquiry_time = 60 * 10; $wait_finish_time = 60 * 30; } elseif ($order_inquiry['inquiry_type'] == 5) { - // 问诊购药 + // 检测订单 $wait_finish_time = 60 * 60 * 24 * 3; } diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index f5bc620..ff11330 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -535,6 +535,12 @@ class UserDoctorService extends BaseService // 疾病信息 $data['order_prescription_icd'] = $order_prescription['OrderPrescriptionIcd'] ?? []; + // 患者id + $data['patient_id'] = $order_inquiry_case['patient_id']; + + // 医生id + $data['doctor_id'] = $order_inquiry_case['doctor_id']; + $result[] = $data; } diff --git a/config/routes.php b/config/routes.php index d6e12d8..9045e2a 100644 --- a/config/routes.php +++ b/config/routes.php @@ -752,6 +752,9 @@ Router::addGroup('/inquiry', function () { // 结束问诊 Router::put('/finish/{order_inquiry_id:\d+}', [InquiryController::class, 'putFinishInquiry']); + + // 获取患者最后一条问诊订单id + Router::get('/last', [InquiryController::class, 'getPatientLastInquiryId']); }); // 获取弹窗数据