Commit 62fc3d09 authored by 韩桐桐's avatar 韩桐桐

feat(jg):获取当前登录人单位及以下管辖分局树

parent 6839df8f
......@@ -420,6 +420,19 @@ public class CommonController extends BaseController {
return ResponseHelper.buildResponse(commonService.getCreatTree());
}
/**
* 获取当前登录人单位及以下管辖分局树
*
* @return result
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/loginUnitAndBelow/getCreatTree")
@ApiOperation(httpMethod = "GET", value = "获取当前登录人单位及以下管辖分局树", notes = "获取当前登录人单位及以下管辖分局树")
public ResponseModel<Object> loginUnitAndBelowGetTree() {
String orgCode = getSelectedOrgInfo().getCompany().getOrgCode();
return ResponseHelper.buildResponse(commonService.loginUnitAndBelowGetTree(orgCode));
}
/**
* 获取管辖分局树
......
......@@ -80,6 +80,8 @@ public interface ICommonService {
List<LinkedHashMap> getCreatTree();
List<LinkedHashMap> loginUnitAndBelowGetTree(String orgCode);
List<LinkedHashMap> getCreatTreeByInstallation();
List<LinkedHashMap> getCreatTreeByInstallationTree();
......
......@@ -422,6 +422,13 @@ public class CommonServiceImpl implements ICommonService {
}
@Override
public List<LinkedHashMap> loginUnitAndBelowGetTree(String orgCode) {
List<LinkedHashMap> result = (List<LinkedHashMap>) redisUtils.get(REGULATOR_UNIT_TREE + "_" + orgCode);
// 判断redis是否存在管辖机构树
return !ObjectUtils.isEmpty(result) ? result : creatlLoginUnitAndBelowGetTree(orgCode);
}
@Override
public List<LinkedHashMap> getCreatTreeByInstallation() {
List<LinkedHashMap> result = (List<LinkedHashMap>) redisUtils.get(REGULATOR_UNIT_TREE_ALL);
// 判断redis是否存在管辖机构树
......@@ -632,6 +639,34 @@ public class CommonServiceImpl implements ICommonService {
return resultTree;
}
public List<LinkedHashMap> creatlLoginUnitAndBelowGetTree(String orgCode) {
FeignClientResult tree = privilegeFeginService.queryAgencyTreeForCache(RequestContext.getToken(), RequestContext.getAppKey(), RequestContext.getProduct());
List<LinkedHashMap> result = (List<LinkedHashMap>) tree.getResult();
List<LinkedHashMap> treeData = deleteTreeData(result, REGULATOR_UNIT);
List<LinkedHashMap> supervisionTree = orgCodeAndBelowGetTree(treeData, orgCode);
List<LinkedHashMap> resultTree = updateNullChildren(supervisionTree);
redisUtils.set(REGULATOR_UNIT_TREE + "_" + orgCode, resultTree);
return resultTree;
}
private List<LinkedHashMap> orgCodeAndBelowGetTree(List<LinkedHashMap> treeData, String orgCode) {
if (treeData != null) {
for (LinkedHashMap node : treeData) {
if (orgCode.equals(node.get("orgCode"))) {
return Collections.singletonList(node);
}
if (node.get("children") != null) {
List<LinkedHashMap> result = orgCodeAndBelowGetTree((List<LinkedHashMap>) node.get("children"), orgCode);
if (!result.isEmpty()) {
return result;
}
}
}
}
return Collections.emptyList();
}
private List<LinkedHashMap> creatReceiveUnitTree(String bizType) {
FeignClientResult tree = privilegeFeginService.queryAgencyTreeForCache(RequestContext.getToken(), RequestContext.getAppKey(), RequestContext.getProduct());
List<LinkedHashMap> result = (List<LinkedHashMap>) tree.getResult();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment