diff --git a/src/SJZY.Track.Application.Contract/Dtos/Forewarning/AreaCacheEntry.cs b/src/SJZY.Track.Application.Contract/Dtos/Forewarning/AreaCacheEntry.cs index c4de4ba6..4c16c507 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/Forewarning/AreaCacheEntry.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/Forewarning/AreaCacheEntry.cs @@ -5,7 +5,7 @@ public class AreaCacheEntry /// /// 国家或地区 /// - public string Country { get; set; } = null!; + public string CountryCode { get; set; } = null!; /// /// 省份 diff --git a/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningCacheService.cs b/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningCacheService.cs index 88c7582d..445f5639 100644 --- a/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningCacheService.cs +++ b/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningCacheService.cs @@ -180,7 +180,7 @@ public class ForewarningCacheService : IForewarningCacheService, ISingletonDepen { return new AreaCacheEntry { - Country = model.Country, + CountryCode = model.CountryCode, Province = model.Province, City = model.City, LeftPostcode = model.LeftPostcode, diff --git a/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningNotifyService.cs b/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningNotifyService.cs index 692a5646..9fff7ed4 100644 --- a/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningNotifyService.cs +++ b/src/SJZY.Track.Application/Services/ForewarningServices/ForewarningNotifyService.cs @@ -322,7 +322,7 @@ public class ForewarningNotifyService : IForewarningNotifyService, ITransientDep if (!rule.Areas.IsNullOrEmpty()) { var inArea = false; - var areas = rule.Areas!.Where(area => order.ArrivalCountry == area.Country).ToList(); + var areas = rule.Areas!.Where(area => order.ArrivalCountry == area.CountryCode).ToList(); foreach (var area in areas) { if (!area.LeftPostcode.IsNullOrEmpty() && !area.RightPostcode.IsNullOrEmpty()) diff --git a/src/SJZY.Track.Domain/Dtos/Forewarning/KpiAreaInfo.cs b/src/SJZY.Track.Domain/Dtos/Forewarning/KpiAreaInfo.cs index 7df79baf..3b249ffb 100644 --- a/src/SJZY.Track.Domain/Dtos/Forewarning/KpiAreaInfo.cs +++ b/src/SJZY.Track.Domain/Dtos/Forewarning/KpiAreaInfo.cs @@ -7,7 +7,7 @@ public class KpiAreaInfo /// /// 国家或地区 /// - public string Country { get; set; } = null!; + public string CountryCode { get; set; } = null!; /// /// 省份 diff --git a/src/SJZY.Track.Repository/Repositories/KpiAreaRepository.cs b/src/SJZY.Track.Repository/Repositories/KpiAreaRepository.cs index 1563b770..9343b4fc 100644 --- a/src/SJZY.Track.Repository/Repositories/KpiAreaRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/KpiAreaRepository.cs @@ -102,7 +102,7 @@ public class KpiAreaRepository : BasicRepository, IKpiAreaReposi .Select((r, i) => new KpiAreaInfo { AreaId = r.AreaId, - Country = r.CountryCode, + CountryCode = r.CountryCode, LeftPostcode = r.LeftPostcode, City = r.City, Province = r.Province, diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index c308d980..ace340fa 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -65,8 +65,10 @@ public class OrderRepository : BasicRepository, IOrderRepository, I public async Task> GetTrackOrderTypeDictAsync() { const string key = "TrackOrderType"; + var isRefresh = false; var orderTypes = await _memoryCache.GetOrCreateAsync(key, async (entry) => { + isRefresh = true; // 固定时间周期后强制更新 entry.AbsoluteExpirationRelativeToNow = _orderTypeCacheTimeSpan; // 查询主数据 @@ -76,7 +78,8 @@ public class OrderRepository : BasicRepository, IOrderRepository, I }); // 更新redis缓存 - await RedisHelper.Client.HMSetAsync(GlobalConst.TrackOrderTypeKey, orderTypes); + if (isRefresh) + await RedisHelper.Client.HMSetAsync(GlobalConst.TrackOrderTypeKey, orderTypes); // redis内数据只更新不清理 var dict = RedisHelper.Client.HGetAll(GlobalConst.TrackOrderTypeKey);