BaseInfoServiceInterface.php 5.19 KB
Newer Older
王源's avatar
王源 committed
1 2 3 4 5 6 7 8 9 10 11 12 13
<?php
/**
 * Created by PhpStorm.
 * User: 王源
 * Date: 2020/1/9
 * Time: 15:07
 */

namespace Meibuyu\Micro\Service\Interfaces;

interface BaseInfoServiceInterface
{

14 15 16 17 18 19
    /**
     * 通过单个id获取岗位信息
     * @param int $id 职位id
     * @param array $relations 职位的关联信息 支持["position_level","users","parent"
     * ,"children","perms"] 分别是 岗位职级,岗位用户,岗位父级,岗位子集,岗位对应的权限
     * @param array $columns 默认显示所有字段
王源's avatar
王源 committed
20
     * @return array|null
21
     */
王源's avatar
王源 committed
22
    public function getPositionById(int $id, array $relations = [], array $columns = ['*']);
23

王源's avatar
王源 committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
    /**
     * 通过单个id获取岗位数组
     * @param int $id
     * @param array $columns
     * @param array $relations
     * @return array
     */
    public function getPositionListById(int $id, array $columns = ['*'], array $relations = []): array;

    /**
     * 通过id数组获取国家数组
     * @param array $idList
     * @param array $columns
     * @return array
     */
    public function getCountryListByIdList(array $idList, array $columns = ['*']): array;

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
    /**
     * 通过id数组获取团队数组
     * @param array $idList
     * @param array $columns
     * @return array
     */
    public function getTeamListByIdList(array $idList, array $columns = ['id', 'name']): array;

    /**
     * 通过id数组获取站点数组
     * @param array $idList
     * @param array $columns
     * @return array
     */
    public function getSiteListByIdList(array $idList, array $columns = ['id', 'name']): array;

    /**
     * 通过id数组获取货币数组
     * @param array $idList
     * @param array $columns
     * @return array
     */
    public function getCurrencyListByIdList(array $idList, array $columns = ['id', 'name']): array;

梁俊杰's avatar
梁俊杰 committed
65 66
    /**
     * 根据id获取单个数据
67
     * @param int $id 货币id
梁俊杰's avatar
梁俊杰 committed
68
     * @param array $columns 要显示的字段 默认全部 ['id', 'name', 'code', 'symbol']
69
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
70
     */
71
    public function getCurrencyById($id, array $columns = ['id', 'name', 'code', 'symbol']);
梁俊杰's avatar
梁俊杰 committed
72 73 74 75 76

    /**
     * 根据id获取单个数据
     * @param int $id
     * @param array $columns 要显示的字段 默认全部
77
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
78
     */
79
    public function getCountryById($id, array $columns = ['*']);
梁俊杰's avatar
梁俊杰 committed
80 81 82 83 84 85

    /**
     * 获取单个团队数据
     * @param int $id
     * @param array $relations 支持的关联关系 ['leader', 'sites', "users", "parent", "children"] 分别代表 负责人、团队下的站点、团队成员、父级团队,再级团队
     * @param array $columns 要显示的字段 默认['id', 'pid', "name", "leader_user_id", "leader_user_id", "department_id"]
86
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
87
     */
88
    public function getTeamById($id, array $relations = [], array $columns = ['id', 'pid', "name", "leader_user_id", "leader_user_id", "department_id"]);
梁俊杰's avatar
梁俊杰 committed
89 90 91 92 93 94

    /**
     * 获取单个站点数据
     * @param int $id
     * @param array $relations $relations 支持的关联关系 ['team', 'country'] 分别代表 团队、国家、
     * @param array $columns 要显示的字段 默认['id', "name", "url", "country_id", "team_id"]
95
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
96
     */
97
    public function getSiteById($id, array $relations = [], array $columns = ['id', "name", "url", "country_id", "team_id"]);
梁俊杰's avatar
梁俊杰 committed
98 99 100 101 102 103

    /**
     * 根据团队id获取对应的站点列表
     * @param int $teamId 团队id
     * @param array $relations $relations 支持的关联关系 ['team', 'country'] 分别代表 团队、国家、
     * @param array $columns 要显示的字段 默认['id', "name", "url", "country_id", "team_id"]
104
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
105
     */
106
    public function getSiteListByTeamId($teamId, array $relations = [], array $columns = ['id', "name", "url", "country_id", "team_id"]);
107

王源's avatar
王源 committed
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
    /**
     * 返回所有货币数据
     * @param array $columns 显示的字段名称 默认 ['id', 'name', 'code', 'symbol']
     * @return array
     */
    public function currencies(array $columns = ['id', 'name', 'code', 'symbol']): array;

    /**
     * 获取所有国家数据
     * @param array $columns 要显示的字段
     * $columns = ['id', 'name', 'iso_code2', 'iso_code3'];
     * @return array 默认已keyBy('id')
     */
    public function countries(array $columns = ['id', 'name']): array;

    /**
     * 获取所有团队数据
     * @param array $relations 支持的关联关系 ['leader', 'sites', "users", "parent", "children"] 分别代表 负责人、团队下的站点、团队成员、父级团队,再级团队
     * @param array $columns 要显示的字段 默认['id', 'pid', "name", "leader_user_id", "leader_user_id", "department_id"]
     * @return array
     */
    public function teams(array $relations = [], array $columns = ['id', 'pid', "name", "leader_user_id", "leader_user_id", "department_id"]): array;

    /**
     * 获取所有站点的数据
133
     * @param array $relations 支持的关联关系 ['team', 'country'] 分别代表 团队、国家
王源's avatar
王源 committed
134 135 136 137
     * @param array $columns 要显示的字段
     * $columns = ['id', "name", "url", "country_id", "team_id"];
     * @return array 默认已keyBy('id')
     */
138
    public function sites(array $relations = [], array $columns = ['id', "name"]): array;
王源's avatar
王源 committed
139

王源's avatar
王源 committed
140
}