27 lines
698 B
C#
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));
|
|
|
|
}
|
|
}
|