tangjiang 1 сар өмнө
parent
commit
0d3a970648

+ 12 - 32
src/Hotline.Application/Knowledge/KnowApplication.cs

@@ -453,39 +453,19 @@ namespace Hotline.Application.Knowledge
                 var exp = Expressionable.Create<KnowledgeBase.Knowledge>();
                 foreach (var keyword in keywords)
                 {
-                    if (_appOptions.Value.IsZiGong)
+                    if (dto.RetrievalType == EKnowledgeRetrievalType.All)
+                        exp.Or(x => x.Title.Contains(keyword) || x.Content.Contains(keyword));
+                    if (dto.RetrievalType == EKnowledgeRetrievalType.Title)
+                        exp.Or(x => x.Title.Contains(keyword));
+                    if (dto.RetrievalType == EKnowledgeRetrievalType.Content)
+                        exp.Or(x => x.Content.Contains(keyword));
+                    if (dto.RetrievalType == EKnowledgeRetrievalType.Summary)
+                        exp.Or(x => x.Summary != null && x.Summary.Contains(keyword));
+                    if (dto.RetrievalType == EKnowledgeRetrievalType.KeyWord)
                     {
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.All)
-                            exp.And(x => x.Title.Contains(keyword) || x.Content.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Title)
-                            exp.And(x => x.Title.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Content)
-                            exp.And(x => x.Content.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Summary)
-                            exp.And(x => x.Summary != null && x.Summary.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.KeyWord)
-                        {
-                            var keywordEntity = await _knowledgeWordRepository.GetAsync(m => m.Tag == keyword && m.IsEnable == 1);
-                            if (keywordEntity is null) continue;
-                            exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, keywordEntity.Id));
-                        }
-                    }
-                    else
-                    {
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.All)
-                            exp.Or(x => x.Title.Contains(keyword) || x.Content.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Title)
-                            exp.Or(x => x.Title.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Content)
-                            exp.Or(x => x.Content.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.Summary)
-                            exp.Or(x => x.Summary != null && x.Summary.Contains(keyword));
-                        if (dto.RetrievalType == EKnowledgeRetrievalType.KeyWord)
-                        {
-                            var keywordEntity = await _knowledgeWordRepository.GetAsync(m => m.Tag == keyword && m.IsEnable == 1);
-                            if (keywordEntity is null) continue;
-                            exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, keywordEntity.Id));
-                        }
+                        var keywordEntity = await _knowledgeWordRepository.GetAsync(m => m.Tag == keyword && m.IsEnable == 1);
+                        if (keywordEntity is null) continue;
+                        exp.Or(x => SqlFunc.JsonArrayAny(x.Keywords, keywordEntity.Id));
                     }
                 }
                 sugar = sugar.Where(exp.ToExpression());