diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
index c58be118..037fed24 100644
--- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
@@ -1,4 +1,5 @@
using System.Linq.Expressions;
+using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Localization;
using SJZY.Expand.ABP.Core.Localization;
using SJZY.Expand.ABP.Core.PublicMethords;
@@ -82,9 +83,11 @@ public class TrackPullService : ApplicationService
/// 轨迹拉取配置编辑
///
///
+ ///
///
[HttpPost("Edit")]
- public async Task EditAsync([FromBody] EditTrackPullConfigInput input)
+ public async Task EditAsync([FromBody] EditTrackPullConfigInput input,
+ [FromServices] IConfiguration configuration)
{
if (input.PullInterval < 60) input.PullInterval = 60;
@@ -104,6 +107,27 @@ public class TrackPullService : ApplicationService
{
var trackPullEntity = ObjectMapper.Map(input);
+ if (input.ParseMethod == (int) ParseMethod.InterfaceRelay)
+ {
+ var paramsConfig = configuration.GetSection("InterfaceRelayParamsConfig")
+ .Get>();
+ if (paramsConfig == null)
+ {
+ throw new BusinessException(message: "未找到接口通参数配置,联系管理员添加");
+ }
+
+ trackPullEntity.OrderPath = paramsConfig[nameof(trackPullEntity.OrderPath)];
+ trackPullEntity.OrderNoName = paramsConfig[nameof(trackPullEntity.OrderNoName)];
+ trackPullEntity.TrackDetailsPath = paramsConfig[nameof(trackPullEntity.TrackDetailsPath)];
+ trackPullEntity.TrackContentCodeName =
+ paramsConfig[nameof(trackPullEntity.TrackContentCodeName)];
+ trackPullEntity.TrackStatusName = paramsConfig[nameof(trackPullEntity.TrackStatusName)];
+ trackPullEntity.TrackContentName = paramsConfig[nameof(trackPullEntity.TrackContentName)];
+ trackPullEntity.TrackPlaceName = paramsConfig[nameof(trackPullEntity.TrackPlaceName)];
+ trackPullEntity.TrackTimeName = paramsConfig[nameof(trackPullEntity.TrackTimeName)];
+ trackPullEntity.TrackTimeZoneName = paramsConfig[nameof(trackPullEntity.TrackTimeZoneName)];
+ }
+
var id = await _trackPullConfigRepository.InsertReturnIdentityAsync(trackPullEntity);
await _trackPullCacheService.SetPullConfigAsync(id);
diff --git a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs
index 91090c6c..b4b614d7 100644
--- a/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs
+++ b/src/SJZY.Track.Application/Validations/TrackPull/EditTrackPullConfigInputValidation.cs
@@ -1,4 +1,4 @@
-using FluentValidation;
+using FluentValidation;
using Microsoft.Extensions.Localization;
using SJZY.Expand.ABP.Core.Localization;
using SJZY.Track.Application.Contract.Dtos.TrackPull;
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/ParseMethod.cs b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/ParseMethod.cs
new file mode 100644
index 00000000..96df3144
--- /dev/null
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/ParseMethod.cs
@@ -0,0 +1,17 @@
+namespace SJZY.Track.Domain.Aggregates.TrackPullAggregate;
+
+///
+/// 解析方式
+///
+public enum ParseMethod
+{
+ ///
+ /// 接口通映射后
+ ///
+ InterfaceRelay = 1,
+
+ ///
+ /// 服务商原返回
+ ///
+ ServiceProviderOriginal = 2
+}
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullConfigEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullConfigEntity.cs
index 269816ca..5862d0f7 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullConfigEntity.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullConfigEntity.cs
@@ -34,7 +34,7 @@ public class TrackPullConfigEntity : IFullAuditedBasicEntitys, IAggregateRoot
/// 解析方式,1取接口通返参映射后的,2取服务商原返参
///
[SugarColumn(ColumnName = "ParseMethod")]
- public int ParseMethod { get; set; }
+ public ParseMethod ParseMethod { get; set; }
///
/// 订单路径