@page "/EditPasswordDialog"
@using MasaBlazorApp3.Pojo.Config;
@using MasaBlazorApp3.Pojo.Vo;
@using MasaBlazorApp3.Util;
@using Microsoft.Extensions.Options;
@using Newtonsoft.Json;
@using log4net;
@*
@if (userI == 1)
{
操作人 @globalStateService.Operator?.NickName
正在修改密码
}
else if (userI == 2)
{
复核人 @globalStateService.Reviewer?.NickName
正在修改密码
}
*@
@*
密码修改
*@
@code {
@inject NotificationService _message
@inject GlobalStateService globalStateService;
@inject IUserDao userDao;
@inject Radzen.DialogService dialogService;
private Pojo.User loginModel = new();
private readonly ILog logger = LogManager.GetLogger(typeof(LoginDialog));
[Parameter] public int userI { get; set; }
private void Submit(Pojo.User user)
{
if (userI == 1)
{
user.Username = globalStateService.Operator.Username;
}
else if (userI == 2)
{
user.Username = globalStateService.Reviewer.Username;
}
else
{
return;
}
Pojo.User u = userDao.GetByUsername(loginModel.Username);
if (u != null)
{
if (Util.MD5.GetMD5Hash(loginModel.OldPassword).ToLower().Equals(u.Password))
{
u.Password = loginModel.Password;
bool iRet=userDao.UpdateUserPassword(u);
if (iRet)
{
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Success, Summary = "提示", Detail = $"修改完成,退出后登录请使用新密码", Duration = 4000 });
logger.Error($"{loginModel.Username}修改密码失败,数据{JsonConvert.SerializeObject(u)}");
// 关闭弹窗
dialogService.Close(false);
}
else
{
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"修改失败", Duration = 4000 });
logger.Error($"{loginModel.Username}修改密码失败,数据{JsonConvert.SerializeObject(u)}");
// 关闭弹窗
dialogService.Close(false);
}
}
else
{
_message.Notify(
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"原密码错误", Duration = 4000 }
);
logger.Info($"用户【{u.Username}】修改密码,原密码输入错误");
}
}
else
{
_message.Notify(
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"无此用户", Duration = 4000 }
);
logger.Info($"修改密码没有用户:【{loginModel.Username}】");
}
}
private void Exit()
{
dialogService.Close(false);
}
}