Esempio n. 1
0
 /**
  * 分配云豆
  * @param $fromUserId   //大客户ID
  * @param $toUserId     //分配给的用户ID
  * @param $bitcoin
  */
 public static function distributeBitcoin($fromUserId, $toUserId, $bitcoin)
 {
     IncomeConsume::saveRecord($toUserId, $bitcoin, UsageMode::USAGE_DISTRIBUTE_INCOME, IncomeConsume::TYPE_INCOME, $fromUserId);
     //分配用户收入云豆
     IncomeConsume::saveRecord($fromUserId, $bitcoin, UsageMode::USAGE_DISTRIBUTE_CONSUME, IncomeConsume::TYPE_CONSUME, $toUserId);
     //大客户支出云豆
 }
Esempio n. 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']);
         }
     }
 }
 /** 在线练习支付 */
 public function actionPay()
 {
     $request = Yii::$app->request;
     if ($request->isAjax) {
         $session = Yii::$app->session;
         $user = $session->get('user');
         //先查询该用户是否有练习记录,防止重复付款
         $practiceRecord = PracticeRecord::findByUser($user['userId']);
         if ($practiceRecord) {
             return 'success您已经可以在线练习,不需要重新付款,如果重复出现付款页面请刷新该页面。';
         }
         $schemeId = $request->post('schemeId');
         /** @var $scheme \common\models\Scheme */
         $scheme = Scheme::findOne($schemeId);
         if (!$scheme) {
             return '该方案已停用';
         }
         $leftBitcoin = Users::findBitcoin($user['userId']);
         if ($leftBitcoin < $scheme['payBitcoin']) {
             return '您的云豆余额不足';
         }
         IncomeConsume::saveRecord($user['userId'], $scheme['payBitcoin'], Scheme::USAGE_PRACTICE, IncomeConsume::TYPE_CONSUME);
         PracticeRecord::saveRecord($user['userId'], $scheme);
         return 'success支付成功';
     }
     throw new Exception("非法支付");
 }