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

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值