public List<ProductTypeDto> getTreeProductTypeList(Long orgId,Long sourceId,Short sourceType) {
   //根据机构获取产品类型
   List<ProductTypeDto> productTypeDtos = productRuleMapper.selectByProductTypeByOrg(orgId);
   for (ProductTypeDto productTypeDto : productTypeDtos) {
      productTypeDto.setIdType(1+"?"+productTypeDto.getId());
      if(productTypeDto.getIdType().equals(sourceType+"?"+sourceId)){
         productTypeDto.setSelected(true);
      }else{
         productTypeDto.setSelected(false);
      }
   }
   //根据机构获取产品
   List<ProductTypeDto> productDtos = productRuleMapper.selectByProductByOrg(orgId);
   for (ProductTypeDto productDto : productDtos) {
      productDto.setIdType(2+"?"+productDto.getId());
      if(productDto.getIdType().equals(sourceType+"?"+sourceId)){
         productDto.setSelected(true);
      }else{
         productDto.setSelected(false);
      }
   }
   //组合list
   List<ProductTypeDto> list = new ArrayList<>();
   HashMap<Long, ProductTypeDto> map = new HashMap<>();
   //添加类型到map
   for (ProductTypeDto productTypeDto : productTypeDtos) {
      map.put(productTypeDto.getId(),productTypeDto);
   }
   //遍历类型
   for (ProductTypeDto productTypeDto : productTypeDtos) {
      if(productTypeDto.getPid().toString().equals("0")){
         list.add(productTypeDto);
      }else {
         ProductTypeDto productTypeDto1 = map.get(productTypeDto.getPid());
         productTypeDto1.getChildren().add(productTypeDto);
      }
   }
   //遍历产品
   for (ProductTypeDto productDto : productDtos) {
         ProductTypeDto productTypeDto1 = map.get(productDto.getPid());
         productTypeDto1.getChildren().add(productDto);
   }
   return list;
}

组装树形数据接口(类型+产品)

相关文章:

  • 2021-04-04
  • 2021-09-30
  • 2021-06-03
  • 2021-12-03
  • 2022-12-23
  • 2021-11-16
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2022-01-15
  • 2021-11-20
  • 2021-06-01
  • 2021-10-23
相关资源
相似解决方案