修改发现的问题
This commit is contained in:
parent
1bdbd42926
commit
840752485b
|
|
@ -361,4 +361,35 @@ public class CommonService {
|
||||||
String prjId = paths.get(0);
|
String prjId = paths.get(0);
|
||||||
return edFileInfoMapper.selectById(prjId).getFileName();
|
return edFileInfoMapper.selectById(prjId).getFileName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<String> selectPrjLeafs() {
|
||||||
|
List<String> prjInfo = queryAllPrjInfo(true, null);
|
||||||
|
Set<String> res = new HashSet<>();
|
||||||
|
prjInfo.forEach(e -> {
|
||||||
|
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
||||||
|
Set<String> leafIds = getLeafNodes(projectVO).stream().map(ProjectVO::getId).collect(Collectors.toSet());
|
||||||
|
res.addAll(leafIds);
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<ProjectVO> getLeafNodes(ProjectVO root) {
|
||||||
|
List<ProjectVO> leafNodes = new ArrayList<>();
|
||||||
|
if (root == null) {
|
||||||
|
return leafNodes;
|
||||||
|
}
|
||||||
|
findLeafNodes(root, leafNodes);
|
||||||
|
return leafNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void findLeafNodes(ProjectVO node, List<ProjectVO> leafNodes) {
|
||||||
|
if (node.getChildren().isEmpty()) {
|
||||||
|
leafNodes.add(node);
|
||||||
|
} else {
|
||||||
|
for (ProjectVO child : node.getChildren()) {
|
||||||
|
findLeafNodes(child, leafNodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -931,15 +931,26 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize) {
|
public ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize) {
|
||||||
|
|
||||||
List<String> prjIds = permissionService.getAccessibleTree(); //TODO 从权限处获取该用户有哪些工程的权限,这里先写静态,方便调试
|
List<String> accessibleIds = permissionService.getAccessibleTree();
|
||||||
|
Set<String> allLeafIds = commonService.selectPrjLeafs();
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
for (String leafId : allLeafIds) {
|
||||||
|
if (accessibleIds.contains(leafId)) {
|
||||||
|
list.add(leafId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
return ElectromagneticResultUtil.success(new UploadRecordVO(0, new ArrayList<>()));
|
||||||
|
}
|
||||||
LambdaQueryWrapper<EdFileInfo> lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType)
|
.select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
||||||
for (int i = 0; i < prjIds.size(); i++) {
|
lambdaQuery.or(qr -> {
|
||||||
String prjId = prjIds.get(i);
|
for (String id : list) {
|
||||||
lambdaQuery.or(qr -> qr.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT));
|
qr.likeRight(EdFileInfo::getFileCode, id);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Page<EdFileInfo> edFileInfoPage = this.baseMapper.selectPage(new Page<>(pageNum, pageSize), lambdaQuery);
|
Page<EdFileInfo> edFileInfoPage = this.baseMapper.selectPage(new Page<>(pageNum, pageSize), lambdaQuery);
|
||||||
long total = edFileInfoPage.getTotal();
|
long total = edFileInfoPage.getTotal();
|
||||||
List<UploadRecordDTO> uploadRecordDTOS = BeanUtil.copyToList(edFileInfoPage.getRecords(), UploadRecordDTO.class);
|
List<UploadRecordDTO> uploadRecordDTOS = BeanUtil.copyToList(edFileInfoPage.getRecords(), UploadRecordDTO.class);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue