当今社会,电商等行业用分销来拉拢用户群体的场景越演越烈。
举例:A分享给B后,A获得一定奖励。
B再次分享给C后,A获得80%奖励,B获得60%奖励。
C再次分享给D后,A获得80%奖励,B获得60%奖励,C获得40%奖励。等等类似
我们得实现方案有两种:
方式一:采用邀请码方式。对用户不友好
方式二:采用链接或二维码携带加密参数分享。 推荐
java 如何实现此需求呢?
- 建库建表,每行数据 id,parent_id parent_id用来关联用户上级。
- 分享地址携带用户id加密
- 奖励时,在库中查找传入用户id的所有上级。
这里就不再代码实现。如果有做过组织架构的项目,那这个功能就不在话下了。
附上我项目中的组织架构核心代码:
private ListwrapTreeDataToTreeList(List list){ //数据库所有数据数组 List treeAllList = new ArrayList<>(); //顶层数据数据 List treeParentList = new ArrayList<>(); list.stream().forEach(dept->{ //修改SysDepart 数据模型 treeAllList.add(new SysDepartTreeModel(dept)); //获得树一级的所有父节点 if(oConvertUtils.isEmpty(dept.getParentId())){ treeParentList.add(new SysDepartTreeModel(dept)); } }); getGrandChildren(treeAllList,treeParentList); return treeParentList; } private void getGrandChildren(List treeAllList,List treeParentList){ treeParentList.stream().forEach(tree->{ List chlidens = treeAllList.stream().filter(item -> item.getParentId().equals(tree.getId())).collect(Collectors.toList()); tree.getChildren().addAll(chlidens); if(!oConvertUtils.listIsEmpty(chlidens)){ getGrandChildren(treeAllList,tree.getChildren()); } }); }



