|
|
@@ -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();
|
|
|
//扣掉冻结的金额
|
|
|
|