Esempio n. 1
0
        /// <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());
        }
Esempio n. 2
0
        /// <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)));
        }
Esempio n. 3
0
        /// <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());
        }
Esempio n. 4
0
        /// <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());
        }
Esempio n. 5
0
        /// <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());
        }
Esempio n. 6
0
        /// <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, "用户数据权限类型错误"));
        }
Esempio n. 7
0
        /// <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));
        }