From 76cb000851f9dbe7567b6d891f3ab80c67683e4e Mon Sep 17 00:00:00 2001 From: nizongfeng Date: Fri, 19 Nov 2021 16:20:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/service/OrderHotelDao.php | 22 ++++++++++++++++++++++ application/admin/service/OrderItemDao.php | 22 ++++++++++++++++++++++ application/admin/service/PaymentOrderService.php | 8 ++++++++ application/admin/service/ReceiptOrderService.php | 5 +++++ 4 files changed, 57 insertions(+) diff --git a/application/admin/service/OrderHotelDao.php b/application/admin/service/OrderHotelDao.php index f4a47ef..1c40d85 100644 --- a/application/admin/service/OrderHotelDao.php +++ b/application/admin/service/OrderHotelDao.php @@ -297,4 +297,26 @@ class OrderHotelDao return Util::returnArrEr("将酒店订单从付款单下移除失败".$e->getMessage()); } } + + /** + * 获取主订单ID + * @param $payment_order_id + * @return array + */ + public function getOrderMainIdByPayment($payment_order_id){ + $subOrderModel = new OrderHotel(); + try { + $subOrderList = $subOrderModel->where(["payment_order_id" => $payment_order_id, "del_flag" => 0])->select()->toArray(); + if (null == $subOrderList) { + return []; + } + $id = []; + foreach ($subOrderList as $val){ + $id[] = $val['order_id']; + } + return array_unique($id); + }catch (Exception $e) { + return []; + } + } } \ No newline at end of file diff --git a/application/admin/service/OrderItemDao.php b/application/admin/service/OrderItemDao.php index 3cf73d4..5017255 100644 --- a/application/admin/service/OrderItemDao.php +++ b/application/admin/service/OrderItemDao.php @@ -247,4 +247,26 @@ class OrderItemDao return Util::returnArrEr("将附加项目订单从付款单下移除失败".$e->getMessage()); } } + + /** + * 获取主订单ID + * @param $payment_order_id + * @return array + */ + public function getOrderMainIdByPayment($payment_order_id){ + $subOrderModel = new OrderItem(); + try { + $subOrderList = $subOrderModel->where(["payment_order_id" => $payment_order_id, "del_flag" => 0])->select()->toArray(); + if (null == $subOrderList) { + return []; + } + $id = []; + foreach ($subOrderList as $val){ + $id[] = $val['order_id']; + } + return array_unique($id); + }catch (Exception $e) { + return []; + } + } } \ No newline at end of file diff --git a/application/admin/service/PaymentOrderService.php b/application/admin/service/PaymentOrderService.php index fe2a87f..d03e226 100644 --- a/application/admin/service/PaymentOrderService.php +++ b/application/admin/service/PaymentOrderService.php @@ -68,6 +68,14 @@ class PaymentOrderService Db::rollback(); return $itemRe; } + //3.获取所有子订单对应的主订单ID + $hotelIds = $hotelDao->getOrderMainIdByPayment($id); + $itemIds = $itemDao->getOrderMainIdByPayment($id); + $orderMainIds = array_unique(array_merge($hotelIds,$itemIds)); + $orderMainDao = new OrderMainDao(); + foreach ($orderMainIds as $orderId) { + $orderMainDao->setOrderAmount($orderId); + } Db::commit(); return Util::returnArrSu(); } diff --git a/application/admin/service/ReceiptOrderService.php b/application/admin/service/ReceiptOrderService.php index 6e0528d..5bbe79c 100644 --- a/application/admin/service/ReceiptOrderService.php +++ b/application/admin/service/ReceiptOrderService.php @@ -64,6 +64,11 @@ class ReceiptOrderService Db::rollback(); return $orderRe; } + //3.设置订单状态 + $setRe = $orderDao->setOrderAmount($id); + if (!$setRe['flag']) { + return $setRe; + } Db::commit(); return Util::returnArrSu();