发布修改

This commit is contained in:
2026-01-12 14:46:53 +08:00
parent a2d0da5a5f
commit bba5859343
5 changed files with 114 additions and 0 deletions

View File

@@ -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);
}
/**
* 下架资源
*/

View File

@@ -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) {