|
@@ -640,6 +640,7 @@ namespace Hotline.Api.Controllers
|
|
|
var hotspot = await _hotspotTypeRepository.GetAsync(x => x.Id == dto.HotspotId);
|
|
|
hotspotHotSpotFullName = hotspot?.HotSpotFullName;
|
|
|
}
|
|
|
+
|
|
|
var sugar = _knowledgeRepository
|
|
|
.Queryable(false, false, false)
|
|
|
.Includes(x => x.User)
|
|
@@ -672,6 +673,12 @@ namespace Hotline.Api.Controllers
|
|
|
exp.Or(m => m.Content.Contains(keyword));
|
|
|
if (dto.RetrievalType == EKnowledgeRetrievalType.Summary)
|
|
|
exp.Or(m => m.Summary != null && m.Summary.Contains(keyword));
|
|
|
+ if (dto.RetrievalType == EKnowledgeRetrievalType.KeyWord)
|
|
|
+ {
|
|
|
+ var keywordEntity = await _knowledgeWordRepository.GetAsync(m => m.Tag == keyword && m.IsEnable == 0);
|
|
|
+ if (keywordEntity is null) continue;
|
|
|
+ exp.Or(m => SqlFunc.JsonArrayAny(m.Keywords, keywordEntity.Id));
|
|
|
+ }
|
|
|
}
|
|
|
sugar.Where(exp.ToExpression());
|
|
|
}
|
|
@@ -1512,6 +1519,19 @@ namespace Hotline.Api.Controllers
|
|
|
await _knowApplication.AddKnowledgeHotWordAsync(dto, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 新增热词页面基础数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("hotword/basedata")]
|
|
|
+ public async Task<Dictionary<string, dynamic>> AddKnowledgeHotWordBaseDataAsync()
|
|
|
+ {
|
|
|
+ return _baseDataApplication
|
|
|
+ .KnowledgeHotWordType()
|
|
|
+ .Build();
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 热词集合
|
|
|
/// </summary>
|