调整完用户查询树的接口

This commit is contained in:
chenxudong 2024-12-31 16:35:46 +08:00
parent 26168a0821
commit 2ee833f8e4
3 changed files with 37 additions and 23 deletions

View File

@ -12,6 +12,7 @@ public class FileProjectVO {
private String categoryName; private String categoryName;
private String parentId; private String parentId;
private Integer dataStatus; private Integer dataStatus;
private Integer sort;
private List<FileProjectVO> children; private List<FileProjectVO> children;
} }

View File

@ -21,6 +21,7 @@ import com.electromagnetic.industry.software.common.util.ElectromagneticResultUt
import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper; import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper;
import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo;
import com.electromagnetic.industry.software.manage.pojo.resp.FileProjectVO;
import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO; import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO;
import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.FileSystemService;
import lombok.Getter; import lombok.Getter;
@ -208,7 +209,7 @@ public class CommonService {
} }
} }
public ElectromagneticResult<?> queryAllPrjInfo(boolean isAdminQuery) { public List<ProjectVO> queryAllPrjInfo(boolean isAdminQuery) {
try { try {
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
@ -220,7 +221,7 @@ public class CommonService {
} }
List<String> ids = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList()); List<String> ids = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList());
List<ProjectVO> projectVOS = new ArrayList<>(); List projectVOS = new ArrayList<>();
for (String id : ids) { for (String id : ids) {
List<EdFileInfo> edFileInfos = selectAllAdminFolder(id); List<EdFileInfo> edFileInfos = selectAllAdminFolder(id);
@ -228,23 +229,39 @@ public class CommonService {
edFileInfos = edFileInfos.stream().filter(e -> e.getDataStatus().equals(EleDataStatusEnum.PUBLISHED.code)).collect(Collectors.toList()); edFileInfos = edFileInfos.stream().filter(e -> e.getDataStatus().equals(EleDataStatusEnum.PUBLISHED.code)).collect(Collectors.toList());
} }
// 转换为树 // 转换为树
TreeNodeConfig config = new TreeNodeConfig(); if (isAdminQuery) {
config.setIdKey(EdFileInfo.Fields.id); TreeNodeConfig config = new TreeNodeConfig();
config.setParentIdKey(EdFileInfo.Fields.parentId); config.setIdKey(EdFileInfo.Fields.id);
config.setWeightKey(EdFileInfo.Fields.sort); config.setParentIdKey(EdFileInfo.Fields.parentId);
config.setWeightKey(EdFileInfo.Fields.sort);
List<Tree<String>> trees = TreeUtil.build(edFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> { List<Tree<String>> trees = TreeUtil.build(edFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> {
treeNode.putExtra(EdFileInfo.Fields.id, obj.getId()); treeNode.putExtra("id", obj.getId());
treeNode.putExtra(EdFileInfo.Fields.parentId, obj.getParentId()); treeNode.putExtra(EdFileInfo.Fields.parentId, obj.getParentId());
treeNode.putExtra(EdFileInfo.Fields.sort, obj.getSort()); treeNode.putExtra(EdFileInfo.Fields.sort, obj.getSort());
treeNode.putExtra(EdFileInfo.Fields.fileName, obj.getFileName()); treeNode.putExtra(EdFileInfo.Fields.fileName, obj.getFileName());
})); treeNode.putExtra(EdFileInfo.Fields.dataStatus, obj.getDataStatus());
}));
String jsonStr = JSONUtil.toJsonStr(trees); String jsonStr = JSONUtil.toJsonStr(trees);
ProjectVO projectVO = JSONUtil.toList(jsonStr, ProjectVO.class).get(0); ProjectVO projectVO = JSONUtil.toList(jsonStr, ProjectVO.class).get(0);
projectVOS.add(projectVO); projectVOS.add(projectVO);
} else {
TreeNodeConfig config = new TreeNodeConfig();
config.setIdKey(FileProjectVO.Fields.categoryId);
config.setParentIdKey(FileProjectVO.Fields.parentId);
config.setWeightKey(FileProjectVO.Fields.sort);
List<Tree<String>> trees = TreeUtil.build(edFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> {
treeNode.putExtra(FileProjectVO.Fields.categoryId, obj.getId());
treeNode.putExtra(FileProjectVO.Fields.parentId, obj.getParentId());
treeNode.putExtra(FileProjectVO.Fields.sort, obj.getSort());
treeNode.putExtra(FileProjectVO.Fields.categoryName, obj.getFileName());
treeNode.putExtra(FileProjectVO.Fields.dataStatus, obj.getDataStatus());
}));
String jsonStr = JSONUtil.toJsonStr(trees);
FileProjectVO fileProjectVO = JSONUtil.toList(jsonStr, FileProjectVO.class).get(0);
projectVOS.add(fileProjectVO);
}
} }
return ElectromagneticResultUtil.success(projectVOS); return projectVOS;
} catch (Exception e) { } catch (Exception e) {
String info = "查询项目失败"; String info = "查询项目失败";
log.error(info, e); log.error(info, e);

View File

@ -30,6 +30,7 @@ import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO;
import com.electromagnetic.industry.software.manage.pojo.req.UpdateFileInfoDTO; import com.electromagnetic.industry.software.manage.pojo.req.UpdateFileInfoDTO;
import com.electromagnetic.industry.software.manage.pojo.resp.FileInfoQueryPageVO; import com.electromagnetic.industry.software.manage.pojo.resp.FileInfoQueryPageVO;
import com.electromagnetic.industry.software.manage.pojo.resp.FileVersionViewVO; import com.electromagnetic.industry.software.manage.pojo.resp.FileVersionViewVO;
import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO;
import com.electromagnetic.industry.software.manage.service.EdFileInfoService; import com.electromagnetic.industry.software.manage.service.EdFileInfoService;
import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.FileSystemService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -165,11 +166,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
*/ */
@Override @Override
public ElectromagneticResult<?> tree() { public ElectromagneticResult<?> tree() {
// List<ProjectVO> projectVOS = commonService.queryAllPrjInfo(false);
// List<FileProjectVO> res = new ArrayList<>();
// for (ProjectVO projectVO : projectVOS) {
//
// }
return ElectromagneticResultUtil.success(commonService.queryAllPrjInfo(false)); return ElectromagneticResultUtil.success(commonService.queryAllPrjInfo(false));
} }