diff --git a/app/Controller/OrderServicePackageController.php b/app/Controller/OrderServicePackageController.php index b668706..0802839 100644 --- a/app/Controller/OrderServicePackageController.php +++ b/app/Controller/OrderServicePackageController.php @@ -45,4 +45,21 @@ class OrderServicePackageController extends AbstractController $data = $OrderServicePackageService->addPatientServiceOrder(); return $this->response->json($data); } + + /** + * 创建服务包问诊订单 + * @return ResponseInterface + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function addServiceInquiryOrder(): ResponseInterface + { + $request = $this->container->get(OrderServicePackageRequest::class); + $request->scene('addServiceInquiryOrder')->validateResolved(); + + $OrderServicePackageService = new OrderServicePackageService(); + $data = $OrderServicePackageService->addPatientServiceOrder(); + return $this->response->json($data); + } + } \ No newline at end of file diff --git a/app/Request/OrderServicePackageRequest.php b/app/Request/OrderServicePackageRequest.php index f2b6861..2b99086 100644 --- a/app/Request/OrderServicePackageRequest.php +++ b/app/Request/OrderServicePackageRequest.php @@ -32,6 +32,9 @@ class OrderServicePackageRequest extends FormRequest 'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员) 'client_type', // 客户端类型(1:手机 2:电脑) ], + 'addServiceInquiryOrder' => [ // 创建服务包问诊订单 + 'order_no', + ], ]; /** @@ -61,6 +64,7 @@ class OrderServicePackageRequest extends FormRequest 'client_type' => 'required|integer|min:1|max:2', 'service_type' => ['required','integer',Rule::in([1,2])], 'doctor_id' => 'required', + 'order_no' => 'required', ]; } @@ -100,6 +104,7 @@ class OrderServicePackageRequest extends FormRequest 'service_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), 'service_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), 'service_type.in' => "服务包类型错误", + 'order_no.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), ]; } } diff --git a/app/Services/OrderServicePackageService.php b/app/Services/OrderServicePackageService.php index 5cb9e2c..4c3e23c 100644 --- a/app/Services/OrderServicePackageService.php +++ b/app/Services/OrderServicePackageService.php @@ -98,7 +98,7 @@ class OrderServicePackageService extends BaseService if (!empty($order_inquiry)) { $result['status'] = 4; $result['message'] = "您和当前医生存在问诊中订单,无法够买服务包"; - $result['data'] = $order_inquiry['inquiry_no']; + $result['data']['order_no'] = $order_inquiry['inquiry_no']; return success($result); } @@ -121,14 +121,14 @@ class OrderServicePackageService extends BaseService if ($order_service_package['order_service_status'] == 1){ $result['status'] = 2; $result['message'] = "存在未支付订单"; - $result['data'] = $order_service_package['order_service_no']; + $result['data']['order_no'] = $order_service_package['order_service_no']; return success($result); } if ($order_service_package['order_service_status'] == 2){ $result['status'] = 2; $result['message'] = "您已购买该服务包,请耐心等待医生接诊"; - $result['data'] = $order_service_package['order_service_no']; + $result['data']['order_no'] = $order_service_package['order_service_no']; return success($result); } @@ -188,7 +188,7 @@ class OrderServicePackageService extends BaseService // 超出当月问诊次数 $result['status'] = 3; $result['message'] = "超出服务包所包含的当月问诊次数"; - $result['data'] = $order_service_package['order_service_no']; + $result['data']['order_no'] = $order_service_package['order_service_no']; return success($result); } } @@ -196,7 +196,7 @@ class OrderServicePackageService extends BaseService // 未超出当月问诊次数或次数无限制 $result['status'] = 5; $result['message'] = "已购买,未超出当月问诊次数"; - $result['data'] = $order_service_package['order_service_no']; + $result['data']['order_no'] = $order_service_package['order_service_no']; return success($result); } diff --git a/config/routes.php b/config/routes.php index 110ad65..a84ed7f 100644 --- a/config/routes.php +++ b/config/routes.php @@ -587,6 +587,9 @@ Router::addGroup('/patient', function () { // 创建服务包订单 Router::post('', [OrderServicePackageController::class, 'addPatientServiceOrder']); + + // 创建服务包问诊订单 + Router::post('/inquiry/{order_no}', [OrderServicePackageController::class, 'addServiceInquiryOrder']); }); });