课程敏感词审核修正
This commit is contained in:
@@ -126,17 +126,23 @@ public class SCCourseServiceImpl implements SCCourseService {
|
|||||||
// 查询所有节点
|
// 查询所有节点
|
||||||
List<TbCourseNode> nodes = courseNodeMapper.selectCourseNodesByChapterIDs(chapterIDs);
|
List<TbCourseNode> nodes = courseNodeMapper.selectCourseNodesByChapterIDs(chapterIDs);
|
||||||
|
|
||||||
// 转换章节为CourseItemVO列表
|
|
||||||
List<CourseItemVO> chapterVOs = chapters.stream()
|
|
||||||
.map(CourseItemVO::fromChapter)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
// 转换节点为CourseItemVO,并按章节ID分组
|
// 转换节点为CourseItemVO,并按章节ID分组
|
||||||
Map<String, List<CourseItemVO>> nodesMap = nodes.stream()
|
Map<String, List<CourseItemVO>> nodesMap = nodes.stream()
|
||||||
.map(CourseItemVO::fromNode)
|
.map(CourseItemVO::fromNode)
|
||||||
.collect(Collectors.groupingBy(CourseItemVO::getChapterID));
|
.collect(Collectors.groupingBy(CourseItemVO::getChapterID));
|
||||||
|
|
||||||
// 设置章节列表和章节节点映射
|
// 转换章节为CourseItemVO列表,并将节点嵌入到章节的chapters字段中
|
||||||
|
List<CourseItemVO> chapterVOs = chapters.stream()
|
||||||
|
.map(chapter -> {
|
||||||
|
CourseItemVO chapterVO = CourseItemVO.fromChapter(chapter);
|
||||||
|
// 将该章节的节点设置到chapters字段中(前端编辑组件使用这个结构)
|
||||||
|
List<CourseItemVO> chapterNodes = nodesMap.getOrDefault(chapter.getChapterID(), new ArrayList<>());
|
||||||
|
chapterVO.setChapters(chapterNodes);
|
||||||
|
return chapterVO;
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 设置章节列表和章节节点映射(保留chapterNodes用于其他场景)
|
||||||
courseItemVO.setChapters(chapterVOs);
|
courseItemVO.setChapters(chapterVOs);
|
||||||
courseItemVO.setChapterNodes(nodesMap);
|
courseItemVO.setChapterNodes(nodesMap);
|
||||||
}
|
}
|
||||||
@@ -525,37 +531,57 @@ public class SCCourseServiceImpl implements SCCourseService {
|
|||||||
courseMapper.updateCourse(course2);
|
courseMapper.updateCourse(course2);
|
||||||
|
|
||||||
// 敏感词审核
|
// 敏感词审核
|
||||||
|
// nodeType: 0=文章资源, 1=富文本, 2=上传文件
|
||||||
List<TbCourseNode> notPassList = new ArrayList<>();
|
List<TbCourseNode> notPassList = new ArrayList<>();
|
||||||
for(TbCourseNode node: nodeList){
|
for(TbCourseNode node: nodeList){
|
||||||
if(!node.getIsAudited()){
|
if(!node.getIsAudited()){
|
||||||
// 重新审核
|
// 重新审核
|
||||||
int type = node.getNodeType();
|
int type = node.getNodeType();
|
||||||
// auditService.
|
|
||||||
if(type==1){ //文章类型
|
if(type == 0){ // 文章资源类型
|
||||||
ResultDomain<ResourceVO> resourceDomain = resourceService.getResourceById(node.getResourceID());
|
if (node.getResourceID() != null && !node.getResourceID().trim().isEmpty()) {
|
||||||
if (resourceDomain.isSuccess()) {
|
ResultDomain<ResourceVO> resourceDomain = resourceService.getResourceById(node.getResourceID());
|
||||||
if (!resourceDomain.getData().getResource().getIsAudited()) {
|
if (resourceDomain.isSuccess()) {
|
||||||
ResultDomain<String> pass = auditService.auditText(resourceDomain.getData().getResource().getTitle()+" "+resourceDomain.getData().getResource().getContent());
|
if (!resourceDomain.getData().getResource().getIsAudited()) {
|
||||||
if(!pass.isSuccess()){
|
ResultDomain<String> pass = auditService.auditText(resourceDomain.getData().getResource().getTitle()+" "+resourceDomain.getData().getResource().getContent());
|
||||||
// 审核失败,标记课程状态为4(审核失败)
|
if(!pass.isSuccess()){
|
||||||
course.setStatus(4);
|
// 审核失败,标记课程状态为4(审核失败)
|
||||||
course.setUpdateTime(new Date());
|
course.setStatus(4);
|
||||||
courseMapper.updateCourse(course);
|
course.setUpdateTime(new Date());
|
||||||
auditService.sendAuditResultMessage(node.getCreator(), "课程节点:"+node.getName(), pass.getDataList());
|
courseMapper.updateCourse(course);
|
||||||
|
auditService.sendAuditResultMessage(node.getCreator(), "课程节点:"+node.getName(), pass.getDataList());
|
||||||
|
|
||||||
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
||||||
return resultDomain;
|
return resultDomain;
|
||||||
}else{
|
}else{
|
||||||
// 更新文章的审核状态
|
// 更新文章的审核状态
|
||||||
ResourceVO resource = new ResourceVO();
|
ResourceVO resource = new ResourceVO();
|
||||||
resource.setResource(new TbResource());
|
resource.setResource(new TbResource());
|
||||||
resource.getResource().setResourceID(node.getResourceID());
|
resource.getResource().setResourceID(node.getResourceID());
|
||||||
resource.getResource().setIsAudited(true);
|
resource.getResource().setIsAudited(true);
|
||||||
resourceService.updateResource(resource);
|
resourceService.updateResource(resource);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if (type == 2){
|
} else if(type == 1){ // 富文本类型
|
||||||
|
if (node.getContent() != null && !node.getContent().trim().isEmpty()) {
|
||||||
|
ResultDomain<String> pass = auditService.auditText(node.getName() + " " + node.getContent());
|
||||||
|
if(!pass.isSuccess()){
|
||||||
|
// 审核失败,标记课程状态为4(审核失败)
|
||||||
|
course.setStatus(4);
|
||||||
|
course.setUpdateTime(new Date());
|
||||||
|
courseMapper.updateCourse(course);
|
||||||
|
auditService.sendAuditResultMessage(node.getCreator(), "课程节点:"+node.getName(), pass.getDataList());
|
||||||
|
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
||||||
|
return resultDomain;
|
||||||
|
} else {
|
||||||
|
// 更新node审核状态
|
||||||
|
node.setIsAudited(true);
|
||||||
|
courseNodeMapper.updateCourseNode(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (type == 2){ // 上传文件类型
|
||||||
ResultDomain<String> pass = auditService.auditByFileId(node.getResourceID());
|
ResultDomain<String> pass = auditService.auditByFileId(node.getResourceID());
|
||||||
if(!pass.isSuccess()){
|
if(!pass.isSuccess()){
|
||||||
// 审核失败,标记课程状态为4(审核失败)
|
// 审核失败,标记课程状态为4(审核失败)
|
||||||
@@ -566,22 +592,6 @@ public class SCCourseServiceImpl implements SCCourseService {
|
|||||||
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
||||||
return resultDomain;
|
return resultDomain;
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
ResultDomain<String> pass = auditService.auditText(node.getContent());
|
|
||||||
if(!pass.isSuccess()){
|
|
||||||
// 审核失败,标记课程状态为3(审核失败)
|
|
||||||
course.setStatus(3);
|
|
||||||
course.setUpdateTime(new Date());
|
|
||||||
courseMapper.updateCourse(course);
|
|
||||||
auditService.sendAuditResultMessage(node.getCreator(), "课程节点:"+node.getName(), pass.getDataList());
|
|
||||||
|
|
||||||
resultDomain.fail("课程节点:"+node.getName()+"审核未通过");
|
|
||||||
return resultDomain;
|
|
||||||
}else{
|
|
||||||
// 更新node审核状态
|
|
||||||
node.setIsAudited(true);
|
|
||||||
courseNodeMapper.updateCourseNode(node);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
node.setIsAudited(true);
|
node.setIsAudited(true);
|
||||||
notPassList.add(node);
|
notPassList.add(node);
|
||||||
|
|||||||
Reference in New Issue
Block a user