/// <summary> /// 编辑用户 /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task <ResponseBase> EditUser(SaveUserRequest request) { var user = await _sysUserBll.GetSysUser(request.UserId); if (user == null) { return(new ResponseBase().GetResponseError(StatusCode.User40001, "用户不存在")); } if (await _sysUserBll.ExistSysUserByAccount(request.Account, user.UserId)) { return(new ResponseBase().GetResponseError(StatusCode.User40002, "用户帐号已存在")); } if (user.UserRoleId != request.UserRoleId) { var userRole = _sysUserRoleBll.GetSysUserRole(request.UserRoleId); if (userRole == null) { return(new ResponseBase().GetResponseError(StatusCode.UserRole30001, "角色不存在")); } } user.NickName = request.NickName; user.Account = request.Account; user.UserRoleId = request.UserRoleId; user.StatusFlag = request.StatusFlag; await _sysUserBll.UpdateUser(user); return(ResponseBase.Success()); }
/// <summary> /// 通过ID获取用户信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(GetUserRequest request) { var user = await _sysUserBll.GetSysUser(request.UserId); if (user == null) { return(new ResponseBase().GetResponseError(StatusCode.User40001, "用户不存在")); } return(ResponseBase.Success(new UserView(user.UserId, user.UserRoleId, user.NickName, user.Account, user.StatusFlag))); }
/// <summary> /// 改变用户状态 /// </summary> /// <param name="userId"></param> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(ChangeStatusFlagRequest request) { var user = await _sysUserBll.GetSysUser(request.UserId); if (user == null) { return(new ResponseBase().GetResponseError(StatusCode.User40001, "用户不存在")); } await _sysUserBll.SetUserStatusFlag(request.UserId, request.NewStatusFlag); return(ResponseBase.Success()); }
/// <summary> /// 重置用户密码 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(ResetPasswordRequest request) { var user = await _sysUserBll.GetSysUser(request.UserId); if (user == null) { return(new ResponseBase().GetResponseError(StatusCode.User40001, "用户不存在")); } var newPwd = CryptogramHelper.Encrypt3DES(request.NewPassword); await _sysUserBll.ChangePassword(request.UserId, newPwd); return(ResponseBase.Success()); }
/// <summary> /// 修改密码 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(ChangePasswordRequest request) { var user = await _sysUserBll.GetSysUser(request.LoginUserId); var oldPwd = CryptogramHelper.Encrypt3DES(request.OldPassword); if (oldPwd != user.Pwd) { return(new ResponseBase().GetResponseError(StatusCode.User40004, "旧密码不正确")); } var newPwd = CryptogramHelper.Encrypt3DES(request.NewPassword); await _sysUserBll.ChangePassword(request.LoginUserId, newPwd); return(ResponseBase.Success()); }
/// <summary> /// 获取用户数据权限信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(GetUserDataLimitRequest request) { var user = await _sysUserBll.GetSysUser(request.UserId); if (user == null) { return(new ResponseBase(StatusCode.User40001, "用户不存在")); } switch (user.DataLimitType) { case (int)DataLimitTypeEnum.All: return(await GetUserDataLimitAll()); case (int)DataLimitTypeEnum.Area: return(await GetUserDataLimitArea(user.DataLimitArea));; case (int)DataLimitTypeEnum.Shop: return(await GetUserDataLimitShop(user.DataLimitShop)); } return(new ResponseBase().GetResponseError(StatusCode.User40003, "用户数据权限类型错误")); }
/// <summary> /// 用户登录 /// </summary> /// <param name="httpContext"></param> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(HttpContext httpContext, LoginRequest request) { var response = new ResponseBase(); if (!await CheckUserLoginFailedRecord(request.UserAccount)) { return(response.GetResponseError(StatusCode.Login20003, "登录失败次数超过限制")); } if (string.IsNullOrEmpty(request.UserAccount) || string.IsNullOrEmpty(request.UserPassword)) { return(response.GetResponseBadRequest()); } var pwd = CryptogramHelper.Encrypt3DES(request.UserPassword); var user = await _sysUserBll.GetSysUser(request.UserAccount, pwd); if (user == null) { await _sysUserBll.AddUserLoginFailedRecord(request.UserAccount, SystemConfig.UserLoginConfig.LoginFailedMaxCount, SystemConfig.UserLoginConfig.LoginFailedTimeOut); return(response.GetResponseError(StatusCode.Login20001, "帐号或密码错误")); } if (user.StatusFlag == (int)UserStatusFlagEnum.Disable) { return(response.GetResponseError(StatusCode.Login20002, "帐号被禁用")); } var loginView = await GetLoginView(user); var userRole = await _sysUserRoleBll.GetSysUserRole(user.UserRoleId); AppTicket.SetAppTicket(httpContext, user, userRole); await _sysUserBll.UpdateUserLastLoginTime(user.UserId, DateTime.Now); await _sysUserBll.RemoveUserLoginFailedRecord(request.UserAccount); AddUserLoginLog(user); return(response.GetResponseSuccess(loginView)); }