Exemplo n.º 1
0
<?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>
Exemplo n.º 2
0
 /**
  * 计算用户提现的钱应该扣除的云豆数
  * @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 未定义");
     }
 }