/**
* 根据会员ID获取所有下级会员
* @param memInfo
* @return
*/
public List userGrade(MemInfo memInfo){
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> listChildren = new ArrayList<>();
String id = memInfo.getMemId();
String sumMoney = memMapper.selectSumMoneyByMemId(id);
map.put("phone",memInfo.getMemPhone());
map.put("label",memInfo.getMemNickName() + " - " + memInfo.getMemPhone() + " - 总返利:" + (!StringUtils.isEmpty(sumMoney) ? new BigDecimal(sumMoney) : BigDecimal.ZERO));
listChildren = userGradeTo(id);
if (listChildren.size()>0) {
map.put("children", listChildren);
}
list.add(map);
return list;
}
利用递归查询到所有下级会员,组装数据
public List<Map<String, Object>> userGradeTo(String parentId){
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
List firstIdList = new ArrayList();
firstIdList.add(parentId);
// 根据ID获取下级会员信息
List<MemInfo> memInfoList = memMapper.getSubordinateMember(firstIdList);
memInfoList.stream().forEach(item -> {
Map<String, Object> map = new HashMap<String, Object>();
List<Map<String, Object>> listChildren = new ArrayList<Map<String,Object>>();
String id = item.getMemId();
String sumMoney = memMapper.selectSumMoneyByMemId(id);
map.put("phone",item.getMemPhone());
map.put("label",item.getMemNickName() + " - " + item.getMemPhone() + " - 总返利:" + (!StringUtils.isEmpty(sumMoney) ? new BigDecimal(sumMoney) : BigDecimal.ZERO));
listChildren = userGradeTo(id);
if (listChildren.size()>0) {
map.put("children", listChildren);
}
list.add(map);
});
return list;
}