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 { public async Task Consume(ConsumeContext context) { var userLog = context.Message.UserLog; var ipinfo = _searcher.Search(userLog.IP); userLog.IPRegion = string.Join('|', ipinfo.Split('|').TakeLast(3)); } }