diff --git a/app/Services/PatientOrderService.php b/app/Services/PatientOrderService.php index daef9f3..19d7257 100644 --- a/app/Services/PatientOrderService.php +++ b/app/Services/PatientOrderService.php @@ -1107,6 +1107,40 @@ class PatientOrderService extends BaseService $result['payment_amount_total'] = $order_service_package['amount_total'] - 0; // 实际订单金额 $result['coupon_amount_total'] = 0; // 优惠金额 + // 检测是否存在同类型未完成的问诊订单 + $PatientOrderService = new PatientOrderService(); + $order_inquiry_id = $PatientOrderService->getNotFinishedOrderInquiry(1, $inquiry_mode, $user_info['client_user_id']); + if (!empty($order_inquiry_id)) { + // 获取问诊订单数据 + $params = array(); + $params['order_inquiry_id'] = $order_inquiry_id; + $order_inquiry = OrderInquiry::getOne($params); + if (empty($order_inquiry)) { + return fail(HttpEnumCode::SERVER_ERROR); + } + + $return_result['message'] = "当前患者存在进行中的问诊订单"; + $return_result['data'] = $result; + $return_result['data']['order_no'] = $order_inquiry['inquiry_no']; + $return_result['data']['order_id'] = $order_inquiry['order_inquiry_id']; + $return_result['data']['order_status'] = $order_inquiry['inquiry_status']; + $return_result['data']['order_pay_status'] = $order_inquiry['inquiry_pay_status']; + return success($return_result); + } + + // 检测当前医生是否和患者存在未完成问诊订单 + $InquiryService = new InquiryService(); + $order_inquiry = $InquiryService->checkPatientDoctorProgressInquiry($user_info['client_user_id'], $order_service_package['doctor_id']); + if (!empty($order_inquiry)) { + $return_result['message'] = "您和当前医生存在问诊中订单,无法够买服务包"; + $return_result['data'] = $result; + $return_result['data']['order_no'] = $order_inquiry['inquiry_no']; + $return_result['data']['order_id'] = $order_inquiry['order_inquiry_id']; + $return_result['data']['order_status'] = $order_inquiry['inquiry_status']; + $return_result['data']['order_pay_status'] = $order_inquiry['inquiry_pay_status']; + return success($return_result); + } + if ($order_service_package['payment_amount_total'] > 0) { // 发起支付 $WechatPay = new WechatPay(1, 4);