AccessServiceInterface.php 3.11 KB
Newer Older
1 2 3
<?php
/**
 * Created by PhpStorm.
4
 * User: Zero
5 6 7 8
 * Date: 2020/5/26
 * Time: 15:17
 */

9
namespace Meibuyu\Rpc\Service\Interfaces\User;
10 11 12

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

87 88 89 90 91 92 93 94 95
    /**
     * 获取鉴权的用户id列表
     * 不验证业务部门
     * @param int $userId 当前用户id
     * @return array|string 如果是全部用户返回'all'字符串
     * @author zero
     */
    public function getUserIdsWithoutBusiness($userId);

96 97 98 99 100 101 102 103 104 105 106 107 108 109
    /**
     * 通过用户id获取该用户所在部门的所有用户id
     * @param $userId
     * @return array|string 如果是全部用户返回'all'字符串
     */
    public function getDepartmentUserIdsWithId($userId);

    /**
     * 通过部门id获取该部门下面所有用户id
     * @param $departmentId
     * @return mixed
     */
    public function getUserIdWithDepartmentId($departmentId);

110
}