diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPull/EditTrackPullContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPull/EditTrackPullContentInput.cs index 4c98f036..a4d9e0f8 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackPull/EditTrackPullContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPull/EditTrackPullContentInput.cs @@ -37,7 +37,7 @@ public class EditTrackPullContentInput /// /// 服务商轨迹状态参数值 /// - public string? TrackStatusValue { get; set; } + public List? TrackStatusValues { get; set; } /// /// 兜底轨迹时区发生地 diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs index 580d2097..c58be118 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs @@ -156,16 +156,27 @@ public class TrackPullService : ApplicationService { Expression> isContentAnyExp = x => x.TrackPullConfigId == input.TrackPullConfigId; - if (input.Options == OptionTypeNoNull.修改) isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id); + + if (input.Options == OptionTypeNoNull.修改) + { + isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id); + } if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentId == input.TrackContentId))) throw new BusinessException(message: _stringLocalizer["IsTrackPullContentAny"]); - if (!input.TrackStatusValue.IsNullOrWhiteSpace() && - await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => - x.TrackStatusValue == input.TrackStatusValue))) - throw new BusinessException(message: _stringLocalizer["IsTrackPullContentStatusValueAny"]); + if (!input.TrackStatusValues.IsNullOrEmpty()) + { + Expression> trackStatusValuesExp = _ => false; + input.TrackStatusValues!.ForEach(item => + { + trackStatusValuesExp = trackStatusValuesExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); + }); + + if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(trackStatusValuesExp))) + throw new BusinessException(message: _stringLocalizer["IsTrackPullContentStatusValueAny"]); + } if (!input.TrackKeywords.IsNullOrEmpty()) { diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs index 06567e95..42ed4681 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs @@ -30,12 +30,6 @@ public class TrackPullContentConfigEntity : IFullAuditedBasicEntitys, IEntity [SugarColumn(ColumnName = "TrackStatusValue")] public string? TrackStatusValue { get; set; } - /// - /// 轨迹发生地参数值(主数据枚举) - /// - [SugarColumn(ColumnName = "TrackPlaceValue")] - public int? TrackPlaceValue { get; set; } - /// /// 轨迹关键词(正向),多个逗分隔 /// @@ -49,7 +43,13 @@ public class TrackPullContentConfigEntity : IFullAuditedBasicEntitys, IEntity public string? TrackKeywordReverse { get; set; } /// - /// 轨迹时区发生地参数值 + /// 兜底轨迹发生地参数值 + /// + [SugarColumn(ColumnName = "TrackPlaceValue")] + public int? TrackPlaceValue { get; set; } + + /// + /// 兜底轨迹时区所属发生地参数值 /// [SugarColumn(ColumnName = "TrackZonePlaceValue")] public int? TrackZonePlaceValue { get; set; } diff --git a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentDetailOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentDetailOutputVO.cs index f8de20f8..952c02ef 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentDetailOutputVO.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentDetailOutputVO.cs @@ -2,17 +2,17 @@ namespace SJZY.Track.Domain.Dtos.TrackPull; public class GetTrackPullContentDetailOutputVO { - /// - /// 轨迹内容代码 - /// - public string Code { get; set; } = null!; - public int Id { get; set; } /// - /// 拉取轨迹内容代码 + /// 轨迹代码 /// - public string? TrackContentCodeValue { get; set; } + public string Code { get; set; } + + /// + /// 轨迹拉取配置id + /// + public int TrackPullConfigId { get; set; } /// /// 轨迹内容id @@ -20,9 +20,14 @@ public class GetTrackPullContentDetailOutputVO public int TrackContentId { get; set; } /// - /// 拉取轨迹内容 + /// 服务商轨迹状态参数值 /// - public string? TrackContentValue { get; set; } + public string? TrackStatusValue { get; set; } + + /// + /// 服务商轨迹状态参数值 + /// + public List? TrackStatusValues { get; set; } /// /// 拉取轨迹关键字(正向) @@ -49,26 +54,6 @@ public class GetTrackPullContentDetailOutputVO /// public int? TrackPlaceValue { get; set; } - /// - /// 轨迹拉取配置id - /// - public int TrackPullConfigId { get; set; } - - /// - /// 拉取轨迹状态 - /// - public string? TrackStatusValue { get; set; } - - /// - /// 拉取轨迹时区 - /// - public double? TrackTimeZone { get; set; } - - /// - /// 是否完结 - /// - public bool IsCompleted { get; set; } - /// /// 轨迹时区兜底地址值 ///