/** 二维码订单页面 */
 public function actionQrOrder()
 {
     $session = Yii::$app->session;
     $user = $session->get('user');
     $schemes = Scheme::findPayScheme();
     //获取充值方案
     $recommendUser = Users::findRecommendUser($user['recommendUserID']);
     if ($recommendUser && $recommendUser['role'] != Users::ROLE_BIG) {
         //存在推荐用户且不为大客户则需要有返点消息提示,否则没有提示
         $rebateScheme = Scheme::findRebateScheme($recommendUser['role']);
         //获取返点方案
     } else {
         $rebateScheme = "";
     }
     if ($rebateScheme) {
         $msg = '充值金额大于' . $rebateScheme['payMoney'] . '元时可以获得' . $rebateScheme['rebateSelf'] * 100 . '%返点哦~。';
         CommonFunctions::createAlertMessage($msg, "info");
     }
     $orders = [];
     $wxPayFunctions = new WxPayFunctions();
     foreach ($schemes as $scheme) {
         array_push($orders, $wxPayFunctions->generateQrOrder($scheme));
     }
     return $this->render('qr-order', ['schemes' => $schemes, 'orders' => $orders]);
 }
Exemple #2
0
 /**
  * 针对大客户充值,大客户充值自己没有返点
  * 记录用户的充值,包含返点、用户余额的改变和云豆收入支出记录的记录
  * @param $user
  * @param $money
  * @param $bitcoin
  * @param $from
  * @param null $operateUserId
  * @param null $agreement
  * @throws Exception
  */
 public static function recordOneForBig($user, $money, $bitcoin, $from, $operateUserId = null, $agreement = null)
 {
     $moneyModel = new Money();
     $moneyModel->userId = $user['userId'];
     $moneyModel->money = $money;
     $moneyModel->type = Money::TYPE_PAY;
     $moneyModel->bitcoin = $bitcoin;
     $moneyModel->createDate = DateFunctions::getCurrentDate();
     $moneyModel->from = $from;
     $moneyModel->operateUserId = $operateUserId;
     $moneyModel->agreement = $agreement;
     if (!$moneyModel->save()) {
         throw new Exception("money save error");
     }
     //云豆收入支出记录+用户余额改变
     IncomeConsume::saveRecord($user['userId'], $bitcoin, UsageMode::USAGE_PAY, IncomeConsume::TYPE_INCOME, $operateUserId);
     $recommendUser = Users::findRecommendUser($user['recommendUserID']);
     if ($recommendUser) {
         //存在推荐用户
         $rebateScheme = Scheme::findRebateScheme(Users::ROLE_BIG);
         if ($rebateScheme && $money >= $rebateScheme['payMoney']) {
             //存在返点方案,并且达到当前返点的起始要求
             $proportion = Yii::$app->params['proportion'];
             $addBitcoin = $money * $proportion * $rebateScheme['rebate'];
             //返点云豆,返给推荐人
             IncomeConsume::saveRecord($recommendUser['userId'], $addBitcoin, UsageMode::USAGE_REBATE_BIG, IncomeConsume::TYPE_INCOME, $user['userId']);
         }
     }
 }