shish 5 年 前
コミット
cc945e0ddf
2 ファイル変更35 行追加42 行削除
  1. 16 27
      app-pt/controllers/CashController.php
  2. 19 15
      biz/sj/classes/CashClass.php

+ 16 - 27
app-pt/controllers/CashController.php

@@ -50,7 +50,6 @@ class CashController extends BaseController
             if (empty($shop)) {
                 util::fail('没有找到门店');
             }
-            $ptStyle = $shop->ptStyle ?? dict::getDict('ptStyle', 'hd');
             if ($cashAmount <= 0) {
                 CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark);
                 util::fail('提现金额有问题');
@@ -67,17 +66,7 @@ class CashController extends BaseController
                 util::fail("余额不足{$miniCashAmount}元");
             }
 
-            $getAmount = $cashAmount;
-            //零售店提现需要扣除千分之六的手续费
-            if ($ptStyle == dict::getDict('ptStyle', 'hd')) {
-                $tip = bcmul($cashAmount, 0.006, 2);
-                $getAmount = bcsub($cashAmount, $tip, 2);
-            }
-
-            if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
-                $tip = bcmul($cashAmount, 0.0038, 2);
-                $getAmount = bcsub($cashAmount, $tip, 2);
-            }
+            $getAmount = $cash->beAmount;
 
             if ($status != CashClass::STATUS_CHECK_YES) {
                 CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark);
@@ -156,21 +145,21 @@ class CashController extends BaseController
 //            if (!empty($resultCode) && $resultCode == 10000) {
 
 //                $cash->thirdOrderSn = $returnOrderId;
-                $cash->status = CashClass::STATUS_CHECK_YES;
-                $cash->remark = $remark;
-                $cash->getAmount = $getAmount;
-                $cash->cashName = $cashName;
-                $cash->cashAccount = $cashAccount;
-                $cash->save();
-                //扣掉冻结的金额
-                $shop->freezeBalance = bcsub($shop->freezeBalance, $cashAmount, 2);
-                $shop->save();
-                $transaction->commit();
-                //微信通知申请提现人
-                WxMessageClass::cashInform($shop, $cash);
-                //通知管理员
-                noticeUtil::push("客户提现审核通过,转帐{$getAmount}元", '15280215347');
-                util::complete();
+            $cash->status = CashClass::STATUS_CHECK_YES;
+            $cash->remark = $remark;
+            $cash->getAmount = $getAmount;
+            $cash->cashName = $cashName;
+            $cash->cashAccount = $cashAccount;
+            $cash->save();
+            //扣掉冻结的金额
+            $shop->freezeBalance = bcsub($shop->freezeBalance, $cashAmount, 2);
+            $shop->save();
+            $transaction->commit();
+            //微信通知申请提现人
+            WxMessageClass::cashInform($shop, $cash);
+            //通知管理员
+            noticeUtil::push("客户提现审核通过,转帐{$getAmount}元", '15280215347');
+            util::complete();
 
 //            } else {
 //                $msg = $result->$responseNode->msg ?? '';

+ 19 - 15
biz/sj/classes/CashClass.php

@@ -18,25 +18,22 @@ class CashClass extends BaseClass
     const STATUS_CHECK_YES = 2;
     const STATUS_CHECK_NO = 3;
 
+    //获取提现费率 shish 20210623
+    public static function getRate($currentPtStyle)
+    {
+        if ($currentPtStyle == dict::getDict('ptStyle', 'hd')) {
+            return 0.006;
+
+        } elseif ($currentPtStyle == dict::getDict('ptStyle', 'ghs')) {
+            return 0.0038;
+        }
+        return 0.006;
+    }
+
     //提现记录 ssh 2021.2.21
     public static function getCashList($where)
     {
         $data = self::getList('*', $where, 'addTime DESC');
-        if (isset($data['list']) && !empty($data['list'])) {
-            foreach ($data['list'] as $key => $val) {
-                $currentPtStyle = $val['ptStyle'] ?? dict::getDict('ptStyle', 'hd');
-                $beAmount = 0;
-                $amount = $val['amount'] ?? 0.00;
-                if ($currentPtStyle == dict::getDict('ptStyle', 'hd')) {
-                    $tip = bcmul($amount, 0.006, 2);
-                    $beAmount = bcsub($amount, $tip, 2);
-                } elseif ($currentPtStyle == dict::getDict('ptStyle', 'ghs')) {
-                    $tip = bcmul($amount, 0.0038, 2);
-                    $beAmount = bcsub($amount, $tip, 2);
-                }
-                $data['list'][$key]['beAmount'] = $beAmount;
-            }
-        }
         return $data;
     }
 
@@ -78,6 +75,12 @@ class CashClass extends BaseClass
         $shop->balance = bcsub($shop->balance, $txBalance, 2);
         $shop->save();
 
+        //应转金额
+        $ptStyle = $shop->ptStyle;
+        $rate = CashClass::getRate($ptStyle);
+        $tip = bcmul($txBalance, $rate, 2);
+        $beAmount = bcsub($txBalance, $tip, 2);
+
         $cashName = $shop->cashName ?? '';
         $cashAccount = $shop->cashAccount ?? '';
         if (empty($cashName) || empty($cashAccount)) {
@@ -91,6 +94,7 @@ class CashClass extends BaseClass
         $params['sjName'] = $sjName;
         $params['shopName'] = $shopName;
         $params['amount'] = $txBalance;
+        $params['beAmount'] = $beAmount;
         $return = self::add($params, true);
         noticeUtil::push("客户:{$sjName} {$shopName}申请提现,金额:{$txBalance}元", '15280215347');
         return $return;