|
|
@@ -27,6 +27,19 @@ class CashController extends BaseController
|
|
|
util::success($list);
|
|
|
}
|
|
|
|
|
|
+ public static function rollback($cash, $shop, $transaction, $cashAmount, $remark)
|
|
|
+ {
|
|
|
+ $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();
|
|
|
+ }
|
|
|
+
|
|
|
//提现审核通过 shish 2021.5.17
|
|
|
public function actionCheck()
|
|
|
{
|
|
|
@@ -46,21 +59,24 @@ class CashController extends BaseController
|
|
|
}
|
|
|
$shopId = $cash->shopId;
|
|
|
$shop = ShopClass::getLockById($shopId);
|
|
|
+ $cashAmount = isset($cash->amount) ? floatval($cash->amount) : 0;
|
|
|
if (empty($shop)) {
|
|
|
util::fail('没有找到门店');
|
|
|
}
|
|
|
$ptStyle = $shop->ptStyle ?? dict::getDict('ptStyle', 'hd');
|
|
|
- $cashAmount = isset($cash->amount) ? floatval($cash->amount) : 0;
|
|
|
if ($cashAmount <= 0) {
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
util::fail('提现金额有问题');
|
|
|
}
|
|
|
$miniCashAmount = dict::getDict('miniCashAmount');
|
|
|
if (getenv('YII_ENV', 'local') != 'production') {
|
|
|
if ($cashAmount > $miniCashAmount) {
|
|
|
- util::fail("测试环境提现金额不能超过{$miniCashAmount}元");
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
+ util::fail("测试提现不超过{$miniCashAmount}元");
|
|
|
}
|
|
|
}
|
|
|
if ($cashAmount < $miniCashAmount) {
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
util::fail("余额不足{$miniCashAmount}元");
|
|
|
}
|
|
|
|
|
|
@@ -72,30 +88,24 @@ class CashController extends BaseController
|
|
|
}
|
|
|
|
|
|
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();
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
+ util::fail('已审核过');
|
|
|
}
|
|
|
|
|
|
$cashAccount = $shop->cashAccount ?? '';
|
|
|
$cashName = $shop->cashName ?? '';
|
|
|
if (empty($cashAccount) || empty($cashName)) {
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
util::fail('提现帐号未填写完整');
|
|
|
}
|
|
|
-
|
|
|
$cashSn = $cash->orderSn;
|
|
|
if (empty($cashSn)) {
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
util::fail('没有找到订单号');
|
|
|
}
|
|
|
|
|
|
if (bccomp($cashAmount, $shop->freezeBalance) == 1) {
|
|
|
+ self::rollback($cash, $shop, $transaction, $cashAmount, $remark);
|
|
|
util::fail('冻结金额不足提现');
|
|
|
}
|
|
|
|
|
|
@@ -178,7 +188,7 @@ class CashController extends BaseController
|
|
|
}
|
|
|
} catch (Exception $exception) {
|
|
|
$transaction->rollBack();
|
|
|
- Yii::info("提现审核失败:" . $exception->getMessage());
|
|
|
+ Yii::info("审核失败:" . $exception->getMessage());
|
|
|
util::fail('审核失败,请排查原因');
|
|
|
}
|
|
|
}
|