发布修改
This commit is contained in:
@@ -123,6 +123,14 @@ public class ResourceController {
|
||||
return resourceService.publishResource(resourceID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 强制发布资源(跳过敏感词校验)
|
||||
*/
|
||||
@PostMapping("/resource/{resourceID}/force-publish")
|
||||
public ResultDomain<TbResource> forcePublishResource(@PathVariable("resourceID") String resourceID) {
|
||||
return resourceService.forcePublishResource(resourceID);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下架资源
|
||||
*/
|
||||
|
||||
@@ -647,6 +647,61 @@ public class NCResourceServiceImpl implements ResourceService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<TbResource> forcePublishResource(String resourceID) {
|
||||
ResultDomain<TbResource> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
// 参数验证
|
||||
if (!StringUtils.hasText(resourceID)) {
|
||||
resultDomain.fail("资源ID不能为空");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
// 查询资源
|
||||
TbResource resource = resourceMapper.selectByResourceId(resourceID);
|
||||
if (resource == null || resource.getDeleted()) {
|
||||
resultDomain.fail("资源不存在");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
// 强制发布:跳过敏感词校验,直接设置为已审核通过
|
||||
resource.setIsAudited(true);
|
||||
resource.setStatus(1);
|
||||
resource.setPublishTime(new Date());
|
||||
resource.setUpdateTime(new Date());
|
||||
|
||||
int result = resourceMapper.updateResource(resource);
|
||||
if (result > 0) {
|
||||
logger.info("强制发布资源成功: {}", resourceID);
|
||||
// 重新查询返回完整数据
|
||||
TbResource updated = resourceMapper.selectByResourceId(resourceID);
|
||||
|
||||
// 异步将文章导入知识库
|
||||
try {
|
||||
ResultDomain<TbResource> knowledgeResult = articleKnowledgeService.importArticleToDefaultKnowledge(updated);
|
||||
if (knowledgeResult.isSuccess() && knowledgeResult.getData() != null) {
|
||||
logger.info("强制发布文章已成功导入知识库: {}", resourceID);
|
||||
} else {
|
||||
logger.warn("强制发布文章导入知识库跳过或失败: {}, 原因: {}", resourceID, knowledgeResult.getMessage());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("强制发布文章导入知识库异常,但不影响发布: {}", e.getMessage(), e);
|
||||
}
|
||||
|
||||
resultDomain.success("强制发布资源成功", updated);
|
||||
return resultDomain;
|
||||
} else {
|
||||
resultDomain.fail("强制发布资源失败");
|
||||
return resultDomain;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("强制发布资源异常: {}", e.getMessage(), e);
|
||||
resultDomain.fail("强制发布资源失败: " + e.getMessage());
|
||||
return resultDomain;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<TbResource> unpublishResource(String resourceID) {
|
||||
|
||||
Reference in New Issue
Block a user