/** * 检测用户名密码 是否正确 * @param str $username 用户名 * @param str $password 密码 * @param str $backurl 例:['user/login'] 用户名密码正确,需要跳转去的页面 * * @return json */ public function CheckPassword($username, $password, $backurl = '') { //登陆状态 $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $loginnum = $session->get('loginnum'); $succeurl = empty($backurl) ? Yii::$app->params['idaiyan'] : Url::toRoute([$backurl]); $member_model = new Member(); $userone = $member_model->getByUserName($username); if (!empty($userone)) { $passmd = PublicLibrary::password_encode($password, $userone['random']); if ($userone['password'] == $passmd) { $user = array('uid' => $userone['uid'], 'mobile' => $userone['mobile'], 'email' => $userone['email'], 'username' => $userone['mobile'] ? $userone['mobile'] : $userone['email'], 'nickname' => $userone['nickname'] ? $userone['nickname'] : $userone['username'], 'is_admin' => 0); $session->set('user', $user); //获取用户关注,产品关注信息 $memberfollow_model = new MemberFollow(); $userfollow = $memberfollow_model->getMemberFollow($userone['uid']); $userfollow = ArrayHelper::getColumn($userfollow, 'passive_uid'); $productfollow_model = new ProductFollow(); $productfollow = $productfollow_model->getByUid($userone['uid']); $session->set('follow_user', $userfollow); $session->set('follow_product', $productfollow); $session->close(); //设置登陆日志 $MemberLog_model = new MemberLog(); $MemberLog_model->saveLog(array('uid' => $userone['uid'])); $session->remove('loginnum'); $data['id'] = $userone['uid']; $data['mobile'] = $userone['mobile']; $data['email'] = $userone['email']; if ($userone['avatar']) { $data['avatar'] = $userone['avatar']; } else { $data['avatar'] = Yii::$app->params['idaiyan-static'] . "static/modules/home/images/temp/avatar.jpg"; } $data['succeurl'] = $succeurl; $res = PublicLibrary::format_res_encode('0', '登录成功!', $data); } else { $code = $loginnum > 3 ? 1013 : 4; $res = PublicLibrary::format_res_encode($code, '密码不正确!', $succeurl); } } else { $code = $loginnum > 3 ? 1013 : 5; $res = PublicLibrary::format_res_encode($code, '该用户不存在!'); } return $res; }
/** * Action ProductFollow Test */ public function actionPfollow() { $productId = 4000; $mProductFollow = new ProductFollow(); // $mProductFollow->getFollowUsers($productId); // $mProductFollow->follow(4000, 1); //$mProductFollow->unfollow(4000, 1); var_dump($mProductFollow->getByUid(199, TRUE)); }
/** * [产品详情] * @param int $id 产品id * @return array 产品信息渲染到页面view */ public function actionView($id) { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); //判断产品是否发布 $base = IProductBase::find()->select('status,uid')->where('id = :id', [':id' => $id])->asArray()->one(); if (!empty($_SESSION['user'])) { if ($base['status'] != IProductBase::STATUS_VERIFEND) { if ($base['uid'] != $_SESSION['user']['uid']) { return $this->redirect(['index']); //跳转到完善信息 } } } else { if ($base['status'] != IProductBase::STATUS_VERIFEND) { return $this->redirect(['index']); //跳转到完善信息 } } //增加总访问量 $mProductStat = new IProductStat(); $mProductStat->modify('page_views', $id, 1, true); //访问日志 $mViewsLog = new ViewsLog(); $mViewsLog->modify($id, ViewsLog::PRODUCT_TYPE); //增加周访问量,月访问量 $week_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 7); $month_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 30); $mProductStat->modifyviewnum('week_views', $id, $week_num); $mProductStat->modifyviewnum('month_views', $id, $month_num); //基础数据和扩展数据查询 $re = IProductBase::find()->With('extra', 'stat')->where(IProductBase::tableName() . '.id = :id', [':id' => $id])->asArray()->one(); //该产品用户共发布产品数 $presentNum = IProductBase::find()->where(['uid' => $re['uid'], 'status' => IProductBase::STATUS_VERIFEND])->count(); //喜欢此产品用户 $model = new ProductFollow(); $loves = $model->getFollowUsers($id); //产品发布人头像及姓名 $model = new Member(); $user = $model->find()->select(['avatar', 'nickname'])->where(['uid' => $re['uid']])->asArray()->one(); //参加活动 $model = new ActivityProduct(); // print_r($id);exit; $actives = $model->getActivityDetail($id); // $actives = $model->getActivitiseById($id); // print_r($actives);exit; foreach ($actives as $key => $value) { if ($value['acti_id'] == 8) { $mBaiyingShare = new BaiyingShare(); $number = $mBaiyingShare->getShareNum($value['id']); } if ($value['acti_id'] == 9) { $rel_id = $value['id']; } } //活动map $activityBase = new ActivityBase(); $activesMap = $activityBase->getActivityMap(); if (isset($rel_id)) { //投票信息 $city = "上海"; $poll_type_id = PollType::GOODPRODUCT_TYPE; $mpoll = new poll(); $pollone = $mpoll->getPollByCity($city, $poll_type_id); //投票项信息 $moption = new polloption(); $optione = $moption->getOptionByowner($pollone['poll_id'], $rel_id); } return $this->render('view', ['re' => $re, 'present_num' => $presentNum, 'actives' => $actives, 'now' => time(), 'number' => isset($number) ? intval($number) : '', 'loves' => $loves, 'user' => $user, 'activesMap' => $activesMap, 'optione' => isset($optione) ? $optione : '']); }