AccessServiceInterface.php 2.44 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
<?php
/**
 * Created by PhpStorm.
 * User: zero
 * Date: 2020/5/26
 * Time: 15:17
 */

namespace Meibuyu\Micro\Service\Interfaces\User;

interface AccessServiceInterface
{
王源's avatar
王源 committed
13

王源's avatar
王源 committed
14 15
    /**
     * 判断用户是否在业务部门(包括子部门)
16
     * @param $userId
王源's avatar
王源 committed
17 18
     * @return mixed
     */
19
    public function isBusinessDepartment($userId);
王源's avatar
王源 committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

    /**
     * 获取用户领导的部门id数组
     * @param $userId
     * @return array
     */
    public function leadDeptIds($userId);

    /**
     * 获取用户领导的团队id数组
     * @param $userId
     * @return array
     */
    public function leadTeamIds($userId);

王源's avatar
王源 committed
35 36 37 38 39 40 41 42 43
    /**
     * 获取鉴权的团队
     * @param $userId
     * @param bool $tree 是否返回树状结构
     * @param bool $noBusiness
     * @return array 已进行keyBy('id')处理,返回树状结构时,keyBy无效
     */
    public function getTeams($userId, $tree = false, $noBusiness = true);

44 45 46 47 48 49 50 51 52
    /**
     * 获取鉴权的团队id数组
     * @param $userId
     * @param bool $checkBusiness 是否验证业务部门(验证时,不是业务部门返回空团队;不验证时,不是业务部门返回all),默认不验证
     * @return array|string 如果是全部团队返回'all'字符串
     * @author Zero
     */
    public function getTeamIds($userId, $checkBusiness = false);

王源's avatar
王源 committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
    /**
     * 获取鉴权的团队带用户
     * @param $userId
     * @param bool $tree 是否返回树状结构
     * @param bool $noBusiness
     * @return array 已进行keyBy('id')处理,返回树状结构时,keyBy无效
     */
    public function getTeamsWithUsers($userId, $tree = false, $noBusiness = true);

    /**
     * 获取鉴权的部门
     * @param $userId
     * @param bool $tree 是否返回树状结构
     * @param bool $withUser 是否带用户数据
     * @return array 已进行keyBy('id')处理,返回树状结构时,keyBy无效
     */
    public function getDepartments($userId, $tree = false, $withUser = false);

王源's avatar
王源 committed
71 72 73 74 75 76 77 78 79
    /**
     * 获取鉴权的岗位
     * @param $userId
     * @param bool $tree 是否返回树状结构
     * @param bool $withUser
     * @return array 已进行keyBy('id')处理,返回树状结构时,keyBy无效
     */
    public function getPositions($userId, $tree = false, $withUser = false);

80 81 82 83 84 85 86
    /**
     * 获取鉴权的用户id列表
     * @param int $userId 当前用户id
     * @return array|string 如果是全部用户返回  'all'字符串
     */
    public function getUserIds($userId);

87
}