Example #1
0
        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 = "修改用户状态失败,请联系管理员"
                });
            }
        }
Example #2
0
        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);
        }