Example #1
0
 private function rechargeList($startTime = 0, $endTime = 0)
 {
     $endTime = $endTime == 0 ? time() : $endTime;
     $assetMoneys = AssetMoney::find()->joinWith(['member' => function ($query) {
         /** @var \yii\db\ActiveQuery $query */
         $query->select(Member::$SELECT_ROW);
     }])->where(['type' => AssetMoney::TYPE_EXPERIENCE_MONEY])->andWhere(['>=', 'wh_asset_money.created_at', $startTime])->andWhere(['<=', 'wh_asset_money.created_at', $endTime])->asArray()->all();
     $actions = Config::getInstance()->getProperty('assetLog');
     foreach ($assetMoneys as &$assetMoney) {
         $assetMoney['action'] = isset($actions[$assetMoney['action']]) ? $actions[$assetMoney['action']] : "赠送";
         $assetMoney['created_at'] = date('Y-m-d', $assetMoney['created_at']);
         $assetMoney['updated_at'] = date('Y-m-d', $assetMoney['updated_at']);
         $assetMoney['type'] = AssetMoney::get_type($assetMoney['type']);
         $assetMoney['status'] = AssetMoney::get_status($assetMoney['status']);
         if (isset($assetMoney['member'])) {
             $assetMoney['member']['idcard_status'] = Member::get_auth_status($assetMoney['member']['idcard_status']);
             $assetMoney['member']['email_status'] = Member::get_auth_status($assetMoney['member']['email_status']);
             $assetMoney['member']['status'] = Member::get_record_status($assetMoney['member']['status']);
             $assetMoney['member']['created_at'] = date('Y-m-d', $assetMoney['member']['created_at']);
             foreach ($assetMoney['member'] as $key => &$memberInfo) {
                 $assetMoney['member_' . $key] = $memberInfo;
             }
             unset($assetMoney['member']);
         }
     }
     return $assetMoneys;
 }
Example #2
0
 public function actionProfit()
 {
     $user = wanhunet::$app->user;
     $assetMoneyList = AssetMoney::find()->where(['type' => AssetMoney::TYPE_MONEY])->andWhere(['<>', 'status', AssetMoney::STATUS_MONEY_UNPAYED])->andWhere(['user_id' => $user->getId()])->limit(10)->orderBy('id desc')->all();
     $investList = InvestList::find()->where(['member_id' => $user->getId(), 'status' => InvestList::STATUS_PAYED])->joinWith(['invest' => function ($query) {
         /** @var \yii\db\ActiveQuery $query */
         $query->andWhere(['type' => Invest::TYPE_MONEY]);
     }])->limit(10)->orderBy('id desc')->all();
     return $this->view('profit', ['assetMoneyList' => $assetMoneyList, 'investList' => $investList]);
 }
Example #3
0
 private function hasGift(ShareGift $shareGift)
 {
     $wechat_info = json_decode($shareGift->wechat_info, true);
     $emAction = ['site/idcard', 'site/email', 'site/setjiuxin', 'site/recharge'];
     $emCount = AssetMoney::find()->where(['user_id' => $shareGift->user_id, "action" => $emAction])->count();
     $emshareCount = AssetMoney::find()->where(['user_id' => $shareGift->user_id, 'action' => 'site/signup-verify'])->andWhere(['<>', "action_uid", $shareGift->user_id])->count();
     if ($emshareCount > 0) {
         $emCount += 1;
     }
     $emCount = 5 - $emCount;
     $members = [];
     if (($parent_id = Member::findOne($shareGift->user_id)->parent_id) !== null) {
         $members = Member::find()->where(['parent_id' => $parent_id])->asArray()->select(['id', 'created_at'])->limit(10)->orderBy("id desc")->all();
     }
     $url = wanhunet::$app->urlManager->createAbsoluteUrl(['share/index/' . Member::findOne($shareGift->user_id)->invitation]);
     $url = wanhunet::app()->wechat->getOauth2AuthorizeUrl($url, 'authorize', 'snsapi_userinfo');
     return $this->view("has_gift", ['wechat_info' => $wechat_info, 'emCount' => $emCount, 'members' => $members, 'url' => $url]);
 }
Example #4
0
 /**
  * 首次充钱
  * @param $event
  */
 public function setIncFirstMoney($event)
 {
     $rs = $event->rs;
     $assetOne = AssetMoney::find()->where(['user_id' => $rs['user_id']])->andWhere(['type' => AssetMoney::TYPE_MONEY])->andWhere(['status' => AssetMoney::STATUS_INC])->count();
     if ($assetOne == 1) {
         Debug::add('asset' . $assetOne);
         $assm = new AssetMoney();
         $assm->action = wanhunet::$app->controller->getRoute();
         $assm->step = Config::getInstance()->getProperty('setIncEM.firstMoney');
         $assm->user_id = $rs['user_id'];
         $assm->action_uid = $rs['user_id'];
         $assm->status = AssetMoney::STATUS_INC;
         $assm->type = AssetMoney::TYPE_EXPERIENCE_MONEY;
         $assm->save();
         $assmax = new AssetMoney();
         $assmax->action = wanhunet::$app->controller->getRoute();
         $assmax->step = Config::getInstance()->getProperty('setIncEM.firstMoney');
         $assmax->user_id = $rs['user_id'];
         $assmax->action_uid = $rs['user_id'];
         $assmax->status = AssetMoney::STATUS_INC;
         $assmax->type = AssetMoney::TYPE_EXPERIENCE_MONEY_MAX;
         $assmax->save();
     }
 }
Example #5
0
 public function setIncMoneyPayed($id)
 {
     /** @var AssetMoney $assetMoney */
     $assetMoney = AssetMoney::find()->where(['id' => $id, 'status' => AssetMoney::STATUS_MONEY_UNPAYED])->one();
     if ($assetMoney !== null) {
         $this->money = $this->money + $assetMoney->step;
         $assetMoney->status = AssetMoney::STATUS_INC;
         $assetMoney->save();
         $this->save();
     }
 }
Example #6
0
 public function actionPrivilege()
 {
     $investSum = InvestList::find()->where(['status' => InvestList::STATUS_PAYED, 'member_id' => wanhunet::$app->user->getId()])->joinWith(['invest' => function ($query) {
         /** @var \yii\db\ActiveQuery $query */
         $query->andWhere(['type' => Invest::TYPE_MONEY]);
     }])->sum('investment_sum');
     $friends = wanhunet::app()->member->findFriendIds();
     $fInveset = 0;
     if (count($friends) > 0) {
         $ids = [];
         foreach ($friends as $id) {
             $ids[] = $id['id'];
         }
         $fInveset = InvestList::find()->where(['status' => InvestList::STATUS_PAYED, 'member_id' => $ids])->joinWith(['invest' => function ($query) {
             /** @var \yii\db\ActiveQuery $query */
             $query->andWhere(['type' => Invest::TYPE_MONEY]);
         }])->sum('investment_sum');
     }
     $emMaxList = AssetMoney::find()->where(['type' => AssetMoney::TYPE_EXPERIENCE_MONEY_MAX, 'user_id' => wanhunet::$app->user->getId()])->orderBy('id desc')->joinWith(['actionUid'])->limit(50)->all();
     $einvestListModle = InvestList::find()->where(['status' => InvestList::STATUS_PAYED, 'member_id' => wanhunet::$app->user->getId()])->joinWith(['invest' => function ($query) {
         /** @var \yii\db\ActiveQuery $query */
         $query->andWhere(['type' => Invest::TYPE_EXPERIENCE_MONEY]);
     }]);
     $einvestListSum = $einvestListModle->sum('interest');
     $einvestList = $einvestListModle->limit(50)->orderBy('id desc')->all();
     return $this->view('privilege', ['myInveset' => $investSum, 'fInveset' => $fInveset, 'emMaxList' => $emMaxList, 'einvestList' => $einvestList, 'einvestListSum' => $einvestListSum]);
 }