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; } /// /// 订单路径