update 允许手机号/邮箱
This commit is contained in:
@@ -136,10 +136,10 @@ namespace Ewide.Core.Service
|
||||
var encryptPasswod = MD5Encryption.Encrypt(password);
|
||||
|
||||
#if DEBUG
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Account.Equals(input.Account));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Account.Equals(input.Account) || u.Phone.Equals(input.Account) || u.Email.Equals(input.Account));
|
||||
#else
|
||||
// 判断用户名和密码是否正确
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Account.Equals(input.Account) && u.Password.Equals(encryptPasswod));
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => (u.Account.Equals(input.Account) || u.Phone.Equals(input.Account) || u.Email.Equals(input.Account)) && u.Password.Equals(encryptPasswod));
|
||||
_ = user ?? throw Oops.Oh(ErrorCode.D1000);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -111,7 +111,21 @@ namespace Ewide.Core.Service
|
||||
// 数据范围检查
|
||||
await CheckDataScope(input);
|
||||
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account, false);
|
||||
var email = input.Email?.ToLower();
|
||||
|
||||
var isExist = await _sysUserRep.AnyAsync(u =>
|
||||
input.Account.Equals(u.Account) ||
|
||||
input.Account.Equals(u.Phone) ||
|
||||
input.Account.Equals(u.Email) ||
|
||||
(!string.IsNullOrWhiteSpace(input.Phone) && (
|
||||
input.Phone.Equals(u.Account) ||
|
||||
input.Phone.Equals(u.Phone)
|
||||
)) ||
|
||||
(!string.IsNullOrWhiteSpace(email) && (
|
||||
email.Equals(u.Account) ||
|
||||
email.Equals(u.Email)
|
||||
))
|
||||
, false);
|
||||
if (isExist) throw Oops.Oh(ErrorCode.D1003);
|
||||
input.Password = CommonConst.DEFAULT_PASSWORD;
|
||||
var user = input.Adapt<SysUser>();
|
||||
@@ -171,8 +185,22 @@ namespace Ewide.Core.Service
|
||||
// 数据范围检查
|
||||
await CheckDataScope(input);
|
||||
|
||||
var email = input.Email?.ToLower();
|
||||
|
||||
// 排除自己并且判断与其他是否相同
|
||||
var isExist = await _sysUserRep.AnyAsync(u => u.Account == input.Account && u.Id != input.Id, false);
|
||||
var isExist = await _sysUserRep.AnyAsync(u =>
|
||||
(input.Account.Equals(u.Account) && !input.Id.Equals(u.Id)) ||
|
||||
input.Account.Equals(u.Phone) ||
|
||||
input.Account.Equals(u.Email) ||
|
||||
(!string.IsNullOrWhiteSpace(input.Phone) && (
|
||||
input.Phone.Equals(u.Account) ||
|
||||
(input.Phone.Equals(u.Phone) && !input.Id.Equals(u.Id))
|
||||
)) ||
|
||||
(!string.IsNullOrWhiteSpace(email) && (
|
||||
email.Equals(u.Account) ||
|
||||
(email.Equals(u.Email) && !input.Id.Equals(u.Id))
|
||||
))
|
||||
, false);
|
||||
if (isExist) throw Oops.Oh(ErrorCode.D1003);
|
||||
|
||||
var user = input.Adapt<SysUser>();
|
||||
|
||||
Reference in New Issue
Block a user