irc-netcore-api/IRaCIS.Core.Application/MassTransit/Consumer/AddEntiryTriggerConsumer.cs

27 lines
698 B
C#

using AutoMapper;
using IP2Region.Net.Abstractions;
using IRaCIS.Core.Domain;
using IRaCIS.Core.Domain.Models;
using MassTransit;
namespace IRaCIS.Core.Application.MassTransit.Consumer;
//国家|区域|省份|城市|ISP 缺省的地域信息默认是0
//0|0|0|内网IP|内网IP
// 中国|0|湖北省|武汉市|电信
public class AddUserLogTriggerConsumer(ISearcher _searcher) : IConsumer<AddUserLogTriggerCommand>
{
public async Task Consume(ConsumeContext<AddUserLogTriggerCommand> context)
{
var userLog = context.Message.UserLog;
var ipinfo = _searcher.Search(userLog.IP);
userLog.IPRegion = string.Join('|', ipinfo.Split('|').TakeLast(3));
}
}