From d646b136ab3e7053626a6ff9e8dd3f415d39a19b Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 29 Apr 2024 14:04:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E9=97=AE=E8=AF=8A=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=EF=BC=882196=EF=BC=89=20=09=09=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86order=5Fno=E7=9A=84=E8=BF=94=E5=9B=9E=E5=80=BC?= =?UTF-8?q?=E3=80=82=E6=96=B0=E5=A2=9E=E4=BA=86status=3D3=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/TestController.php | 9 +------ app/Services/InquiryService.php | 30 ++++++++++++++++++++- app/Services/OrderServicePackageService.php | 24 +++++++++++++++++ 3 files changed, 54 insertions(+), 9 deletions(-) diff --git a/app/Controller/TestController.php b/app/Controller/TestController.php index cee9246..c209ab5 100644 --- a/app/Controller/TestController.php +++ b/app/Controller/TestController.php @@ -55,6 +55,7 @@ use Extend\Kuaidi100\Kuaidi; use Extend\Prescription\Prescription; use Extend\RegulatoryPlatform\regulatoryPlatform; use Extend\TencentIm\RecentContact; +use Extend\VerifyDun\IdCard; use Extend\Wechat\Wechat; use GuzzleHttp\Client; use Hyperf\Amqp\Producer; @@ -460,15 +461,7 @@ class TestController extends AbstractController } public function test_17(){ - $params = array(); - $params['order_inquiry_id'] = "643019792966791168"; - $order_inquiry = OrderInquiry::getOne($params); - // 发送im消息 - $imService = new ImService(); - - // 等待医生接诊 - $imService->waitDoctorInquiry($order_inquiry, "516900370248146944", "516898713896521728"); } // 退款 diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 1856de3..4f8035c 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -81,6 +81,7 @@ class InquiryService extends BaseService $result['data'] = [ "inquiry_no" => "", "order_inquiry_id" => "", + "order_no" => "", ]; $user_info = $this->request->getAttribute("userInfo") ?? []; @@ -110,9 +111,17 @@ class InquiryService extends BaseService $PatientOrderService = new PatientOrderService(); $order_inquiry_id = $PatientOrderService->getNotFinishedOrderInquiry($request_params['inquiry_type'], $request_params['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::HTTP_ERROR, "无法问诊"); + } + $result['status'] = 2; $result['message'] = "当前患者存在进行中的问诊订单"; $result['data']['order_inquiry_id'] = $order_inquiry_id; + $result['data']['order_no'] = $order_inquiry['inquiry_no']; return success($result); } @@ -165,7 +174,18 @@ class InquiryService extends BaseService if (!empty($order_inquiry)) { $result['status'] = 2; $result['message'] = "您和当前医生存在问诊中订单,无法再次发起问诊"; - $result['data']['order_inquiry_id'] = $order_inquiry_id; + $result['data']['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + $result['data']['order_no'] = $order_inquiry['inquiry_no']; + return success($result); + } + + // 获取患者家庭成员是否存在服务包订单 + $OrderServicePackageService = new OrderServicePackageService(); + $order_service_package = $OrderServicePackageService->getExitsPatientFamilyServicePackage($user_info['user_id'], $request_params['family_id'], $request_params['doctor_id']); + if (!empty($order_service_package)){ + $result['status'] = 3; + $result['message'] = "您和当前医生存在未支付的服务包订单,无法再次发起问诊"; + $result['data']['order_no'] = $order_service_package['order_service_no']; return success($result); } } @@ -534,6 +554,7 @@ class InquiryService extends BaseService $result['status'] = 1; $result['data']['order_inquiry_id'] = (string)$order_inquiry['order_inquiry_id']; // 订单主键id $result['data']['inquiry_no'] = (string)$order_inquiry['inquiry_no']; // 订单编号 + $result['data']['order_no'] = (string)$order_inquiry['inquiry_no']; // 订单编号 return success($result); } @@ -1313,6 +1334,13 @@ class InquiryService extends BaseService return fail(HttpEnumCode::HTTP_ERROR, "当前患者和您存在问诊订单,不可赠送"); } + // 获取患者家庭成员是否存在服务包订单 + $OrderServicePackageService = new OrderServicePackageService(); + $order_service_package = $OrderServicePackageService->getExitsPatientFamilyServicePackage($order_inquiry['user_id'], $order_inquiry['family_id'], $order_inquiry['doctor_id']); + if (!empty($order_service_package)){ + return fail(HttpEnumCode::HTTP_ERROR, "当前用户存在未支付订单,不支持赠送"); + } + // 获取本次问诊病例 $params = array(); $params['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; diff --git a/app/Services/OrderServicePackageService.php b/app/Services/OrderServicePackageService.php index 744cb7e..5a8cccc 100644 --- a/app/Services/OrderServicePackageService.php +++ b/app/Services/OrderServicePackageService.php @@ -1602,4 +1602,28 @@ class OrderServicePackageService extends BaseService return $order_service_package->toArray(); } + + /** + * 获取患者家庭成员是否存在服务包订单 + * @param string|int $patient_user_id + * @param string|int $family_id + * @param string|int $doctor_id + * @return array + */ + public function getExitsPatientFamilyServicePackage(string|int $patient_user_id,string|int $family_id,string|int $doctor_id): array + { + // 检测患者是否购买服务包 + $params = array(); + $params['user_id'] = $patient_user_id; + $params['doctor_id'] = $doctor_id; + $params['family_id'] = $family_id; + + $order_service_status = ['1','2','3']; + $order_service_package = OrderServicePackage::getStatusOne($params, $order_service_status); + if (empty($order_service_package)) { + return []; + } + + return $order_service_package->toArray(); + } } \ No newline at end of file