shish il y a 5 ans
Parent
commit
851af9f9fc
2 fichiers modifiés avec 47 ajouts et 35 suppressions
  1. 46 34
      app-pt/controllers/CashController.php
  2. 1 1
      biz/sj/classes/CashClass.php

+ 46 - 34
app-pt/controllers/CashController.php

@@ -32,45 +32,57 @@ class CashController extends BaseController
         $id = $get['id'] ?? 0;
         $remark = $get['remark'] ?? '';
         $status = $get['status'] ?? 2;
-        $cash = CashClass::getById($id, true);
-        if ($cash->status != CashClass::STATUS_UN_CHECK) {
-            util::fail('记录已审核');
-        }
-        if ($status != 1) {
-            $cash->remark = $remark;
-            $cash->status = CashClass::STATUS_CHECK_NO;
-            $cash->save();
-            util::complete();
-        }
-        $cashAmount = isset($cash->amount) ? floatval($cash->amount) : 0;
-        if ($cashAmount <= 0) {
-            util::fail('提现金额有问题');
-        }
-        if (getenv('YII_ENV', 'local') != 'production') {
-            if ($cashAmount > 1) {
-                util::fail('测试环境提现金额不能超过1元');
-            }
-        }
-        $cashSn = $cash->orderSn;
-        if (empty($cashSn)) {
-            util::fail('没有找到订单号');
-        }
-        $shopId = $cash->shopId;
-        $shop = ShopClass::getLockById($shopId);
-        if (empty($shop)) {
-            util::fail('没有找到门店');
-        }
-        $cashAccount = $shop->cashAccount ?? '';
-        $cashName = $shop->cashName ?? '';
-        if (empty($cashAccount) || empty($cashName)) {
-            util::fail('提现帐号未填写完整');
-        }
 
         //事务处理
         $connection = Yii::$app->db;
         $transaction = $connection->beginTransaction();
         try {
 
+            $cash = CashClass::getById($id, true);
+            if ($cash->status != CashClass::STATUS_UN_CHECK) {
+                util::fail('记录已审核');
+            }
+            $shopId = $cash->shopId;
+            $shop = ShopClass::getLockById($shopId);
+            if (empty($shop)) {
+                util::fail('没有找到门店');
+            }
+
+            $cashAmount = isset($cash->amount) ? floatval($cash->amount) : 0;
+            if ($cashAmount <= 0) {
+                util::fail('提现金额有问题');
+            }
+            if (getenv('YII_ENV', 'local') != 'production') {
+                if ($cashAmount > 1) {
+                    util::fail('测试环境提现金额不能超过1元');
+                }
+            }
+
+            if ($status != CashClass::STATUS_CHECK_YES) {
+                $cash->remark = $remark;
+                $cash->status = CashClass::STATUS_CHECK_NO;
+                $cash->save();
+                //冻结金额回滚
+                $shop->freezeBalance = bcsub($shop->freezeBalance, $cashAmount, 2);
+                $shop->balance = bcadd($shop->balance, $cashAmount, 2);
+                $shop->txBalance = bcadd($shop->txBalance, $cashAmount, 2);
+                $shop->save();
+                $transaction->commit();
+                util::complete();
+            }
+
+            $cashAccount = $shop->cashAccount ?? '';
+            $cashName = $shop->cashName ?? '';
+            if (empty($cashAccount) || empty($cashName)) {
+                util::fail('提现帐号未填写完整');
+            }
+
+            $cashSn = $cash->orderSn;
+            if (empty($cashSn)) {
+                util::fail('没有找到订单号');
+            }
+
+
             $aliWap = Yii::getAlias("@vendor/alipayWap");
             require_once($aliWap . '/aop/AopClient.php');
             require_once($aliWap . '/aop/request/AlipayFundTransToaccountTransferRequest.php');
@@ -126,7 +138,7 @@ class CashController extends BaseController
                 $cash->status = CashClass::STATUS_CHECK_YES;
                 $cash->remark = $remark;
                 $cash->cashName = $cashName;
-                $cash->cashAccount = $cashAmount;
+                $cash->cashAccount = $cashAccount;
                 $cash->save();
                 //扣掉冻结的金额
 

+ 1 - 1
biz/sj/classes/CashClass.php

@@ -76,7 +76,7 @@ class CashClass extends BaseClass
         $params['shopName'] = $shopName;
         $params['amount'] = $txBalance;
         $return = self::add($params, true);
-        noticeUtil::push("客户:{$sjName} {$shopName}申请提现,金额:{$txBalance}", '15280215347');
+        noticeUtil::push("客户:{$sjName} {$shopName}申请提现,金额:{$txBalance}", '15280215347');
         return $return;
     }