diff --git a/app/Services/PatientOrderService.php b/app/Services/PatientOrderService.php index f9e0dd4..bb36102 100644 --- a/app/Services/PatientOrderService.php +++ b/app/Services/PatientOrderService.php @@ -490,7 +490,8 @@ class PatientOrderService extends BaseService $params['is_delete'] = 0; $order_inquiry = OrderInquiry::getOne($params); if (empty($order_inquiry)) { - return fail(); + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "非法订单"); } $OrderService = new OrderService(); @@ -665,7 +666,7 @@ class PatientOrderService extends BaseService $order_product = OrderProduct::getOne($params); if (empty($order_product)) { Db::rollBack(); - return fail(); + return fail(HttpEnumCode::HTTP_ERROR, "非法订单"); } $OrderService = new OrderService(); @@ -1048,7 +1049,7 @@ class PatientOrderService extends BaseService } // 验证订单支付状态 - if ($order_detection['pay_status'] != 1) { + if ($order_service_package['pay_status'] != 1) { $return_result['message'] = "订单支付状态错误"; $return_result['data'] = $result; $return_result['data']['order_no'] = $order_no; @@ -2292,7 +2293,8 @@ class PatientOrderService extends BaseService $params['is_delete'] = 0; $order_detection = OrderDetection::getOne($params); if (empty($order_detection)) { - return fail(); + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "非法订单"); } // 检测订单取消 @@ -2313,6 +2315,85 @@ class PatientOrderService extends BaseService return success(); } + /** + * 服务包订单取消支付-1未支付 + * @return array + */ + public function putPatientServiceOrderCancelPay(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + + $order_no = $this->request->route('order_no'); + + Db::beginTransaction(); + + try { + // 获取订单数据 + $params = array(); + $params['patient_id'] = $user_info['client_user_id']; + $params['order_service_no'] = $order_no; + $params['is_delete'] = 0; + $order_service_package = OrderServicePackage::getOne($params); + if (empty($order_service_package)) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "非法订单"); + } + + $OrderService = new OrderService(); + $result = $OrderService->cancelUnpayOrder($order_service_package['order_service_no'],2,"主动取消"); + if ($result['status'] != 1) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, $result['message']); + } + + Db::commit(); + } catch (\Exception $e) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage()); + } + + return success(); + } + + /** + * 订单取消支付-1未支付 + * @return array + */ + public function putPatientOrderCancelPay(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + + $order_no = $this->request->route('order_no'); + + Db::beginTransaction(); + + try { + // 获取订单数据 + $params = array(); + $params['patient_id'] = $user_info['client_user_id']; + $params['order_no'] = $order_no; + $order = Order::getOne($params); + if (empty($order)){ + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "非法订单"); + } + + $OrderService = new OrderService(); + $result = $OrderService->cancelUnpayOrder($order['order_no'],2,"主动取消"); + if ($result['status'] != 1) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, $result['message']); + } + + Db::commit(); + } catch (\Exception $e) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage()); + } + + return success(); + } + /** * 获取患者未完成订单 * @param string $patient_id