UserRepository.php 2.75 KB
<?php

namespace domain\user;

use domain\user\models\User as UserModel;
use yii\base\NotSupportedException;


/**

 * Class UserRepository
 * @package domain\user
 */
class UserRepository
{
    /**
     * @param $where
     * @param $offset
     * @param $limit
     * @return array|\yii\db\ActiveRecord[]
     */
    static function getPageList($where, $offset, $limit)
    {
        $userFind = UserModel::find()->alias("m");

        if (!empty($where)) {
            $userFind->where($where);
        }
        if ($offset) {
            $userFind->offset($offset);
        }
        if ($limit) {
            $userFind->limit($limit);
        }
        $userFind->andWhere(["is_delete" => 0]);
        $userFind->orderBy("m.id desc");
        $userFind->asArray();
        $dataList = $userFind->all();

        return $dataList;
    }

    /**
     * 列表页面分页器数量
     * @param string $map
     */
    static function getPageCount($map = '')
    {
        $userFind = UserModel::find()->alias("m");
        if (!empty($map)) {
            $userFind->where($map);
        }
        $userFind->andWhere(["is_delete" => 0]);
        $pageCount = $userFind->count();

        return $pageCount;
    }

    /**
     * @param $id
     * @param bool|false $asArr
     * @return null|static
     */
    static function selectOne($id, $asArr = false)
    {
        $user = UserModel::findOne($id);
        if ($asArr && $user) {
            $user = $user->toArray();
        }
        return $user;
    }

    /**
     * @param $id
     * @param bool|false $asArr
     * @return null|static
     */
    static function selectInfoById($id, $asArr = false)
    {
        if (empty($id)) {
            return $asArr ? [] : null;
        }
        $user = UserModel::find();
        $user->where("id = " . $id);
        if ($asArr && $user) {
            $user = $user->asArray();
        }
        $resultData = $user->one();
        return $resultData;
    }

    /**
     * @param $condition
     * @param bool|false $asArr
     * @return null|static
     */
    static function findOne($condition)
    {
        $user = UserModel::findOne($condition);
        return $user;
    }

    /**
     * 通过openid查找用户
     * @param $openId
     * @param bool|false $asArr
     * @return null|static
     */
    static function findOneByOpenId($openId)
    {
        $user = UserModel::findOne(["openid" => $openId]);
        return $user;
    }

    /** @inheritdoc */
    public static function findIdentity($condition)
    {
        return UserModel::findByCondition($condition)->one();
    }

    /** @inheritdoc */
    public static function findIdentityByAccessToken($token, $type = null)
    {
        throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.');
    }
}