public async Task <BaseResponse> UpdateUserStatusAsync(UserStatusUpDateViewModel req, string account) { var userInfo = _user.Find(req.Id); if (userInfo == null) { return(new BaseResponse { Success = false, Message = "该用户不存在" }); } try { userInfo.Status = (UserStatus)req.Status; userInfo.Modify = account; userInfo.ModifyTime = DateTime.Now; await _user.SaveAsync(userInfo); _log.LogInformation($"{account}修改用户{req.Id}的状态为{req.Status}"); return(new BaseResponse { Success = true, Message = "修改用户状态成功" }); } catch (Exception ex) { _log.LogError($"{ account}修改id为{req.Id}的状态{req.Status}失败,失败原因:" + ex.StackTrace + "->" + ex.InnerException + "->" + ex.Message); return(new BaseResponse { Success = false, Message = "修改用户状态失败,请联系管理员" }); } }
public async Task <ActionResult <BaseResponse> > UpdateUserStatus(UserStatusUpDateViewModel req) { //该组织管理员有权限 var GroupId = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value; var isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false; string Code = User.Claims.FirstOrDefault(a => a.Type == "Code").Value; //获取用户所在的组标示 string GId = await _us.GetUserGroupAsync(req.Id); if (!(isAdmin && (GroupId == GId || Code == _config["Group"]))) { return(new BaseResponse { Success = false, Message = "用户没有权限" }); } var Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value; var rm = await _us.UpdateUserStatusAsync(req, Account); return(rm); }