栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分销策略及实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分销策略及实现

当今社会,电商等行业用分销来拉拢用户群体的场景越演越烈。

举例:A分享给B后,A获得一定奖励。
B再次分享给C后,A获得80%奖励,B获得60%奖励。
C再次分享给D后,A获得80%奖励,B获得60%奖励,C获得40%奖励。等等类似

我们得实现方案有两种:
方式一:采用邀请码方式。对用户不友好
方式二:采用链接或二维码携带加密参数分享。 推荐

java 如何实现此需求呢?

  1. 建库建表,每行数据 id,parent_id parent_id用来关联用户上级。
  2. 分享地址携带用户id加密
  3. 奖励时,在库中查找传入用户id的所有上级。

这里就不再代码实现。如果有做过组织架构的项目,那这个功能就不在话下了。

附上我项目中的组织架构核心代码:

private List wrapTreeDataToTreeList(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());
		}
	});
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号