request->get(); $status = $get['status'] ?? 0; $where = []; if (!empty($status)) { $where['status'] = $status; } $respond = CashClass::getCashList($where); util::success($respond); } //提现审核通过 ssh 2021.5.17 public function actionCheck() { $get = Yii::$app->request->get(); $id = $get['id'] ?? 0; $remark = $get['remark'] ?? ''; $status = $get['status'] ?? 2; //事务处理 $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('没有找到门店'); } $mainId = $shop->mainId ?? 0; $main = MainClass::getLockById($mainId); if (empty($main)) { util::fail('没有main信息'); } $cashAmount = isset($cash->amount) ? floatval($cash->amount) : 0; if ($cashAmount <= 0) { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail('提现金额有问题'); } $miniCashAmount = dict::getDict('miniCashAmount'); if ($cashAmount < $miniCashAmount) { if (getenv('YII_ENV') == 'production') { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail("余额不足{$miniCashAmount}元"); } } $getAmount = $cash->beAmount; if ($status != CashClass::STATUS_CHECK_YES) { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail('已审核过'); } $cashAccount = $main->cashAccount ?? ''; $cashName = $main->cashName ?? ''; if (empty($cashAccount) || empty($cashName)) { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail('提现帐号未填写完整'); } $cashSn = $cash->orderSn; if (empty($cashSn)) { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail('没有找到订单号'); } if (bccomp($cashAmount, $main->freezeBalance) == 1) { CashClass::rollback($cash, $shop, $transaction, $cashAmount, $remark); util::fail('冻结金额不足提现'); } $cash->status = CashClass::STATUS_CHECK_YES; $cash->remark = $remark; $cash->getAmount = $getAmount; $cash->cashName = $cashName; $cash->cashAccount = $cashAccount; $cash->save(); //扣掉冻结的金额 $main->freezeBalance = bcsub($main->freezeBalance, $cashAmount, 2); $main->save(); //发放代理佣金 //CashClass::sendBrokerage($shop, $cash); $transaction->commit(); NoticeClass::cashPassNotice($shop, $cash); //微信通知申请提现人和超管 WxMessageClass::cashInform($shop, $cash); //通知管理员 noticeUtil::push("客户提现申请已转账,转帐金额:{$getAmount}元", '15280215347'); util::complete(); } catch (Exception $exception) { $transaction->rollBack(); Yii::info("审核失败:" . $exception->getMessage()); util::fail('审核失败,请排查原因'); } } }