diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchDeleteTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchDeleteTrackInput.cs
index 5616f912..0a79e008 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchDeleteTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchDeleteTrackInput.cs
@@ -2,21 +2,8 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
-public class BatchDeleteTrackInput
+public class BatchDeleteTrackInput : OrderNosInfo
{
- ///
- /// 订单类型,必填
- ///
- [Required]
- [Range(1, int.MaxValue)]
- public int OrderType { get; set; }
-
- ///
- /// 订单号,必填
- ///
- [Required]
- public List OrderNos { get; set; } = new();
-
///
/// 轨迹code,必填
///
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs
new file mode 100644
index 00000000..fa5d3880
--- /dev/null
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs
@@ -0,0 +1,33 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
+
+public class BatchUpsertTrackInput : OrderNosInfo
+{
+ ///
+ /// 轨迹内容代码
+ ///
+ [Required]
+ [MaxLength(50)]
+ public string TrackCode { get; set; } = null!;
+
+ ///
+ /// 轨迹发生地
+ ///
+ [Required]
+ [MaxLength(200)]
+ public string TrackPlace { get; set; } = null!;
+
+ ///
+ /// 轨迹发生时间
+ ///
+ [Required]
+ public DateTime? TrackTime { get; set; }
+
+ ///
+ /// 轨迹发生时区
+ ///
+ [Required]
+ [Range(-12, 12)]
+ public float? TrackTimeZone { get; set; }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs
index 598ee759..8fa3dec0 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs
@@ -2,20 +2,8 @@ using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
-public class GetTrackInput
+public class GetTrackInput : OrderNosInfo
{
- ///
- /// 订单类型
- ///
- [Required]
- [Range(1, int.MaxValue)]
- public int OrderType { get; set; }
-
- ///
- /// 订单号
- ///
- public List OrderNos { get; set; } = new();
-
///
/// 时区 +8 +8.25 -8.5 -9
/// 不传默认+8
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/OrderNoInfo.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/OrderNoInfo.cs
index eda65e4a..3ec49a17 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/OrderNoInfo.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/OrderNoInfo.cs
@@ -17,4 +17,20 @@ public class OrderNoInfo
[Required]
[MaxLength(100)]
public string OrderNo { get; set; } = null!;
+}
+
+public class OrderNosInfo
+{
+ ///
+ /// 订单类型
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int OrderType { get; set; }
+
+ ///
+ /// 订单号
+ ///
+ [Required]
+ public List OrderNos { get; set; } = new();
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
index b62cf77b..8248c8e0 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
@@ -30,18 +30,4 @@ public class UpsertTrackInput : OrderNoInfo
[Required]
[Range(-12, 12)]
public float? TrackTimeZone { get; set; }
-}
-
-public class NotNullAttribute : ValidationAttribute
-{
- protected override ValidationResult IsValid(object value, ValidationContext validationContext)
- {
- if (value == null)
- {
- return new ValidationResult(ErrorMessage ?? "The field is required.",
- new[] { validationContext.MemberName });
- }
-
- return ValidationResult.Success;
- }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj
index 0a863be2..f13ee0b2 100644
--- a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj
+++ b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj
@@ -4,7 +4,9 @@
net7.0
+ True
1.0.0
+ True
diff --git a/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs
index 55bb5b1d..5fa44212 100644
--- a/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs
+++ b/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs
@@ -29,7 +29,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
{
if (@event.Visited.Contains(@event.OrderId))
{
- LogHelper.Error($"轨迹订单循环依赖预警:{@event.Visited.JoinAsString(",")}");
+ LogHelper.Error($"删除轨迹订单时,发现循环依赖:{@event.Visited.JoinAsString(",")}");
return;
}
diff --git a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs
index 50cabb23..e898fcf7 100644
--- a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs
+++ b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs
@@ -1,4 +1,5 @@
-using System.Linq.Expressions;
+using System.Diagnostics;
+using System.Linq.Expressions;
using DotNetCore.CAP;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -94,47 +95,71 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
var trackUpsertEvent = @event.DeepCopy();
var paramConfig = config.ParamConfig;
var contentConfigs = config.ContentConfigs;
- TrackPullContentConfigDto? trackContent = null;
+ TrackPullContentConfigDto? matchedContentConfig = null;
// 1、匹配轨迹代码
- var serviceProviderTrackCode = trackToken[paramConfig.TrackContentCodeName]?.Value();
- if (!serviceProviderTrackCode.IsNullOrWhiteSpace())
+ var trackCode = trackToken[paramConfig.TrackContentCodeName]?.Value();
+ if (!trackCode.IsNullOrWhiteSpace())
{
- trackContent = contentConfigs.FirstOrDefault(x => x.TrackContentCodeValue == serviceProviderTrackCode);
+ matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackContentCodeValue == trackCode);
}
// 2、匹配轨迹状态
- if (trackContent is null)
+ if (matchedContentConfig is null)
{
- var serviceProviderTrackStatus = trackToken[paramConfig.TrackStatusName]?.Value();
- if (!serviceProviderTrackStatus.IsNullOrWhiteSpace())
+ var trackStatus = trackToken[paramConfig.TrackStatusName]?.Value();
+ if (!trackStatus.IsNullOrWhiteSpace())
{
- trackContent = contentConfigs.FirstOrDefault(x => x.TrackStatusValue == serviceProviderTrackCode);
+ matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackStatusValue == trackCode);
}
}
// 3、匹配轨迹内容
- if (trackContent is null)
+ if (matchedContentConfig is null)
{
- var serviceProviderTrackContent = trackToken[paramConfig.TrackContentName]?.Value();
- if (!serviceProviderTrackContent.IsNullOrWhiteSpace())
+ var trackContent = trackToken[paramConfig.TrackContentName]?.Value();
+ if (!trackContent.IsNullOrWhiteSpace())
{
- trackContent = contentConfigs.FirstOrDefault(x => x.TrackContentValue == serviceProviderTrackCode);
+ Debug.Assert(trackContent != null, nameof(trackContent) + " != null");
+ matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackContentValue == trackCode);
- // 3.1、按关键字匹配
- if (trackContent is null)
+ // 按关键字分析轨迹内容
+ if (matchedContentConfig is null)
{
+ foreach (var contentConfig in contentConfigs)
+ {
+ foreach (var keyword in contentConfig.TrackKeyword?.Split(',') ?? Enumerable.Empty())
+ {
+ if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
+ {
+ matchedContentConfig = contentConfig;
+ break;
+ }
+ }
+
+ if (matchedContentConfig is null) continue;
+
+ foreach (var keyword in contentConfig.TrackKeywordReverse?.Split(',') ??
+ Enumerable.Empty())
+ {
+ if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
+ {
+ matchedContentConfig = null;
+ break;
+ }
+ }
+ }
}
}
}
- if (trackContent is null) return;
+ if (matchedContentConfig is null) return;
var trackPlace = trackToken[paramConfig.TrackPlaceName]?.Value();
if (trackPlace.IsNullOrWhiteSpace())
{
Expression> resultExpression =
- (TrackLocationValue?)trackContent.TrackPlaceValue switch
+ (TrackLocationValue?)matchedContentConfig.TrackPlaceValue switch
{
TrackLocationValue.ArrivalPort => x => x.ArrivalPort,
TrackLocationValue.ArriveCity => x => x.ArrivalCity,
@@ -149,11 +174,11 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
}
// 新增/更新轨迹
- trackUpsertEvent.TrackCode = trackContent.TrackContentCode;
+ trackUpsertEvent.TrackCode = matchedContentConfig.TrackContentCode;
trackUpsertEvent.TrackPlace = trackPlace ?? "CN";
trackUpsertEvent.TrackTime = trackToken[paramConfig.TrackTimeName]?.Value() ?? DateTime.Now;
trackUpsertEvent.TrackTimeZone = trackToken[paramConfig.TrackTimeZoneName]?.Value() ??
- trackContent.TrackTimeZoneValue ?? 8;
+ matchedContentConfig.TrackTimeZoneValue ?? 8;
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, trackUpsertEvent);
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/SJZY.Track.Application.csproj b/src/SJZY.Track.Application/SJZY.Track.Application.csproj
index d2b2eafd..da60d1a4 100644
--- a/src/SJZY.Track.Application/SJZY.Track.Application.csproj
+++ b/src/SJZY.Track.Application/SJZY.Track.Application.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.Link.cs b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.Link.cs
index 5c35b728..51f50f3b 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.Link.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.Link.cs
@@ -14,6 +14,12 @@ public partial class OrderService
private readonly IBasicQuery _orderLinkQuery;
private readonly ICapPublisher _capPublisher;
+ ///
+ /// 关联、解除关联订单
+ ///
+ ///
+ ///
+ ///
[HttpPost("Order/Link")]
public async Task LinkOrderAsync(LinkOrderInput input)
{
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs
index 5c56337d..765ff6ad 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.cs
@@ -24,6 +24,11 @@ public partial class OrderService : ApplicationService, IOrderService
_orderLinkQuery = orderLinkQuery;
}
+ ///
+ /// 新增、更新订单(存在就更新)
+ ///
+ ///
+ ///
[HttpPost("Order/Upsert")]
public async Task UpsertAsync(UpsertOrderInput input)
{
@@ -45,6 +50,12 @@ public partial class OrderService : ApplicationService, IOrderService
return "创建成功";
}
+ ///
+ /// 删除订单
+ ///
+ ///
+ ///
+ ///
[HttpPost("Order/Delete")]
public async Task DeleteOrderAsync(DeleteOrderInput input)
{
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs
index 66625f36..2e1dd08b 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs
@@ -15,10 +15,10 @@ namespace SJZY.Track.Application.Services.ProvideServices;
public class TrackPushPullService : ApplicationService
{
private readonly IOrderRepository _orderRepository;
- private readonly IHttpClientProxy _httpClientProxy;
+ private readonly IHttpClientProxy _httpClientProxy;
public TrackPushPullService(IOrderRepository orderRepository,
- IHttpClientProxy httpClientProxy)
+ IHttpClientProxy httpClientProxy)
{
_orderRepository = orderRepository;
_httpClientProxy = httpClientProxy;
@@ -51,7 +51,7 @@ public class TrackPushPullService : ApplicationService
// 批量获取轨迹
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
- "A012", group.Key.ServiceProviderCode, 42, data,
+ "A012", group.Key.ServiceProviderCode, data,
GlobalConst.TrackRefreshSubscribe, JsonConvert.SerializeObject(group.Key));
}
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs
index 372d3f01..35237196 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs
@@ -10,6 +10,12 @@ public partial class TrackService
{
private readonly ITrackDetailsRepository _trackDetailsRepository;
+ ///
+ /// 查询轨迹
+ ///
+ ///
+ ///
+ ///
[HttpPost("Track/Query")]
public async Task> QueryAsync(GetTrackInput input)
{
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs
index 7c84dbc3..fbd0fd99 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs
@@ -29,6 +29,12 @@ public partial class TrackService : ApplicationService, ITrackService
_trackDetailsRepository = trackDetailsRepository;
}
+ ///
+ /// 新增、更新轨迹(存在就更新)
+ ///
+ ///
+ ///
+ ///
[HttpPost("Track/Upsert")]
public async Task UpsertTrackAsync(UpsertTrackInput input)
{
@@ -52,24 +58,68 @@ public partial class TrackService : ApplicationService, ITrackService
return true;
}
+ ///
+ /// 批量新增、更新轨迹
+ ///
+ ///
+ ///
+ ///
+ [HttpPost("Track/BatchUpsert")]
+ public async Task BatchUpsertTrackAsync(BatchUpsertTrackInput input)
+ {
+ input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
+ if (input.OrderNos.Count == 0)
+ {
+ throw new BusinessException(message: "订单一个都不存在");
+ }
+
+ var orders = await _orderRepository.GetListAsync(x =>
+ x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => new
+ {
+ x.Id, x.OrderNo, x.SubSystemId, x.IsPushCompleted, x.CustomId
+ });
+
+ foreach (var order in orders)
+ {
+ // 新增/更新轨迹
+ var @event = new TrackUpsertEvent
+ {
+ TrackCode = input.TrackCode,
+ TrackPlace = input.TrackPlace,
+ TrackTime = input.TrackTime,
+ TrackTimeZone = input.TrackTimeZone,
+ OrderType = input.OrderType,
+ OrderNo = order.OrderNo,
+ OrderId = order.Id,
+ SubSystemId = order.SubSystemId,
+ IsPushCompleted = order.IsPushCompleted,
+ CustomId = order.CustomId
+ };
+ await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event);
+ }
+
+ return true;
+ }
+
+ ///
+ /// 删除轨迹
+ ///
+ ///
+ ///
+ ///
[HttpPost("Track/Delete")]
public async Task DeleteTrackAsync(DeleteTrackInput input)
{
var order = await _orderRepository.GetFirstAsync(x =>
x.OrderType == input.OrderType && x.OrderNo == input.OrderNo, x => new
{
- x.Id, x.SubSystemId, x.IsCompleted
+ x.Id, x.SubSystemId
});
if (order == default)
{
throw new BusinessException(message: $"订单:{input.OrderNo}不存在");
}
- if (order.IsCompleted)
- {
- throw new BusinessException(message: $"订单:{input.OrderNo}已完成无法删除轨迹");
- }
-
var codes = await _provideQueries.GetCanDeleteTrackCodesAsync(new List(order.Id), input.TrackCodes);
if (codes.Count == 0)
@@ -89,6 +139,12 @@ public partial class TrackService : ApplicationService, ITrackService
return true;
}
+ ///
+ /// 批量删除轨迹
+ ///
+ ///
+ ///
+ ///
[HttpPost("Track/BatchDelete")]
public async Task BatchDeleteTrackAsync(BatchDeleteTrackInput input)
{
diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs
index 0367196b..168dae3a 100644
--- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullCacheService.cs
@@ -34,7 +34,9 @@ public class TrackPullCacheService : ApplicationService, ITrackPullCacheService,
{
var data = new TrackPullConfigDto();
- Expression> exp = x => id.HasValue ? x.Id == id : x.SubSystemId == subSystemId && x.ServiceProviderId == serviceProviderId;
+ Expression> exp = x =>
+ (!id.HasValue || x.Id == id) && (id.HasValue || (x.SubSystemId == subSystemId && x.ServiceProviderId == serviceProviderId));
+
var trackPullConfigEntity = await _trackPullConfigRepository.GetFirstAsync(exp);
if (trackPullConfigEntity == null) return data;
diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
index 90f6bbcb..61f2cb2d 100644
--- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
@@ -167,7 +167,7 @@ public class TrackPullService : ApplicationService, ITransientDependency
///
///
[HttpPost("EditContent")]
- public async Task UpdateContentAsync([FromBody] EditTrackPullContentInput input)
+ public async Task EditContentAsync([FromBody] EditTrackPullContentInput input)
{
if (input.Options != OptionTypeNoNull.删除)
{
diff --git a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs
new file mode 100644
index 00000000..dcf6ff1c
--- /dev/null
+++ b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullContentInputValidation.cs
@@ -0,0 +1,33 @@
+using FluentValidation;
+using Microsoft.Extensions.Localization;
+using SJZY.Expand.ABP.Core.Localization;
+using SJZY.Track.Application.Contract.Dtos.TrackPull;
+using SJZY.Track.Application.Localization;
+
+namespace SJZY.Track.Application.Validations.TrackPull;
+
+public class EditTrackPullContentInputValidation : AbstractValidator, IValidationEnabled
+{
+ public EditTrackPullContentInputValidation(IStringLocalizer stringLocalizer)
+ {
+ RuleFor(x => x.Options).IsInEnum().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum, nameof(EditTrackPullContentInput.Options)]);
+
+ RuleFor(x => x.Id).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.Id), 0]);
+
+ RuleFor(x => x.TrackContentId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.TrackContentId), 0]);
+
+ RuleFor(x => x.TrackPullConfigId).GreaterThan(0).WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_GreaterThan, nameof(EditTrackPullContentInput.TrackPullConfigId), 0]);
+
+ When(x => x.Options != OptionTypeNoNull.新增, () =>
+ {
+ RuleFor(x => x.Id).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.Id)]);
+ });
+
+ When(x => x.Options != OptionTypeNoNull.删除, () =>
+ {
+ RuleFor(x => x.TrackContentId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.TrackContentId)]);
+
+ RuleFor(x => x.TrackPullConfigId).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackPullContentInput.TrackPullConfigId)]);
+ });
+ }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs
index 4fd13bbd..bd73f920 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullConfigPageOutputVO.cs
@@ -18,4 +18,9 @@ public class GetTrackPullConfigPageOutputVO
/// 子系统名称
///
public string SubSystem { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs
index ba01bf5e..01550b7f 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigPageOutputVO.cs
@@ -18,4 +18,9 @@ public class GetTrackPushConfigPageOutputVO
/// 子系统名称
///
public string SubSystem { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj
index b1f4dc63..cb0a715f 100644
--- a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj
+++ b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj
@@ -4,6 +4,7 @@
net7.0
+ True
diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
index e6aae4f0..99290105 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
@@ -1,4 +1,3 @@
-using Elasticsearch.Net;
using Nest;
using SJZY.Expand.ABP.Core.Logger;
using SJZY.Expand.ElasticSearch.Services;
@@ -40,7 +39,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract request
.Index(index.IndexName)
- .Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见
+ //.Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见
);
if (!r.IsValid)
diff --git a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
index 5f71c4c2..b3267e8a 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
@@ -25,6 +25,7 @@ public class TrackPullConfigRepository : BasicRepository,
.Select((trackPull, system, service) => new GetTrackPullConfigPageOutputVO
{
Id = trackPull.Id,
+ SubSystemId = system.Id,
SubSystem = system.CnName,
ServiceProvider = service.Name,
CreateTime = trackPull.CreateTime
diff --git a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
index a04a0ac2..e58b1020 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
@@ -28,6 +28,7 @@ public class TrackPushConfigRepository : BasicRepository,
.Select((trackPush, system, externalSubject) => new GetTrackPushConfigPageOutputVO
{
Id = trackPush.Id,
+ SubSystemId = system.Id,
SubSystem = system.CnName,
CustomName = externalSubject.Abbreviation,
CreateTime = trackPush.CreateTime