From 3c6d820ee2c05eba6b46259f405d14541cb67ec2 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 26 Apr 2024 17:07:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8F=96=E6=B6=88=E9=97=AE?= =?UTF-8?q?=E8=AF=8A=E8=AE=A2=E5=8D=95=E9=80=80=E6=AC=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssignDoctorDelayDirectConsumer.php | 29 ++++++++++++++----- ...ncelUnInquiryOrdersDelayDirectConsumer.php | 29 ++++++++++++++++--- .../getPrescriptionOrderStatusCommand.php | 14 ++++++++- app/Services/OrderService.php | 11 ------- 4 files changed, 59 insertions(+), 24 deletions(-) diff --git a/app/Amqp/Consumer/AssignDoctorDelayDirectConsumer.php b/app/Amqp/Consumer/AssignDoctorDelayDirectConsumer.php index 0ede303..8bf5619 100644 --- a/app/Amqp/Consumer/AssignDoctorDelayDirectConsumer.php +++ b/app/Amqp/Consumer/AssignDoctorDelayDirectConsumer.php @@ -9,6 +9,7 @@ use App\Amqp\Producer\CancelUnInquiryOrdersDelayDirectProducer; use App\Amqp\Producer\DoctorNotYetInquiryDelayDirectProducer; use App\Amqp\Producer\UserCouponExpiredDelayDirectProducer; use App\Constants\HttpEnumCode; +use App\Model\Order; use App\Model\OrderInquiry; use App\Model\OrderInquiryCase; use App\Model\UserDoctor; @@ -105,12 +106,19 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage return Result::ACK; } - Log::getInstance("queue-AssignDoctor")->info("信息:订单退款"); - $OrderService = new OrderService(); $OrderService->orderRefund($order_inquiry['inquiry_no'], "无可分配医生"); - Log::getInstance("queue-AssignDoctor")->info("取消问诊订单"); + // 取消订单 + $order_data = array(); + $order_data['cancel_status'] = 1; + $order_data['cancel_time'] = date("Y-m-d H:i:s", time()); + $order_data['cancel_remarks'] = "未分配到合适的医生"; + $order_data['updated_at'] = date("Y-m-d H:i:s", time()); + + $params = array(); + $params['order_id'] = $order_inquiry['order_id']; + Order::edit($params, $order_data); $save_data = array(); $save_data['inquiry_status'] = 7; @@ -123,8 +131,6 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage $params['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; OrderInquiry::edit($params, $save_data); - Log::getInstance("queue-AssignDoctor")->info("已退款"); - Db::commit(); try { @@ -152,12 +158,19 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage return Result::ACK; } - Log::getInstance("queue-AssignDoctor")->info("订单退款"); - $OrderService = new OrderService(); $OrderService->orderRefund($order_inquiry['inquiry_no'], "未分配到合适的医生"); - Log::getInstance("queue-AssignDoctor")->info("取消问诊订单"); + // 取消订单 + $order_data = array(); + $order_data['cancel_status'] = 1; + $order_data['cancel_time'] = date("Y-m-d H:i:s", time()); + $order_data['cancel_remarks'] = "未分配到合适的医生"; + $order_data['updated_at'] = date("Y-m-d H:i:s", time()); + + $params = array(); + $params['order_id'] = $order_inquiry['order_id']; + Order::edit($params, $order_data); $save_data = array(); $save_data['inquiry_status'] = 7; diff --git a/app/Amqp/Consumer/CancelUnInquiryOrdersDelayDirectConsumer.php b/app/Amqp/Consumer/CancelUnInquiryOrdersDelayDirectConsumer.php index cd0a95d..053f7a1 100644 --- a/app/Amqp/Consumer/CancelUnInquiryOrdersDelayDirectConsumer.php +++ b/app/Amqp/Consumer/CancelUnInquiryOrdersDelayDirectConsumer.php @@ -120,8 +120,8 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage $order_data['updated_at'] = date("Y-m-d H:i:s", time()); $params = array(); - $params['order_no'] = $order_inquiry['inquiry_no']; - Order::edit($params,$order_data); + $params['order_id'] = $order_inquiry['order_id']; + Order::edit($params, $order_data); // 取消问诊订单 $order_inquiry_data = array(); @@ -161,10 +161,31 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage // 检测问诊是否服务包首次问诊 $is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no); if ($is_first){ - // 如果是服务包的首单问诊订单即执行服务包退款 + // 取消订单 + $order_data = array(); + $order_data['cancel_status'] = 1; + $order_data['cancel_time'] = date("Y-m-d H:i:s", time()); + $order_data['cancel_remarks'] = "医生未接受服务"; + $order_data['updated_at'] = date("Y-m-d H:i:s", time()); + $params = array(); + $params['order_no'] = $order_service_no; + Order::edit($params, $order_data); + + // 取消问诊订单 + $order_inquiry_data = array(); + $order_inquiry_data['order_service_status'] = 5; + $order_inquiry_data['cancel_time'] = date("Y-m-d H:i:s", time()); + $order_inquiry_data['cancel_remarks'] = "医生未接受服务"; // 取消订单备注 + $order_inquiry_data['updated_at'] = date("Y-m-d H:i:s", time()); + + $params = array(); + $params['order_service_no'] = $order_service_no; + OrderInquiry::edit($params, $order_inquiry_data); + + // 如果是服务包的首单问诊订单即执行服务包退款 $OrderService = new OrderService(); - $OrderService->orderRefund($order_service_no, "医生未接诊"); + $OrderService->orderRefund($order_service_no, "医生未接受服务"); } } } diff --git a/app/Command/getPrescriptionOrderStatusCommand.php b/app/Command/getPrescriptionOrderStatusCommand.php index ae56a5c..97e6014 100644 --- a/app/Command/getPrescriptionOrderStatusCommand.php +++ b/app/Command/getPrescriptionOrderStatusCommand.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace App\Command; +use App\Model\Order; use App\Model\OrderPrescription; use App\Model\OrderProduct; use App\Model\UserPatient; @@ -277,8 +278,19 @@ class getPrescriptionOrderStatusCommand extends HyperfCommand * @param array|object $order_product * @param string $cancel_remarks */ - protected function savePreFailedOrderStatus(array|object $order_product,string $cancel_remarks) + protected function savePreFailedOrderStatus(array|object $order_product,string $cancel_remarks): void { + // 取消订单 + $order_data = array(); + $order_data['cancel_status'] = 1; + $order_data['cancel_time'] = date("Y-m-d H:i:s", time()); + $order_data['cancel_remarks'] = $cancel_remarks; + $order_data['updated_at'] = date("Y-m-d H:i:s", time()); + + $params = array(); + $params['order_id'] = $order_product['order_id']; + Order::edit($params, $order_data); + // 订单状态(1:待支付 2:待发货 3:已发货 4:已签收 5:已取消) $params = array(); $params['order_product_id'] = $order_product['order_product_id']; diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index f7bcca0..6dbee40 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -148,17 +148,6 @@ class OrderService extends BaseService throw new BusinessException("订单支付状态错误"); } -// // 取消订单 -// $order_data = array(); -// $order_data['cancel_status'] = 1; -// $order_data['cancel_time'] = date("Y-m-d H:i:s", time()); -// $order_data['cancel_remarks'] = "医生未接诊"; -// $order_data['updated_at'] = date("Y-m-d H:i:s", time()); -// -// $params = array(); -// $params['order_id'] = $order['order_id']; -// Order::edit($params, $order_data); - // 处理对应订单 if ($order['order_type'] == 1) { // 检测问诊订单可退款状态