Esempio n. 1
0
 public function updateBalance()
 {
     $historyModel = new BalanceHistory();
     $balance = $historyModel->getBalanceById($this->user->id);
     $this->balance = $balance;
     $this->save(false, ['balance']);
 }
Esempio n. 2
0
 public function create($user)
 {
     if (empty($this->email)) {
         return false;
     }
     $partner = User::findOne(['username' => $this->email]);
     $this->userId = $user->id;
     $this->partnerId = $partner->id;
     $this->save();
     $id = md5($user->id . '' . $partner->id);
     $historyModel = new BalanceHistory();
     $historyModel->add($partner->id, self::SUM, $user->dateCreate, $id);
     $partner->profile->updateBalance();
 }
 public function actionCalculate()
 {
     /* @var $userList \app\modules\cms\models\User[] */
     /* @var $partnerList \app\modules\cms\models\Partner[] */
     /* @var $historyModel \app\modules\cms\models\BalanceHistory */
     /* @var $historyList \app\modules\cms\models\BalanceHistory[] */
     //получить всех пользователей
     $sum = 1000.0;
     //сумма за каждое зачисление
     $userList = \app\modules\cms\models\User::find()->all();
     $historyModel = new \app\modules\cms\models\BalanceHistory();
     foreach ($userList as $user) {
         $userId = $user->id;
         //            echo $user->username."\r\n";
         //получить всех пользователей с партнерки
         $partnerList = \app\modules\cms\models\Partner::find()->where(['partnerId' => $userId])->all();
         //получить историю баланса по юзеру
         $historyList = \app\modules\cms\models\BalanceHistory::find()->partner()->all();
         $historyIdList = $historyModel->idList($historyList);
         if (sizeof($partnerList) > sizeof($historyList)) {
             foreach ($partnerList as $partner) {
                 $id = md5($partner->userId . $partner->partnerId);
                 if (!in_array($id, $historyIdList)) {
                     //                        echo "\t".$id."\r\n";
                     $historyModel->add($userId, $sum, $partner->user->dateCreate, $id);
                 }
             }
         }
         $balance = $historyModel->getBalanceById($user->id);
         if (!$user->profile) {
             continue;
         }
         $user->profile->updateBalance($balance);
     }
 }
 public function actionPartner()
 {
     $model = new \app\modules\cms\models\Partner();
     $items = $model->invitedList();
     $historyList = \app\modules\cms\models\BalanceHistory::getByUserId();
     return $this->render('partner', ['items' => $items, 'historyList' => $historyList]);
 }
Esempio n. 5
0
 public function crib()
 {
     $balanceModel = new BalanceHistory();
     $balanceModel->id = md5($this->id . '' . time());
     $balanceModel->type = BalanceHistory::TYPE_REMOVE;
     $balanceModel->userId = $this->id;
     $balanceModel->sum = $this->crib;
     $balanceModel->date = date(DATE_FORMAT_DB);
     $balanceModel->save();
     $balance = $balanceModel->getBalanceById($this->id);
     $this->profile->updateBalance();
 }