public ResponseData<List<ConfigItemDO>> queryDisplayDataByCode(String dictCode) { LambdaQueryWrapper<ConfigItemDO> wrapper = Wrappers.lambdaQuery(ConfigItemDO.class); wrapper.eq(ConfigItemDO::getDictCode, dictCode); List<ConfigItemDO> configItemDOList = getBaseMapper().queryByDictCode(dictCode); String orgIdentifier = baseBean.getUserInfo().getOrgInfo().getOrgIdentifier(); List<ConfigItemDO> itemList = new ArrayList<>(); configItemDOList.forEach(configItemDO -> { List<ConfigItemDO.AuthorityOrg> orgList = configItemDO.getAuthorityOrg(); for (int i = 0; i < orgList.size(); i++) { StringUtils.equals(orgList.get(i).getOrgIdentifier(), orgIdentifier); itemList.add(configItemDO); } }); if (CollectionUtils.isEmpty(itemList)) { String[] parts = orgIdentifier.split("-"); if (parts.length == 1) { return new ResponseData<>(new ArrayList<>()); } String parentOrgIdentifier = ""; while (true) { for (int i = 0; i < parts.length - 1; i++) { parentOrgIdentifier = parentOrgIdentifier + parts[i]; } if (StringUtils.isNotBlank(parentOrgIdentifier)) { for (int i = 0; i < configItemDOList.size(); i++) { List<ConfigItemDO.AuthorityOrg> orgList = configItemDOList.get(i).getAuthorityOrg(); for (int j = 0; j < orgList.size(); i++) { StringUtils.equals(orgList.get(i).getOrgIdentifier(), parentOrgIdentifier); itemList.add(configItemDOList.get(i)); } } parts = parentOrgIdentifier.split("-"); if (CollectionUtils.isNotEmpty(itemList) || parts.length == 1) { break; } } } } return new ResponseData<>(itemList); }
时间: 2024-02-14 22:35:06 浏览: 73
ASN.1的wrapper中的BIT STRING.pdf
这段代码看起来像是 Java 语言编写的一个查询方法,输入参数为一个字符串类型的字典编码 dictCode,返回一个 ResponseData<List<ConfigItemDO>> 类型的数据。在方法中,使用了 LambdaQueryWrapper 对象封装了一个查询条件,然后通过调用 getBaseMapper() 方法执行查询操作,将结果保存在 configItemDOList 变量中。随后,通过遍历 configItemDOList,将符合当前用户所在组织机构的数据保存在 itemList 变量中。如果 itemList 为空,则继续向上查找所属组织机构,直到找到数据为止。最终,将 itemList 封装在 ResponseData 对象中并返回。
阅读全文