优化点-问题知识库列表查询增加数据(评论数量,附件名称数组、问题分类名称数组。)。
This commit is contained in:
+12
@@ -182,4 +182,16 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
||||
/**模糊搜索全部输入字段条件*/
|
||||
@TableField(exist = false)
|
||||
private String searchStr;
|
||||
|
||||
/**评论总数量*/
|
||||
@TableField(exist = false)
|
||||
private long commentCount;
|
||||
|
||||
/**问题分类展示名称数组*/
|
||||
@TableField(exist = false)
|
||||
private List<String> problemTypeNameList;
|
||||
|
||||
/**附件展示名称数组*/
|
||||
@TableField(exist = false)
|
||||
private List<String> accessoryFileNameList;
|
||||
}
|
||||
|
||||
+38
-3
@@ -544,8 +544,10 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
StringBuffer problemTypeSb = new StringBuffer();
|
||||
StringBuffer accessoryFileSb = new StringBuffer();
|
||||
for (ProblemKnowledgeBaseEO data : datas) {
|
||||
problemTypeSb.append(data.getProblemType() + ",");
|
||||
accessoryFileSb.append(data.getAccessoryFile() + ",");
|
||||
}
|
||||
|
||||
List<String> probleKnowledgeBaseIdList = datas.stream().map(ProblemKnowledgeBaseEO::getId).distinct().collect(Collectors.toList());
|
||||
@@ -570,6 +572,14 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
List<ProblemKnowledgeBaseUserEO> permissionUserEOList = this.problemKnowledgeBaseUserEOService.list(permissionUserQueryWrapper);
|
||||
this.problemKnowledgeBaseUserEOService.disposeData(permissionUserEOList,cut);
|
||||
|
||||
//查询出数据的所有的评论数量
|
||||
QueryWrapper<ProblemKnowledgeBaseCommentEO> commentQueryWrapper = new QueryWrapper<>();
|
||||
commentQueryWrapper.lambda().in(ProblemKnowledgeBaseCommentEO::getProblemKnowledgeBaseId,probleKnowledgeBaseIdList);
|
||||
List<ProblemKnowledgeBaseCommentEO> commentEOList = this.problemKnowledgeBaseCommentEOService.list(commentQueryWrapper);
|
||||
|
||||
//根据文件的ids查询文件信息
|
||||
List<OSSFile> accessoryFileList = this.iOSSFileService.getFileInfos(accessoryFileSb.toString());
|
||||
|
||||
List<ProblemKnowledgeBaseClassifyEO> problemKnowledgeBaseClassifyEOList = new ArrayList<>();
|
||||
if(StringUtils.isNotEmpty(problemTypeSb.toString())){
|
||||
List<String> problemTypeList = Arrays.asList(problemTypeSb.toString().substring(0, problemTypeSb.toString().length() - 1).split(",")).stream().distinct().collect(Collectors.toList());
|
||||
@@ -653,10 +663,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
data.setPermissionUserList(permissionUserEOS);
|
||||
}
|
||||
|
||||
long commentCount = commentEOList.stream().filter(commentEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(data.getId(), commentEO.getProblemKnowledgeBaseId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).count();
|
||||
data.setCommentCount(commentCount);
|
||||
|
||||
String problemType = data.getProblemType();
|
||||
if(StringUtils.isNotEmpty(problemType)){
|
||||
String[] problemTypeArr = problemType.split(",");
|
||||
String problemTypeName = finalProblemKnowledgeBaseClassifyEOList.stream().filter(problemKnowledgeBaseClassifyEO -> {
|
||||
List<String> problemTypeNameList = finalProblemKnowledgeBaseClassifyEOList.stream().filter(problemKnowledgeBaseClassifyEO -> {
|
||||
boolean flag = false;
|
||||
for (String type : problemTypeArr) {
|
||||
if (StringUtils.equals(type, problemKnowledgeBaseClassifyEO.getId())) {
|
||||
@@ -664,9 +683,10 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(ProblemKnowledgeBaseClassifyEO::getProblemLabel).collect(Collectors.joining(","));
|
||||
}).map(ProblemKnowledgeBaseClassifyEO::getProblemLabel).collect(Collectors.toList());
|
||||
|
||||
data.setProblemTypeName(problemTypeName);
|
||||
data.setProblemTypeName(problemTypeNameList.stream().collect(Collectors.joining(",")));
|
||||
data.setProblemTypeNameList(problemTypeNameList);
|
||||
}
|
||||
|
||||
String targetMarket = data.getTargetMarket();
|
||||
@@ -697,6 +717,21 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
|
||||
data.setTargetMarket_dicText(targetMarket_dicText);
|
||||
}
|
||||
String accessoryFile = data.getAccessoryFile();
|
||||
if(StringUtils.isNotEmpty(accessoryFile)){
|
||||
String[] accessoryFileArr = accessoryFile.split(",");
|
||||
List<String> accessoryFiles = accessoryFileList.stream().filter(file -> {
|
||||
boolean flag = false;
|
||||
for (String accessory : accessoryFileArr) {
|
||||
if (StringUtils.equals(file.getId(), accessory)) {
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(OSSFile::getFileName).collect(Collectors.toList());
|
||||
data.setAccessoryFileNameList(accessoryFiles);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user