123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- /**
- * Created by PhpStorm.
- * Author: NODELOG
- * DateTime: 2017/3/8 16:32
- * Description:
- */
- namespace api\common\models;
- use api\modules\v1\models\Circle;
- use api\modules\v1\models\Clock;
- use api\modules\v1\models\ClockLike;
- use api\modules\v1\models\Comment;
- use api\modules\v1\models\UserCar;
- use common\models\Article;
- use common\models\Footprint;
- use common\models\Friend;
- use common\models\SearchRecord;
- use common\models\Suggest;
- use yii\helpers\Url;
- class User extends \common\modules\user\models\User
- {
- /**
- * 默认属性
- * @return array|false
- * @author nodelog
- */
- public function fields()
- {
- return [
- 'nickname',
- 'tel',
- 'avatar' => function ($model) {
- return Url::to($model->getAvatar(), true);
- },
- 'profile',
- 'count',
- ];
- }
- /**
- * 扩展属性
- * 请求时接口url加参数,如:?expand=profile
- * @return array|false
- * @author nodelog
- */
- public function extraFields()
- {
- return [
- 'profile',
- 'count',
- ];
- }
- /**
- * 数据统计
- * @author nodelog
- */
- public function getCount()
- {
- $data = [];
- $where = ['user_id' => \Yii::$app->user->id];
- $searchCount = SearchRecord::find()->where($where)->andWhere(['del' => 0])->sum('count');
- if (empty($searchCount)) {
- $searchCount = 0;
- }
- $pagePathList = \Yii::$app->config->get('page_path_list');
- $data[] = [
- 'title' => '搜索',
- 'count' => $searchCount,
- 'link' => $pagePathList['search_page'],
- 'link_type' => 1
- ];
- $data[] = [
- 'title' => '足迹',
- 'count' => Footprint::find()->my()->count(),
- 'link' => $pagePathList['footprint_page'],
- 'link_type' => 1
- ];
- $data[] = [
- 'title' => '企业反馈',
- 'count' => Article::find()->my()->count(),
- 'link' => $pagePathList['company_page'],
- 'link_type' => 1
- ];
- $data[] = [
- 'title' => '意见反馈',
- 'count' => Suggest::find()->where($where)->count(),
- 'link' => $pagePathList['feedback_page'],
- 'link_type' => 1
- ];
- return $data;
- }
- /**
- * 获取用户信息
- * @return \yii\db\ActiveQuery
- * @author nodelog
- */
- public function getProfile()
- {
- return $this->hasOne(Profile::className(), ['user_id' => 'id']);
- }
- }
|