fix 用户信息修改及密码修改的框架bug
This commit is contained in:
@@ -38,6 +38,12 @@ namespace Ewide.Core
|
||||
[ErrorCodeItemMetadata("旧密码输入错误")]
|
||||
D1004,
|
||||
|
||||
/// <summary>
|
||||
/// 新旧密码不可一致
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("新旧密码不可一致")]
|
||||
D10041,
|
||||
|
||||
/// <summary>
|
||||
/// 测试数据禁止更改admin密码
|
||||
/// </summary>
|
||||
|
||||
@@ -1927,6 +1927,11 @@
|
||||
旧密码不匹配
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Ewide.Core.ErrorCode.D10041">
|
||||
<summary>
|
||||
新旧密码不可一致
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Ewide.Core.ErrorCode.D1005">
|
||||
<summary>
|
||||
测试数据禁止更改admin密码
|
||||
@@ -6755,6 +6760,11 @@
|
||||
用户Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Ewide.Core.Service.ChangePasswordUserInput.Id">
|
||||
<summary>
|
||||
用户Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Ewide.Core.Service.ChangePasswordUserInput.Password">
|
||||
<summary>
|
||||
密码
|
||||
@@ -6765,6 +6775,11 @@
|
||||
新密码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Ewide.Core.Service.ChangePasswordUserInput.Confirm">
|
||||
<summary>
|
||||
确认密码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Ewide.Core.Service.UserOutput">
|
||||
<summary>
|
||||
用户参数
|
||||
|
||||
@@ -118,19 +118,31 @@ namespace Ewide.Core.Service
|
||||
|
||||
}
|
||||
|
||||
public class ChangePasswordUserInput : UpdateUserInput
|
||||
public class ChangePasswordUserInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "用户Id不能为空")]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密码
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "旧密码不能为空")]
|
||||
public override string Password { get; set; }
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 新密码
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "新密码不能为空"), Compare(nameof(Password), ErrorMessage = "新旧密码不能一致")]
|
||||
[Required(ErrorMessage = "新密码不能为空")]
|
||||
[StringLength(32, MinimumLength = 5, ErrorMessage = "密码需要大于5个字符")]
|
||||
public string NewPassword { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 确认密码
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "确认密码不能为空"), Compare(nameof(NewPassword), ErrorMessage = "两次密码不一致")]
|
||||
public string Confirm { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,7 +233,12 @@ namespace Ewide.Core.Service
|
||||
public async Task UpdateUserInfo(UpdateUserInput input)
|
||||
{
|
||||
var user = input.Adapt<SysUser>();
|
||||
await user.UpdateAsync();
|
||||
await user.UpdateExcludeAsync(new string[] {
|
||||
nameof(SysUser.Account),
|
||||
nameof(SysUser.Password),
|
||||
nameof(SysUser.AdminType),
|
||||
nameof(SysUser.Status)
|
||||
}, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -247,6 +252,8 @@ namespace Ewide.Core.Service
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
|
||||
if (MD5Encryption.Encrypt(input.Password) != user.Password)
|
||||
throw Oops.Oh(ErrorCode.D1004);
|
||||
if (MD5Encryption.Encrypt(input.NewPassword).Equals(user.Password))
|
||||
throw Oops.Oh(ErrorCode.D10041);
|
||||
user.Password = MD5Encryption.Encrypt(input.NewPassword);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user