xf 3 ay önce
ebeveyn
işleme
a846374730

+ 8 - 8
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -987,23 +987,23 @@ namespace Hotline.Api.Controllers
             using var stream = new MemoryStream();
             await file.CopyToAsync(stream);
             var items = stream.Query<KnowledgeImportTemplate>().ToList();
-            if (items == null || !items.Any()) return "未读取到数据";
+            if (items == null || !items.Any()) throw new UserFriendlyException("未读取到数据");
 
             if (items.Any(d => d.Attribution != "中心知识库" && d.Attribution != "部门知识库"))
-                return "请正确输入知识归属";
-            if (items.Any(d => d.IsPublic != "是" && d.IsPublic != "否"))
-                return "请正确输入是否公开";
+                throw new UserFriendlyException("请正确输入知识归属");
+            if (items.Any(d => !string.IsNullOrEmpty(d.IsPublic) && d.IsPublic != "是" && d.IsPublic != "否"))
+                throw new UserFriendlyException("请正确输入是否公开");
             if (items.Any(d => string.IsNullOrEmpty(d.Title)))
-                return "请输入标题";
+                throw new UserFriendlyException("请输入标题");
             if (items.Any(d => string.IsNullOrEmpty(d.Content)))
-                return "请输入内容";
+                throw new UserFriendlyException("请输入内容");
 
             var titles = items.Select(d => d.Title).ToList();
             var exists = await _knowledgeRepository.Queryable()
                 .Where(d => titles.Contains(d.Title))
                 .ToListAsync(HttpContext.RequestAborted);
             if (exists.Any())
-                return $"标题重复:{string.Join(',', exists.Select(d => d.Title))}";
+                throw new UserFriendlyException($"标题重复:{string.Join(',', exists.Select(d => d.Title))}");
 
             var inputLevelOneTypes = items.Select(d => d.KnowledgeTypeLevelOne)
                 .Distinct().ToList();
@@ -1013,7 +1013,7 @@ namespace Hotline.Api.Controllers
             var existLevelOneNames = levelOneTypes.Select(d => d.Name);
             var notExists = inputLevelOneTypes.Except(existLevelOneNames).ToList();
             if (notExists.Any())
-                return $"不存在的一级分类名称:{string.Join(',', notExists)}";
+                throw new UserFriendlyException($"不存在的一级分类名称:{string.Join(',', notExists)}");
 
             var sb = new StringBuilder();
             var kns = new List<Knowledge>();