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;
}
相关文章: