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#

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);
}
}