diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs index e78dc0ad..df2e40bd 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs @@ -213,7 +213,10 @@ public class TrackPullService : ApplicationService, ITransientDependency Expression> isContentAnyExp = x => x.Id != input.Id && x.TrackPullConfigId == input.TrackPullConfigId; var trackKeywordExp = Expressionable.Create() - .And(x => x.TrackContentId == input.TrackContentId || x.TrackContentCodeValue == input.TrackContentCodeValue || x.TrackStatusValue == input.TrackStatusValue || x.TrackContentValue == input.TrackContentValue); + .And(x => x.TrackContentId == input.TrackContentId + || (input.TrackContentCodeValue != null && x.TrackContentCodeValue == input.TrackContentCodeValue) + || (input.TrackStatusValue != null && x.TrackStatusValue == input.TrackStatusValue) + || (input.TrackContentValue != null && x.TrackContentValue == input.TrackContentValue)); input.TrackKeywords?.ForEach(item => { trackKeywordExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); }); diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs index 75aa1231..4514d8cd 100644 --- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs +++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs @@ -199,7 +199,12 @@ public class TrackPushService : ApplicationService, ITransientDependency if (input.Options != OptionTypeNoNull.删除) { Expression> isContentAnyExp = x => - x.TrackPushConfigId == input.TrackPushConfigId && (x.TrackContentId == input.TrackContentId || x.TrackContentCodeValue == input.TrackContentCodeValue || x.TrackStatusValue == x.TrackStatusValue || x.TrackContentValue == input.TrackContentValue || x.TrackEnContentValue == input.TrackEnContentValue); + x.TrackPushConfigId == input.TrackPushConfigId + && (x.TrackContentId == input.TrackContentId + || (input.TrackContentCodeValue != null && x.TrackContentCodeValue == input.TrackContentCodeValue) + || (input.TrackStatusValue != null && x.TrackStatusValue == x.TrackStatusValue) + || (input.TrackContentValue != null && x.TrackContentValue == input.TrackContentValue) + || (input.TrackEnContentValue != null && x.TrackEnContentValue == input.TrackEnContentValue)); if (input.Options == OptionTypeNoNull.修改) isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id); if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp))