diff --git a/app/Model/Order.php b/app/Model/Order.php index 54e29e0..b3ba953 100644 --- a/app/Model/Order.php +++ b/app/Model/Order.php @@ -289,7 +289,6 @@ class Order extends Model ->whereRaw('gdxz_order.order_id = gdxz_order_service_package.order_id') ->whereIn('refund_status', [0,3]) ->where('pay_status', 2) - ->where('start_time', 2) ->whereIn('order_service_status', [4,5]) ->WhereExists(function ($subQuery){ $subQuery->from("order_service_package_inquiry") @@ -341,7 +340,6 @@ class Order extends Model ->whereRaw('gdxz_order.order_id = gdxz_order_service_package.order_id') ->whereIn('refund_status', [0,3]) ->where('pay_status', 2) - ->where('start_time', 2) ->whereIn('order_service_status', [4,5]) ->WhereExists(function ($subQuery){ $subQuery->from("order_service_package_inquiry") diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index dd8522d..b7d1060 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -1093,7 +1093,7 @@ class OrderService extends BaseService // 可提现金额 $expected_amount_total = 0; - // 计算可提现金额 + // 问诊订单 if ($order['order_type'] == 1){ $expected_amount_total = bcmul( bcsub( @@ -1106,25 +1106,22 @@ class OrderService extends BaseService ); } + // 服务包订单 if ($order['order_type'] == 4 || $order['order_type'] == 5){ - // 获取订单详情数据 + // 获取订单数据 $params = array(); $params['order_service_no'] = $order['order_no']; - $order_service_package_detail = OrderServicePackageDetail::getOne($params); - if (!empty($order_service_package_detail)){ - $expected_amount_total = bcmul( // 可提现费用 - bcsub( // 退款费用 - bcmul( // 问诊费用 - (string)$order_service_package_detail['service_count'], - (string)$order_service_package_detail['single_inquiry_price'], - 3 - ), - (string)$refund_total, - 3 - ), - "0.75", - 2 - ); + $order_service_package = OrderServicePackage::getOne($params); + if (!empty($order_service_package)){ + // 获取订单详情数据 + $params = array(); + $params['order_service_no'] = $order['order_no']; + $order_service_package_detail = OrderServicePackageDetail::getOne($params); + if (!empty($order_service_package_detail)){ + // 获取服务包订单中医生可分成的问诊金额 + $OrderServicePackageService = new OrderServicePackageService(); + $expected_amount_total = $OrderServicePackageService->getServicePackageDoctorInquiryAmountTotal($order_service_package['order_service_no'],$order_service_package,$order_service_package_detail); + } } } diff --git a/app/Services/OrderServicePackageService.php b/app/Services/OrderServicePackageService.php index 554efb9..2aa37bf 100644 --- a/app/Services/OrderServicePackageService.php +++ b/app/Services/OrderServicePackageService.php @@ -1658,33 +1658,6 @@ class OrderServicePackageService extends BaseService return $order_service_package->toArray(); } - - /** - * 获取服务包退款金额 - * @param string|int $order_service_no - * @return string|int - */ - public function getServicePackageRefundTotal(string|int $order_service_no): string|int - { - // 获取退款数据 - $refund_total = 0; - - $params = array(); - $params['order_service_no'] = $order_service_no; - $order_service_package_refunds = OrderServicePackageRefund::getList($params); - if (!empty($order_service_package_refunds)) { - foreach ($order_service_package_refunds as $order_service_package_refund) { - $refund_total = bcadd( - (string)$refund_total, - (string)$order_service_package_refund['refund_total'], - 2 - ); - } - } - - return $refund_total; - } - /** * 获取服务包订单中医生可分成的问诊金额 * @param string|int $order_service_no @@ -1695,7 +1668,8 @@ class OrderServicePackageService extends BaseService public function getServicePackageDoctorInquiryAmountTotal(string|int $order_service_no,array|object $order_service_package,array|object $order_service_package_detail): string { // 获取服务包退款金额 - $refund_total = $this->getServicePackageRefundTotal($order_service_no); + $OrderService = new OrderService(); + $refund_total = $OrderService->getOrderRefundAmount($order_service_no); if ($order_service_package['order_service_type'] == 1){ // 健康包 @@ -1743,6 +1717,4 @@ class OrderServicePackageService extends BaseService return $amount_total; } - - } \ No newline at end of file