syntax = "proto3"; package gorpc; option go_package = "code.clickto.dev/nomo-server/go-service-pb/client"; // 根据需要增加状态 import "pb/common.proto"; message SysUserVo { int64 id = 1; // ID string username = 2; // 登录名 string password = 3; // 登录密码 string nickname = 4; // 昵称 string avatar = 5; // 头像 string email = 6; // 邮箱 string phone = 7; // 手机号 string remark = 8; // 备注 BoolInt isSuperAdmin = 9; // 是否为超级管理员 1是 2否 int64 permsLevel = 10; // 权限等级 值越大 权限越小 Status status = 11; // 状态 1正常 2冻结 int64 createTime = 12; // 创建时间 int64 updateTime = 13; // 修改时间 } message SysRoleVo { int64 id = 1; // ID string productCode = 2; // 所属产品 string name = 3; // 角色名 string remark = 4; // 备注 Status status = 5; // 状态 1启用 2禁用 int64 createTime = 6; // 创建时间 int64 updateTime = 7; // 修改时间 int64 permsLevel = 8; // 权限等级 值越大 权限越小 } message SysPermVo { int64 id = 1; // ID string name = 2; // 权限名 string code = 3; // 权限code string remark = 4; // 备注 Status status = 5; // 状态 1启用 2禁用 int64 createTime = 6; // 创建时间 int64 updateTime = 7; // 修改时间 } message SysUserRoleVo { int64 id = 1; // ID int64 userId = 2; // 用户ID int64 roleId = 3; // 角色ID int64 createTime = 4; // 创建时间 int64 updateTime = 5; // 修改时间 } message SysRolePermVo { int64 id = 1; // ID int64 roleId = 2; // 角色ID int64 permId = 3; // 权限ID int64 createTime = 4; // 创建时间 int64 updateTime = 5; // 修改时间 } message SysUserPermVo { int64 id = 1; // ID int64 userId = 2; // 用户ID int64 permId = 3; // 权限ID string effect = 4; // 权限控制策略 ALLOW允许 DENY拒绝 int64 createTime = 5; // 创建时间 int64 updateTime = 6; // 修改时间 } message SysPermRule { int64 permId = 1; string effect = 2; // ALLOW允许 DENY拒绝 } message SysUserWithRoleIdsAndPermRules { SysUserVo user = 1; // 用户信息 repeated int64 roleIds = 2; // 角色 repeated SysPermRule permRules = 3; // 权限 } message SysUserWithRolesAndPerms { SysUserVo user = 1; // 用户信息 repeated SysRoleVo roles = 2; // 角色 repeated SysPermVo perms = 3; // 权限 } message SysUserGetReq { SysUserVo vo = 1; } message SysUserListReq { Page page = 1; SysUserVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserListResp { int64 total = 1; repeated SysUserVo list = 2; } message SysUserListWithRolesAndPermsResp { int64 total = 1; repeated SysUserWithRolesAndPerms list = 2; } message SysRoleWithPermIds { SysRoleVo role = 1; repeated int64 permIds = 2; } message SysRoleWithPerms { SysRoleVo role = 1; repeated SysPermVo perms = 2; } message SysRoleGetReq { SysRoleVo vo = 1; } message SysRoleListReq { Page page = 1; SysRoleVo vo = 2; repeated string productCodes = 3; // 所属产品 repeated int64 excludeIds = 4; // 排除的ID } message SysRoleListResp { int64 total = 1; repeated SysRoleVo list = 2; } message SysRoleListWithPermsResp { int64 total = 1; repeated SysRoleWithPerms list = 2; } message SysPermGetReq { SysPermVo vo = 1; } message SysPermListReq { Page page = 1; SysPermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysPermListResp { int64 total = 1; repeated SysPermVo list = 2; } message SysUserRoleGetReq { SysUserRoleVo vo = 1; } message SysUserRoleListReq { Page page = 1; SysUserRoleVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserRoleListResp { int64 total = 1; repeated SysUserRoleVo list = 2; } message SysRolePermGetReq { SysRolePermVo vo = 1; } message SysRolePermListReq { Page page = 1; SysRolePermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysRolePermListResp { int64 total = 1; repeated SysRolePermVo list = 2; } message SysUserPermGetReq { SysUserPermVo vo = 1; } message SysUserPermListReq { Page page = 1; SysUserPermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserPermListResp { int64 total = 1; repeated SysUserPermVo list = 2; } service GoSysClient { rpc Ping(Request) returns (Response); // 用户管理 rpc SysUserAdd(SysUserVo) returns (SysUserVo); rpc SysUserUpdate(SysUserVo) returns (SysUserVo); rpc SysUserDelete(Ids) returns (Empty); rpc SysUserGet(SysUserGetReq) returns (SysUserVo); rpc SysUserList(SysUserListReq) returns (SysUserListResp); rpc SysUserAddWithRolesAndPerms(SysUserWithRoleIdsAndPermRules) returns (SysUserWithRolesAndPerms); rpc SysUserUpdateWithRolesAndPerms(SysUserWithRoleIdsAndPermRules) returns (SysUserWithRolesAndPerms); rpc SysUserGetWithRolesAndPerms(SysUserGetReq) returns (SysUserWithRolesAndPerms); rpc SysUserListWithRolesAndPerms(SysUserListReq) returns (SysUserListWithRolesAndPermsResp); // 角色管理 rpc SysRoleAdd(SysRoleVo) returns (SysRoleVo); rpc SysRoleUpdate(SysRoleVo) returns (SysRoleVo); rpc SysRoleDelete(Ids) returns (Empty); rpc SysRoleGet(SysRoleGetReq) returns (SysRoleVo); rpc SysRoleList(SysRoleListReq) returns (SysRoleListResp); rpc SysRoleAddWithPerms(SysRoleWithPermIds) returns (SysRoleWithPerms); rpc SysRoleUpdateWithPerms(SysRoleWithPermIds) returns (SysRoleWithPerms); rpc SysRoleGetWithPerms(SysRoleGetReq) returns (SysRoleWithPerms); rpc SysRoleListWithPerms(SysRoleListReq) returns (SysRoleListWithPermsResp); // 权限管理 rpc SysPermAdd(SysPermVo) returns (SysPermVo); rpc SysPermUpdate(SysPermVo) returns (SysPermVo); rpc SysPermDelete(Ids) returns (Empty); rpc SysPermGet(SysPermGetReq) returns (SysPermVo); rpc SysPermList(SysPermListReq) returns (SysPermListResp); // 用户角色管理 rpc SysUserRoleAdd(SysUserRoleVo) returns (SysUserRoleVo); rpc SysUserRoleUpdate(SysUserRoleVo) returns (SysUserRoleVo); rpc SysUserRoleDelete(Ids) returns (Empty); rpc SysUserRoleGet(SysUserRoleGetReq) returns (SysUserRoleVo); rpc SysUserRoleList(SysUserRoleListReq) returns (SysUserRoleListResp); // 角色权限管理 rpc SysRolePermAdd(SysRolePermVo) returns (SysRolePermVo); rpc SysRolePermUpdate(SysRolePermVo) returns (SysRolePermVo); rpc SysRolePermDelete(Ids) returns (Empty); rpc SysRolePermGet(SysRolePermGetReq) returns (SysRolePermVo); rpc SysRolePermList(SysRolePermListReq) returns (SysRolePermListResp); // 用户权限管理 rpc SysUserPermAdd(SysUserPermVo) returns (SysUserPermVo); rpc SysUserPermUpdate(SysUserPermVo) returns (SysUserPermVo); rpc SysUserPermDelete(Ids) returns (Empty); rpc SysUserPermGet(SysUserPermGetReq) returns (SysUserPermVo); rpc SysUserPermList(SysUserPermListReq) returns (SysUserPermListResp); }