You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using Mapster;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
using NPin.Framework.Upms.Domain.Entities;
|
|
using NPin.Framework.Upms.Domain.Shared.Etos;
|
|
using Volo.Abp.DependencyInjection;
|
|
using Volo.Abp.Domain.Repositories;
|
|
using Volo.Abp.EventBus;
|
|
|
|
namespace NPin.Framework.Upms.Domain.EventHandlers;
|
|
|
|
public class LoginEventHandler : ILocalEventHandler<LoginEventArgs>, ITransientDependency
|
|
{
|
|
public ILogger<LoginEventHandler> Logger { get; set; }
|
|
private readonly IRepository<LoginLogAggregateRoot> _repository;
|
|
|
|
public LoginEventHandler(IRepository<LoginLogAggregateRoot> repository)
|
|
{
|
|
Logger = NullLogger<LoginEventHandler>.Instance;
|
|
_repository = repository;
|
|
}
|
|
|
|
public async Task HandleEventAsync(LoginEventArgs eventData)
|
|
{
|
|
Logger.LogInformation($"用户[{eventData.UserId}:{eventData.Username}]登录");
|
|
var loginLogEntity = eventData.Adapt<LoginLogAggregateRoot>();
|
|
loginLogEntity.LoginMsg = $"{eventData.Username}登录系统";
|
|
loginLogEntity.LoginUser = eventData.Username;
|
|
loginLogEntity.LoginUserId = eventData.UserId;
|
|
// 插入
|
|
await _repository.InsertAsync(loginLogEntity);
|
|
}
|
|
} |