From 2821b2833d5950f4d97726bda370abdaae36ad87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Fri, 30 Sep 2022 17:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=A8=8B=E5=BA=8F=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E3=80=91=E6=9B=B4=E6=96=B0=E5=95=86=E5=AE=B6=E8=BD=AC=E8=B4=A6?= =?UTF-8?q?=E5=88=B0=E9=9B=B6=E9=92=B1=EF=BC=8C=E4=BF=AE=E5=A4=8D=E8=B5=84?= =?UTF-8?q?=E9=87=91=E6=B5=81=E6=B0=B4=E9=80=80=E6=AC=BE=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/order/StoreOrderRefundServices.php | 3 ++- .../services/statistic/CapitalFlowServices.php | 2 +- crmeb/app/services/user/UserExtractServices.php | 15 +++++++++++++-- .../crmeb/services/easywechat/v3pay/PayClient.php | 2 +- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/crmeb/app/services/order/StoreOrderRefundServices.php b/crmeb/app/services/order/StoreOrderRefundServices.php index d17b0ec70..4c583e2ef 100644 --- a/crmeb/app/services/order/StoreOrderRefundServices.php +++ b/crmeb/app/services/order/StoreOrderRefundServices.php @@ -242,8 +242,9 @@ class StoreOrderRefundServices extends BaseServices 'refund_reason_wap_explain' => $orderRefundInfo['refund_explain'], 'refund_reason_time' => $orderRefundInfo['refunded_time'], 'refund_reason_wap' => $orderRefundInfo['refund_reason'], - 'refund_price' => $orderRefundInfo['refund_price'], + 'refund_price' => $refundData['refund_price'], ], 'id'); + $splitOrderInfo = $this->storeOrderServices->get($splitOrderInfo['id']); $this->dao->update($id, ['store_order_id' => $splitOrderInfo['id']]); if ($otherOrder['id'] != 0 && $orderInfo['id'] != $otherOrder['id']) {//拆分生成新订单了 //修改原订单还在申请的退款单 diff --git a/crmeb/app/services/statistic/CapitalFlowServices.php b/crmeb/app/services/statistic/CapitalFlowServices.php index 17bb7fc7c..ad7ec4137 100644 --- a/crmeb/app/services/statistic/CapitalFlowServices.php +++ b/crmeb/app/services/statistic/CapitalFlowServices.php @@ -45,7 +45,7 @@ class CapitalFlowServices extends BaseServices case 'refund': $data['order_id'] = $orderInfo['order_id']; $data['uid'] = $orderInfo['uid']; - $data['price'] = bcmul('-1', $orderInfo['refund_price'] ?? $orderInfo['pay_price'], 2); + $data['price'] = bcmul('-1', $orderInfo['refund_price'], 2); $data['trading_type'] = 2; $data['pay_type'] = $orderInfo['pay_type']; break; diff --git a/crmeb/app/services/user/UserExtractServices.php b/crmeb/app/services/user/UserExtractServices.php index f8aaeb0b4..92236f8a3 100644 --- a/crmeb/app/services/user/UserExtractServices.php +++ b/crmeb/app/services/user/UserExtractServices.php @@ -22,6 +22,7 @@ use crmeb\exceptions\AdminException; use crmeb\exceptions\ApiException; use crmeb\services\FormBuilder as Form; use crmeb\services\app\WechatService; +use crmeb\services\pay\Pay; use crmeb\services\workerman\ChannelService; use think\facade\Route as Url; @@ -191,8 +192,18 @@ class UserExtractServices extends BaseServices $services = app()->make(StoreOrderCreateServices::class); $insertData['order_id'] = $services->getNewOrderId(); - // 微信提现 - $res = WechatService::merchantPay($openid, $insertData['order_id'], $userExtract['extract_price'], '提现佣金到零钱'); + //v3商家转账到零钱 + if (sys_config('pay_wechat_type')) { + $pay = new Pay('v3_wechat_pay'); + $res = $pay->merchantPay($openid, $insertData['order_id'], $userExtract['extract_price'], [ + 'batch_name' => '提现佣金到零钱', + 'batch_remark' => '您于' . date('Y-m-d H:i:s') . '提现.' . $userExtract['extract_price'] . '元' + ]); + } else { + // 微信提现 + $res = WechatService::merchantPay($openid, $insertData['order_id'], $userExtract['extract_price'], '提现佣金到零钱'); + } + if (!$res) { throw new ApiException(400658); } diff --git a/crmeb/crmeb/services/easywechat/v3pay/PayClient.php b/crmeb/crmeb/services/easywechat/v3pay/PayClient.php index 8100ec157..9f3bbb721 100644 --- a/crmeb/crmeb/services/easywechat/v3pay/PayClient.php +++ b/crmeb/crmeb/services/easywechat/v3pay/PayClient.php @@ -190,7 +190,7 @@ class PayClient extends BaseClient public function batches(string $outBatchNo, string $amount, string $batchName, string $remark, array $transferDetailList) { $totalFee = '0'; - + $amount = bcadd($amount, '0', 2); foreach ($transferDetailList as &$item) { if ($item['transfer_amount'] >= 2000 && !empty($item['user_name'])) { throw new PayException('明细金额大于等于2000时,收款人姓名必须填写');