<?php /* @var $this yii\web\View */ /* @var $applyMoneyForm \backend\modules\associate\models\forms\ApplyMoneyForm */ /* @var $pages */ use yii\helpers\Html; use yii\widgets\ActiveForm; use common\models\Scheme; use common\models\Users; $this->title = '申请提现'; $this->params['breadcrumbs'] = [$this->title]; $user = Yii::$app->session->get('user'); $schemes = Scheme::findWithdrawScheme($user['role']); if ($user['role'] == Users::ROLE_AA) { $scheme = $schemes[0]; $tooltipTitle = "如何计算:<br>提现比例(云豆:元):" . $scheme['payBitcoin'] . ":" . intval($scheme['getMoney']) . "<br>我们将根据您的云豆余额计算您最大可提现的金额,最终扣除的云豆数如果有小数,将采取向上取整的方式扣除。"; } elseif ($user['role'] == Users::ROLE_AAA) { $scheme_low = $schemes[0]; $scheme_high = $schemes[1]; $tooltipTitle = "如何计算:<br>提现比例(云豆:元):<br>累计云豆" . intval($scheme_high['totalBitcoin']) / 10000 . "万以内:" . $scheme_low['payBitcoin'] . ":" . intval($scheme_low['getMoney']) . "<br>累计云豆" . intval($scheme_high['totalBitcoin']) / 10000 . "万以上:" . $scheme_high['payBitcoin'] . ":" . intval($scheme_high['getMoney']) . "<br>我们将根据您的云豆余额计算您最大可提现的金额,最终扣除的云豆数如果有小数,将采取向上取整的方式扣除。"; } else { $tooltipTitle = ""; } ?> <div class="widget flat"> <div class="widget-body"> <?php echo \common\widgets\AlertWidget::widget(); ?> <h4>申请提现</h4> <div class="form-title"></div>
/** * 计算用户提现的钱应该扣除的云豆数 * @param $user * @param $money * @return float|mixed * @throws Exception */ public static function calculateWithdrawBitcoin($user, $money) { $role = $user['role']; $leftBitcoin = Users::findBitcoin($user['userId']); //获取用户剩余云豆 $schemes = Scheme::findWithdrawScheme($role); if ($role == Users::ROLE_AA) { $scheme = $schemes[0]; return $money / $scheme['getMoney'] * $scheme['payBitcoin']; } elseif ($role == Users::ROLE_AAA) { $totalBitcoin = IncomeConsume::findTotalIncome($user['userId']); //获取该用户累计获得多少云豆 $withdrawBitcoin = $totalBitcoin - $leftBitcoin; //已经提现掉的云豆数 $scheme_low = $schemes[0]; $scheme_high = $schemes[1]; if ($withdrawBitcoin >= $scheme_high['totalBitcoin']) { //已经提现的云豆数大于高比例需要的云豆数,直接按照高比例算 return $money / $scheme_high['getMoney'] * $scheme_high['payBitcoin']; } else { //按照第比例算或分段算 if ($totalBitcoin >= $scheme_high['totalBitcoin']) { //累计云豆数量达到高比例提现,分段算 $lowBitcoin = $scheme_high['totalBitcoin'] - $withdrawBitcoin; //按照低比例算的云豆 $lowMoney = $lowBitcoin / $scheme_low['payBitcoin'] * $scheme_low['getMoney']; //低比例最大可提现的钱 if ($money <= $lowMoney) { //用户体现的钱未达到低比例最大提现的钱,按低比例计算云豆 return $money / $scheme_low['getMoney'] * $scheme_low['payBitcoin']; } else { //用户体现的钱超过低比例最大提现的钱,未超过部分为所有低比例云豆数,超过部分按高比例计算云豆 return $lowBitcoin + ($money - $lowMoney) / $scheme_high['getMoney'] * $scheme_high['payBitcoin']; } } else { //按低比例算 return $money / $scheme_low['getMoney'] * $scheme_low['payBitcoin']; } } } else { throw new Exception("role 未定义"); } }