예제 #1
0
 public function actionView()
 {
     $id = wanhunet::$app->request->post('id');
     /** @var Member $member */
     $memberCow = Member::$SELECT_ROW;
     $member = Member::find()->where(['id' => $id])->select($memberCow)->asArray()->one();
     $parentMember = Member::find()->select($memberCow)->where(['invitation' => $member['parent_id']])->asArray()->one();
     $asset = Asset::find()->where(['user_id' => $id])->select(['experience_money_max', 'experience_money_max_inc', 'money', 'bank_card'])->asArray()->one();
     if (!empty($asset['bank_card'])) {
         $bankCards = empty($asset['bank_card']) ? [] : json_decode($asset['bank_card']);
         foreach ($bankCards as $bankCard) {
             $bankCard = unserialize($bankCard);
             if ($bankCard instanceof BankCard) {
                 /* @var \modules\asset\models\BankCard $bankcard */
                 $asset['bank_card'] = ['cardId' => $bankCard->cardId, 'backName' => $bankCard->bankName, 'cardUserName' => $bankCard->cardUserName, 'cardPhone' => $bankCard->cardPhone];
             }
         }
     }
     $asset['experience_money'] = AssetMoney::getExperienceMoney($id);
     /** @var MemberOther[] $memberOther */
     $memberOther = MemberOther::find()->where(['user_id' => $id])->all();
     foreach ($memberOther as $info) {
         if ($info->table == MemberOther::TABLE_JIUXIN) {
             $info->table = '玖信贷';
         } elseif ($info->table == MemberOther::TABLE_WECHAT) {
             $info->table = '微信账号';
         }
     }
     $friends = Member::findOne($id)->findFriends();
     return ['member' => $member, 'parent' => $parentMember, 'asset' => $asset, 'MemberOther' => $memberOther, 'friends' => $friends];
 }
예제 #2
0
 public function actionOff()
 {
     Utils::ensureOpenId();
     $request = wanhunet::$app->request;
     if ($request->isPost) {
         if (($model = MemberOther::findOne(['row' => $request->post('open_id'), 'table' => MemberOther::TABLE_WECHAT])) !== null) {
             /** @var MemberOther $model */
             $model->row = '';
             $model->save();
         }
         wanhunet::$app->user->logout();
         return $this->goBack(['info' => "解绑成功"], Url::to(['site/signin']));
     }
     return $this->view('off');
 }
예제 #3
0
 public function actionEnter()
 {
     Utils::ensureOpenId();
     if (wanhunet::$app->user->isGuest) {
         if (($openId = wanhunet::$app->request->get('open_id')) !== null && ($model = MemberOther::findOne(['row' => $openId, 'table' => MemberOther::TABLE_WECHAT])) !== null) {
             /** @var MemberOther $model */
             if (Yii::$app->user->login($model->member, 3600 * 24 * 30)) {
                 return $this->redirect(Url::to(['main']));
             }
         }
         return $this->redirect(Url::to(['signin']));
     } else {
         return $this->redirect(Url::to(['signin']));
     }
 }
예제 #4
0
파일: LoginForm.php 프로젝트: suyuanen/p2p
 /**
  * Logs in a user using the provided username and password.
  *
  * @return boolean whether the user is logged in successfully
  */
 public function login()
 {
     if ($this->validate()) {
         $rs = Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
         if (!is_null($this->open_id)) {
             $otherInfo = MemberOther::findOne(['user_id' => wanhunet::$app->user->getId(), 'table' => MemberOther::TABLE_WECHAT]);
             $otherInfo = $otherInfo == null ? new MemberOther() : $otherInfo;
             $otherInfo->table = MemberOther::TABLE_WECHAT;
             $otherInfo->row = $this->open_id;
             wanhunet::app()->member->setOtherInfo([$otherInfo]);
         }
         return $rs;
     } else {
         return false;
     }
 }
예제 #5
0
 public function acShare()
 {
     $errorAuth = '';
     if (wanhunet::$app->user->isGuest) {
         Utils::ensureOpenId();
         $url = wanhunet::$app->urlManager->createAbsoluteUrl(['share/index']);
         $errorAuth = '您未绑定微信账号';
         if (($openId = wanhunet::$app->request->get('open_id')) !== null && ($model = MemberOther::findOne(['row' => $openId, 'table' => MemberOther::TABLE_WECHAT])) !== null) {
             /** @var MemberOther $model */
             if (\Yii::$app->user->login($model->member, 3600 * 24 * 30)) {
                 $url = wanhunet::$app->urlManager->createAbsoluteUrl(['share/index/' . wanhunet::app()->member->invitation]);
                 $errorAuth = '';
             }
         }
     } else {
         $url = wanhunet::$app->urlManager->createAbsoluteUrl(['share/index/' . wanhunet::app()->member->invitation]);
     }
     $url = wanhunet::app()->wechat->getOauth2AuthorizeUrl($url, 'authorize', 'snsapi_userinfo');
     if (wanhunet::$app->request->get('qrcode', null) !== null) {
         Utils::qrcode(urldecode(wanhunet::$app->request->get('qrcode', urlencode($url))));
     }
     return $this->view('share', ['url' => $url, 'errorAuth' => $errorAuth]);
 }
예제 #6
0
파일: Member.php 프로젝트: suyuanen/p2p
 /**
  * @param $table
  * @return array|null|MemberOther
  */
 public function getOtherInfo($table)
 {
     return MemberOther::find()->where(['user_id' => $this->id, 'table' => $table])->one();
 }
예제 #7
0
파일: params.php 프로젝트: suyuanen/p2p
<?php

use modules\asset\behaviors\ExperienceMoney;
return ['adminEmail' => '*****@*****.**', 'behaviors' => [\modules\member\models\VerificationCode::className() => ['assetExperienceMoney' => ['class' => ExperienceMoney::className()]], \modules\member\models\Member::className() => ['asset' => ['class' => \modules\asset\behaviors\Asset::className(), 'assetConfig' => \modules\asset\models\Asset::className()], 'assetExperienceMoney' => ['class' => ExperienceMoney::className()]], \modules\asset\models\Asset::className() => ['asset_log' => ['class' => \modules\asset\behaviors\Log::className()], 'assetExperienceMoney' => ['class' => ExperienceMoney::className()]], \modules\invest\models\InvestList::className() => ['payedFinish' => \modules\invest\behaviors\InvestListPayed::className()], \modules\asset\models\AssetMoney::className() => [\modules\asset\behaviors\Log::className()], \modules\member\models\MemberOther::className() => [ExperienceMoney::className()]], 'events' => [\modules\asset\behaviors\Asset::className() => [\modules\member\models\Member::EVENT_AFTER_INSERT => \modules\asset\behaviors\Asset::FUNCTION_MEMBER_AFTER_INSERT], \modules\asset\behaviors\ExperienceMoney::className() => [\modules\member\models\VerificationCode::EVENT_VERIFY_SUCCESS_EMAIL => ExperienceMoney::FUNCTION_INC_EMAIL, \modules\member\models\VerificationCode::EVENT_VERIFY_SUCCESS_PHONE => ExperienceMoney::FUNCTION_INC_PHONE, \modules\asset\models\AssetMoney::EVENT_FINISH_PAY => ExperienceMoney::FUNCTION_INC_FIRST_MONEY, \modules\member\models\Member::EVENT_BEFORE_SAVE_IDCARD => ExperienceMoney::FUNCTION_INC_FIRST_IDCARD, \modules\member\models\MemberOther::EVENT_AFTER_INSERT => ExperienceMoney::FUNCTION_INT_BANGDING], \modules\invest\behaviors\InvestListPayed::className() => [\modules\invest\models\InvestList::EVENT_BEFORE_FINISH_PAY => \modules\invest\behaviors\InvestListPayed::FUNCTION_SET_INTEREST, \modules\invest\models\InvestList::EVENT_AFTER_FINISH_PAY => \modules\invest\behaviors\InvestListPayed::FUNCTION_SET_INTEREST_M], \modules\asset\behaviors\Log::className() => [\modules\asset\models\AssetMoney::EVENT_BEFORE_INSERT => \modules\asset\behaviors\Log::FUNCTION_BEFORE_INSERT]]];