|
@@ -307,16 +307,20 @@ namespace Hotline.Application.Knowledge
|
|
exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, keywordEntity.Id));
|
|
exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, keywordEntity.Id));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- sugar.Where(exp.ToExpression());
|
|
|
|
|
|
+ sugar = sugar.Where(exp.ToExpression());
|
|
}
|
|
}
|
|
if (dto.Content.NotNullOrEmpty())
|
|
if (dto.Content.NotNullOrEmpty())
|
|
{
|
|
{
|
|
var keywords = dto.Content!.GetSegment();
|
|
var keywords = dto.Content!.GetSegment();
|
|
- var keywordIds = _knowledgeWordRepository.Queryable()
|
|
|
|
|
|
+ var exp = Expressionable.Create<KnowledgeBase.Knowledge>();
|
|
|
|
+ _knowledgeWordRepository.Queryable()
|
|
.Where(m => keywords.Contains(m.Tag) && m.IsEnable == 0)
|
|
.Where(m => keywords.Contains(m.Tag) && m.IsEnable == 0)
|
|
.Select(m => m.Id)
|
|
.Select(m => m.Id)
|
|
- .ToList();
|
|
|
|
- sugar = sugar.Where(x => SqlFunc.JsonArrayAny(x.Keywords, keywordIds));
|
|
|
|
|
|
+ .ToList()
|
|
|
|
+ .ForEach(m =>
|
|
|
|
+ exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, m))
|
|
|
|
+ );
|
|
|
|
+ sugar = sugar.Where(exp.ToExpression());
|
|
}
|
|
}
|
|
|
|
|
|
switch (dto.Sort)
|
|
switch (dto.Sort)
|