This commit is contained in:
柳文翔 2024-03-02 15:29:08 +08:00
parent 2d7ed5d2a5
commit 04733815d5
2 changed files with 10 additions and 2 deletions

View File

@ -213,7 +213,10 @@ public class TrackPullService : ApplicationService, ITransientDependency
Expression<Func<TrackPullContentConfigEntity, bool>> isContentAnyExp = x => x.Id != input.Id && x.TrackPullConfigId == input.TrackPullConfigId; Expression<Func<TrackPullContentConfigEntity, bool>> isContentAnyExp = x => x.Id != input.Id && x.TrackPullConfigId == input.TrackPullConfigId;
var trackKeywordExp = Expressionable.Create<TrackPullContentConfigEntity>() var trackKeywordExp = Expressionable.Create<TrackPullContentConfigEntity>()
.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)); }); input.TrackKeywords?.ForEach(item => { trackKeywordExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); });

View File

@ -199,7 +199,12 @@ public class TrackPushService : ApplicationService, ITransientDependency
if (input.Options != OptionTypeNoNull.删除) if (input.Options != OptionTypeNoNull.删除)
{ {
Expression<Func<TrackPushContentConfigEntity, bool>> isContentAnyExp = x => Expression<Func<TrackPushContentConfigEntity, bool>> 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 (input.Options == OptionTypeNoNull.修改) isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id);
if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp)) if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp))