public IActionResult FindTransactionByUser([FromBody] UserIdReq req) { var res = new SingleRsp(); res = _svc.findTransactionByUser(req.UserId); return(Ok(res)); }
public string GetUserInfoById(UserIdReq req) { var userId = Convert.ToInt32(req.userId); var r = AllFunc.Instance.GetUserInfo(userId); return(JsonConvert.SerializeObject(r)); }
public IActionResult GetBasket([FromBody] UserIdReq req) { var res = new SingleRsp(); res = _svc.GetBasket(req.UserId); return(Ok(res)); }
/// <summary> /// 通过id查找用户 /// </summary> /// <param name="request"></param> /// <param name="context"></param> /// <returns></returns> public override async Task <UserReply> FindById(UserIdReq request, ServerCallContext context) { ApplicationUser user = await userManager.Users.FirstOrDefaultAsync(e => e.Id == request.UserId).ConfigureAwait(false); if (user == null) { throw new RpcException(new Status(StatusCode.NotFound, "用户不存在")); } //如果名字为空,可能是第三方账号登录 name保存在UserClaims表 if (string.IsNullOrEmpty(user.Name)) { //第三方登录提供商 var extendProvider = await applicationDbContext.UserLogins .FirstOrDefaultAsync(e => e.UserId == request.UserId) .ConfigureAwait(false); if (extendProvider != null) { user.Name = $"[{extendProvider.ProviderDisplayName}]" + (await applicationDbContext.UserClaims .FirstOrDefaultAsync(e => e.UserId == request.UserId && e.ClaimType == "name") .ConfigureAwait(false))?.ClaimValue; } } var userReply = mapper.Map <UserReply>(user); return(userReply); }
/// <summary> /// 通过id获取用户拥有的角色 /// </summary> /// <param name="request"></param> /// <param name="context"></param> /// <returns></returns> public override async Task <UserRolesReply> GetRolesOfUser(UserIdReq request, ServerCallContext context) { var user = await userManager.Users.FirstOrDefaultAsync(e => e.Id == request.UserId).ConfigureAwait(false); if (user == null) { throw new RpcException(new Status(StatusCode.NotFound, "用户未找到")); } var roles = await userManager.GetRolesAsync(user).ConfigureAwait(false); UserRolesReply userRolesReply = new UserRolesReply(); userRolesReply.Roles.AddRange(roles); return(userRolesReply); }
/// <summary> /// 根据用户id返回用户的权限列表 /// </summary> /// <param name="request">用户id </param> /// <param name="context"></param> /// <returns></returns> public override async Task <StringListRes> GetUserPermissons(UserIdReq request, ServerCallContext context) { //查出该用户所有的角色id var userRoleIds = await applicationDbContext.UserRoles .Where(e => e.UserId == request.UserId) .Select(e => e.RoleId).ToListAsync().ConfigureAwait(false); //角色claim表中身份包含该权限id List <string> permissonIds = await applicationDbContext.RolePermissons .Where(e => userRoleIds.Contains(e.RoleId)) .Distinct() .Select(e => e.PermissonId) .ToListAsync().ConfigureAwait(false); List <string> permissons = new List <string>(); foreach (var id in permissonIds) { //获取声明类型信息 var permisson = await applicationDbContext.Permissons .AsNoTracking() .FirstOrDefaultAsync(e => e.Id == id && e.Enabled == true) .ConfigureAwait(false); if (permisson != null) { permissons.Add(permisson.Name); } } permissons = permissons.Distinct().ToList(); StringListRes stringListRes = new StringListRes(); stringListRes.Items.AddRange(permissons); return(stringListRes); }