From 60f335f44c5bf8701f3030233f2380301d3630ea Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Thu, 21 Mar 2024 11:53:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8E=E5=8F=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/Enum.php | 26 +++++++++++++++++ .../store/order/StoreOrderRepository.php | 28 ++++++++++++++++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/app/common/Enum.php b/app/common/Enum.php index 9d75dc51..7d166151 100644 --- a/app/common/Enum.php +++ b/app/common/Enum.php @@ -19,6 +19,32 @@ class Enum const WHOLESALE_ONLY = 1; //仅批发 const RETAIL_WHOLESALE = 2; //零售和批发 + /** 支付方式 **/ + const PAY_TYPE_BALANCE = 0; + const PAY_TYPE_WX_APP = 1; + const PAY_TYPE_WX_ROUTINE = 2; + const PAY_TYPE_WX_H5 = 3; + const PAY_TYPE_ALI_APP = 4; + const PAY_TYPE_ALI_QR = 5; + const PAY_TYPE_WX_QR = 6; + const PAY_TYPE_SCRCU = 7; + const PAY_TYPE_CREDIT = 8; + const PAY_TYPE_MER_BALANCE = 9; + const PAY_TYPE_TRANSFER = 10; + const PAY_TYPE_NAME = [ + self::PAY_TYPE_BALANCE => '余额支付', + self::PAY_TYPE_WX_APP => '微信APP支付', + self::PAY_TYPE_WX_ROUTINE => '微信小程序支付', + self::PAY_TYPE_WX_H5 => '微信H5支付', + self::PAY_TYPE_ALI_APP => '支付宝APP支付', + self::PAY_TYPE_ALI_QR => '支付宝扫码支付', + self::PAY_TYPE_WX_QR => '微信扫码支付', + self::PAY_TYPE_SCRCU => '银联支付', + self::PAY_TYPE_CREDIT => '信用购', + self::PAY_TYPE_MER_BALANCE => '商户余额支付', + self::PAY_TYPE_TRANSFER => '对公转账支付', + ]; + /** 购物车下单支付**/ const public = 10;//对公账户 const public_string = 'public';//对公账户 diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index 8993feeb..d4a8c7f6 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -1754,6 +1754,20 @@ class StoreOrderRepository extends BaseRepository $banclPay2 = $presellOrderRepository->search(['pay_type' => [0], 'paid' => 1, 'order_ids' => $banclOrderId])->sum('pay_price'); $banclPay = bcadd($banclPay1, $banclPay2, 2); + //商户余额支付金额 + $merBalanceQuery = $this->dao->search($where)->where($this->getOrderType($status))->where('paid', 1)->where('pay_type', Enum::PAY_TYPE_MER_BALANCE); + $merBalanceOrderId = $merBalanceQuery->column('order_id'); + $merBalance1 = $merBalanceQuery->sum('StoreOrder.pay_price'); + $merBalance2 = $presellOrderRepository->search(['pay_type' => [Enum::PAY_TYPE_MER_BALANCE], 'paid' => 1, 'order_ids' => $merBalanceOrderId])->sum('pay_price'); + $merBalancePay = bcadd($merBalance1, $merBalance2, 2); + + //对公转账支付金额 + $transferQuery = $this->dao->search($where)->where($this->getOrderType($status))->where('paid', 1)->where('pay_type', Enum::PAY_TYPE_TRANSFER); + $transferOrderId = $transferQuery->column('order_id'); + $transferPay1 = $transferQuery->sum('StoreOrder.pay_price'); + $transferPay2 = $presellOrderRepository->search(['pay_type' => [Enum::PAY_TYPE_TRANSFER], 'paid' => 1, 'order_ids' => $transferOrderId])->sum('pay_price'); + $transferPay = bcadd($transferPay1, $transferPay2, 2); + //微信金额 $wechatQuery = $this->dao->search($where)->where($this->getOrderType($status))->where('paid', 1)->where('pay_type', 'in', [1, 2, 3, 6]); $wechatOrderId = $wechatQuery->column('order_id'); @@ -1779,7 +1793,7 @@ class StoreOrderRepository extends BaseRepository 'className' => 'el-icon-s-order', 'count' => (float)$countPay, 'field' => '元', - 'name' => '实际支付金额' + 'name' => '多渠道支付总金额' ], [ 'className' => 'el-icon-s-cooperation', @@ -1799,6 +1813,18 @@ class StoreOrderRepository extends BaseRepository 'field' => '元', 'name' => '余额支付金额' ], + [ + 'className' => 'el-icon-s-finance', + 'count' => (float)$merBalancePay, + 'field' => '元', + 'name' => '商户余额支付金额' + ], + [ + 'className' => 'el-icon-s-finance', + 'count' => (float)$transferPay, + 'field' => '元', + 'name' => '对公转账支付金额' + ], [ 'className' => 'el-icon-s-cooperation', 'count' => (float)$aliPay,