示例#1
0
        /// <summary>
        /// 用户个人修改密码
        /// </summary>
        /// <param name="changePwd"></param>
        /// <returns></returns>
        public async Task <bool> ChangePwd(ChangePwdVO changePwd)
        {
            changePwd.oldPassWord = changePwd.oldPassWord.ToMD5();
            changePwd.newPassWord = changePwd.newPassWord.ToMD5();
            changePwd.passwdCheck = changePwd.passwdCheck.ToMD5();
            if (changePwd.UserId == Guid.Empty)
            {
                throw new Exception("用户Id不存在,请重新登录!");
            }
            if (changePwd.newPassWord != changePwd.passwdCheck)
            {
                throw new Exception("两次输入的密码不一致请重新输入!");
            }
            var model = await _userRepositoty.GetModelAsync(changePwd.UserId.Value);


            if (model == null)
            {
                throw new Exception("用户信息不存在,不可修改密码!");
            }
            if (changePwd.oldPassWord != model.Password)
            {
                throw new Exception("输入的旧密码对请重新输入!");
            }
            model.Password = changePwd.newPassWord;
            try
            {
                return(await _userRepositoty.UpdateAsync(model));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <MessageModel <string> > ChangePassword([FromBody] ChangePwdVO changePwd)
        {
            var data = new MessageModel <string>();

            try
            {
                if (changePwd.UserId == Guid.Empty)
                {
                    changePwd.UserId = UserId.Value;
                }
                data.success = await _userserver.ChangePwd(changePwd);

                if (data.success)
                {
                    data.msg = "密码修改成功";
                }
                else
                {
                    data.msg = "密码修改失败";
                }
                return(data);
            }
            catch (Exception ex)
            {
                data.msg = ex.Message;
                return(data);
            }
        }