feat(department): 添加免权限的企业部门树查询功能

dev_xgfuseridcard
zhaokai 2026-06-10 09:03:38 +08:00
parent b5efa87f30
commit 1b4eec74c5
5 changed files with 47 additions and 0 deletions

1
.gitignore vendored
View File

@ -37,3 +37,4 @@ build/
/.idea/
.idea
/start/src/main/resources/templates/

View File

@ -85,6 +85,13 @@ public class DepartmentController {
public MultiResponse<DepartmentTreeInfoCO> listTree(@Validated @RequestBody DepartmentTreeQry qry) {
return MultiResponse.of(departmentService.listTree(qry));
}
@ApiOperation("企业下部门树状所有数据,免token")
@PostMapping("/listTreeNopermission")
public MultiResponse<DepartmentTreeInfoCO> listTreeNopermission(@Validated @RequestBody DepartmentTreeQry qry) {
return MultiResponse.of(departmentService.listTreeNopermission(qry));
}
@ApiOperation("所有企业下部门树状所有数据")
@PostMapping("/listAllTree")
public MultiResponse<DepartmentTreeInfoCO> listAllTree() {

View File

@ -202,5 +202,37 @@ public class DepartmentQueryExe {
}
public Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry departmentQry) {
if (Objects.isNull(departmentQry.getEqCorpinfoId())) {
throw new RuntimeException("请选择企业");
}
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentQry);
List<DepartmentDO> pageResponse = departmentRepository.listTree(parmas);
if (CollUtil.isEmpty(pageResponse)) {
return Collections.emptyList();
}
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
//补充企业信息
//补充企业名称
Map<Long, String> corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).collect(Collectors.toList()));
if (CollUtil.isNotEmpty(corpinfoMap)) {
List<Long> departmentIds = examCenterCOS.stream().peek(examCenterCO -> {
examCenterCO.setCorpinfoName(corpinfoMap.getOrDefault(examCenterCO.getCorpinfoId(), StringUtils.EMPTY));
}).map(DepartmentTreeInfoCO :: getId).collect(Collectors.toList());
Map<Long, String> deptMap = zcloudDepartmentFacade.listFullName(departmentIds);
examCenterCOS.forEach(examCenterCO -> {
examCenterCO.setFullName(deptMap.getOrDefault(examCenterCO.getId(), StringUtils.EMPTY));
});
}
//GBS部门根节点父部门是tenantId
if(departmentQry.getEqParentId()!=null){
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",departmentQry.getEqParentId());
}else{
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",0L);
}
}
}

View File

@ -101,5 +101,10 @@ public class DepartmentServiceImpl implements DepartmentServiceI {
String name = Tools.getTreeFullName(list,"id", "parentId", "name", deptId);
return name;
}
@Override
public Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry qry) {
return departmentQueryExe.listTreeNopermission(qry);
}
}

View File

@ -44,5 +44,7 @@ public interface DepartmentServiceI {
Collection<DepartmentTreeInfoCO> listAllTreeByCorpType(DepartmentTreeQry qry);
Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry qry);
}