Skip to content

信息平台

/ma/meta_info

一些下拉菜单之类的地方需要的数据,因为不同页面需要的数据不同但是又有些重合,所以把这类数据放在一个接口里,前端可以通过 request 来决定需要哪些数据

method
    GET
request
    stations        bool    O (0 或 1)
    roles           bool    O (0 或 1)
    ma_permissions  bool    O (0 或 1)
response
    {
        data: {
            stations: [ // 登录的加盟商管理员 对应的加盟商 旗下的所有站点
                {
                    id:     str
                    name:   str
                }
            ],
            roles: [
                {
                    id:     int
                    name:   str
                }
            ],
            ma_permissions: [
                {
                    "id": 1,                        // level 1 id
                    "name": "部门",               // level 1 name
                    "content": [
                        {
                            "id": 4,                // level 2 id
                            "name": "部门管理",         // level 2 name
                            "permissions": [
                                {
                                    "id": 4,              // permission id
                                    "name": "增加部门",     // permission name
                                },
                            ]
                        },
                    ]
                },
            ]
        },
        msg: 'OK',
        code: 0,
    }
graphql
    query {
        stations (partner_id: {}) { id name }
        roles (partner_id: {}) { id name }
        permission (partner_id: {}) {
            id
            name
            permission_level2_class {
                id
                name
                permission_level1_class {
                    id
                    name
                }
            }
        }
    }

信息平台,角色管理,按角色查看

/ma/role/search

搜索(ma)角色

method
    GET
request
    search_text O   str 角色名字
response
    {
        "code": 0,
        "data": {
            "roles": [
                {
                    "create_date": null,
                    "name": "saas测试站点",
                    "id": 124,
                    "description": "1"
                },
                {
                    "create_date": "2018-01-05",
                    "name": "好人",
                    "id": 932,
                    "description": "我是好人"
                }
            ]
        },
        "msg": "ok"
    }
graphql
    query {
        roles (partner_id: {}, contain_role_name: {}) {
            id
            name
            create_time
            description
        }
    }

/ma/role/detail

(ma)角色详情

method
    GET
request
    id  M   int     角色 id
response
    {
        "code": 0,
        "data": {
            "role": {
                "name": "好人",
                "permission_ids": [
                    69,
                    106
                ],
                "description": "我是好人"
            }
        },
        "msg": "ok"
    }
graphql
    query {
        role (id: {}) {
            name
            description
            permissions { id }
        }
    }

/ma/role/create

创建(ma)角色

method
    POST
request
    name            M   str
    description     O   str
    permission_ids  M   list of int
response
    {
        data: { id: 123 },
        msg: 'OK',
        code: 0
    }
microservices
    /ma/role/get

/ma/role/update

更新(ma)角色

method
    POST
request
    id              M   int 角色 id
    name            O   str
    description     O   str
    permission_ids  O   list of int
response
    { "code": 0, "msg": "OK", "data": null }
microservices
    /ma/role/update

/ma/role/delete

删除(ma)角色

method
    POST
request
    id  M   int
response
    { "code": 0, "msg": "OK", "data": null }
microservices
    /ma/role/delete

信息平台,角色管理,按权限查看

/ma/role/permission/search

搜索(ma)权限

method
    GET
request
    level_1_id  int     O   一级权限的id,不传代表全部一级权限
    level_2_id  int     O   二级,同上
    search_text string  O   要搜索的权限名,不传代表全部
response
    {
        "code": 0,
        "data": {
            "permissions": [
                {
                    "id": 1,
                    "name": "增加权限",
                    role_names": [  // role_names 最多有 11 条数据
                        "经理1",
                        "经理2",
                        "经理3",
                        "经理4",
                        "经理5",
                        "经理6",
                        "经理7",
                        "经理8",
                        "经理9",
                        "经理10",
                        "经理11"
                    ],
                    "user_count": 23,
                    "role_count": 49,
                    "level_1_name": "用户权限管理",
                    "level_2_name": "权限"
                }
            ]
        },
        "msg": "ok"
    }
logic
    1. user_count 和 role_count 只统计登录用户(MA管理员)所在加盟商下面的
    2. user_count 只统计「有效」的用户,不统计「无效」的用户
graphql
    query {
        permissions (partner_id: {}) {
            id
            name
            permission_level2_class {
                id
                name
                permission_level1_class {
                    id
                    name
                }
            }
            stations {
                id
                name
            }
            roles {
                name
            }
            users {
                id
            }
        }
    }

/ma/role/permission/detail

查看「激活某个(ma)权限的所有(ma)角色」

method
    GET
request
    id              M   int  权限 id
response
    {
        data: {
            roles: [
                {
                    id:     M   int
                    name:   M   str
                }
            ]
        }
        msg: 'OK',
        code: 0,
    }
graphql
    query {
        permission (id: {}) {
            roles {
                id
                name
            }
        }
    }

/ma/role/permission/update

更新「激活某个(ma)权限的所有(ma)角色」
method
    POST
request
    id          M   int             权限 id
    role_ids    M   list of int
response
    { "code": 0, "msg": "OK", "data": null }
microservice
    /ma/role_permission/update

信息平台,用户管理

/ma/user/search

搜索(ma)用户

method
    GET
request
    is_valid    O   bool
    role_id     O   int
    search_text O   str 用户名
    is_admin    O   bool (0 或 1)    是否是管理员
    // 分页
    offset      O   int 默认 0
    limit       O   int 默认 20
response
    {
        data: {
            users: [
                {
                    id              M   int
                    username        M   str
                    // station [       M   list
                    //     {
                    //         id:     M   str
                    //         name:   M   str
                    //     }
                    // ]
                    roles: [
                        {
                            id: 123,
                            name: '角色名'
                        }
                    ],
                    visible_stations: [
                        {
                            id: 'T12345',
                            name: '某某站点'
                        }
                    ],
                    is_admin        M   bool
                    is_sale_manager M   bool    是否是销售管理员
                    name            M   str
                    create_date     M   str or null
                    is_valid        M   bool
                }
            ]
        },
        msg: 'OK',
        code: 0,
    }
logic
    request 里不传的字段代表全部
graphql
    {
        query {
            users {
                id
                name
                username
                is_admin
                is_valid
                role_name
                create_time
                roles {
                    id
                    name
                }
                visible_stations {
                    id
                    name
                }
            }
        }
    }

/ma/user/detail

查看(ma)用户详情

method
    GET
request
    id  M   str
response
    {
        data: {
            id              M   int     user id
            username        M   str     用户名
            // station_id   M   str
            roles: [
                {
                    id: 123,
                    name: '角色名'
                }
            ]
            is_admin        M   bool    是否是管理员
            name            M   str     姓名
            create_date     M   str
            is_valid        M   bool    是否有效
            is_sale_manager M   bool    是否是销售管理员
            phone           M   str
            email           M   str
            card_id         M   str     身份证号码
            visible_stations: [
                {
                    id: 'T123',
                    name: '某某站点'
                }
            ]
            card_emblem_img_url M   str 身份证国徽面的图片 url
            card_photo_img_url  M   str 身份证照片面的图片 url
        },
        msg: 'OK',
        code: 0,
    }
graphql
    {
        user {
            id
            username
            station_id
            is_admin
            name
            phone
            email
            roles {
                id
                name
            }
            visible_stations  {
                id
                name
            }
            is_admin
            name
            phone
            email
            card_id
            is_valid
            card_emblem_img_url
            card_photo_img_url
        }
    }
# TODO 图片在 ma 上传

/ma/user/create

创建(ma)用户

method
    POST
request
    username                M   str
    role_ids                M   list of int
    visible_station_ids     M   list of str
    is_admin                M   bool (0 或 1)
    is_valid                M   bool (0 或 1)
    password                M   str
    name                    O   str
    phone                   O   str
    email                   O   str
    card_id                 O   str 身份证号码
    card_emblem_img         O   str 身份证带国徽一面 id
    card_photo_img          O   str 身份证带相片一面 id (由 image/upload 返回)
    is_sale_manager         M   bool (0 或 1)
response
    {
        data: { id: 123 }  // M int
        msg: 'OK',
        code: 0,
    }
logic
    如果这个用户的 is_admin 为 true,那么他必须是 is_sale_manager
    如果一个用户是 is_sale_manager,那么他未必是 is_admin
microservices
    /ma/user/create

/ma/user/update

更新(ma)用户

method
    POST
request
    id                      M   int
    username                O   str
    role_ids                O   list of int
    visible_station_ids     O   list of str
    is_admin                O   bool (0 或 1)
    is_valid                O   bool (0 或 1)
    password                O   str
    name                    O   str
    phone                   O   str
    email                   O   str
    card_id                 O   str 身份证号码
    card_emblem_img         O   str 身份证带国徽一面 id
    card_photo_img          O   str 身份证带相片一面 id
    is_sale_manager         O   bool (0 或 1)
response
    { "code": 0, "msg": "OK", "data": null }
logic   这些逻辑在微服务端执行
    - 所有非必须的参数,如果不传就代表不修改
    - 当前登录用户不可以修改自己的「username, role_ids, visible_station_ids, is_admin, is_valid」,如果传了这几个字段的话后台会报错
    - 如果这个用户的 is_admin 为 true,那么他必须是 is_sale_manager
      如果一个用户是 is_sale_manager,那么他未必是 is_admin
microservices
    /ma/user/update

/ma/user/delete

删除(ma)用户

method
    POST
request
    id  M   int
response
    { "code": 0, "msg": "OK", "data": null }
logic
    当前登录用户不可以删除自己
microservices
    /ma/user/delete