/** 二维码订单页面 */ 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]); }
/** * 针对大客户充值,大客户充值自己没有返点 * 记录用户的充值,包含返点、用户余额的改变和云豆收入支出记录的记录 * @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']); } } }