遇到拿多少分润的问题就很容易绕进去?怎么破?

2020-08-10 11:11:27 +08:00
 lixiaojian
最近公司在搞分销模式的系统,2 下就绕进去了,学历比较低初中就出来学电脑了,加上数学也很差,就一直在这块比较欠缺,想请问大神们可有什么比较好的训练方法提高这个?
项目催的紧,天天头昏脑胀的。
涉及一些东西是客户的就没全部发出来,设定的比这个复杂多了
1:A 直接推荐 B,B 拿货,A 享受每个 5%*20 元=1 元返点。
2:A 推荐 B,B 推荐 C,C 拿货,B 享受每个 5%*20 元=1 元返点,A 享受每个 3%*20 元=0.6 元。
3:A 推荐 B,B 推荐 C,C 推荐 D,D 拿货 ,A 能拿到 B 、C 拿货的返点,拿不到 D B 可以拿到 C 、D 的返点
2771 次点击
所在节点    问与答
23 条回复
zdnyp
2020-08-10 11:14:31 +08:00
底层都很简单,比如打 8 折活动,用户充 100 元,实际到账 80 元。
xkeyideal
2020-08-10 11:17:14 +08:00
有向图,出度为 0 的节点为拿货者,然后向上回溯两个入度的节点拿返点呗
linauror
2020-08-10 11:18:49 +08:00
可以从后往前来查询,比如 D 拿货,查一下 D 的推荐人是 C,再查 C 的推荐人是 B,再上面就不用管了
zdnyp
2020-08-10 11:20:29 +08:00
正经来讲,你看当前拿货的处于几级(比如 D 是四级代理,向上逆推 2 级计算返点( 3 级没返点了...分别计算上级和上上级的返点就行吧。

只要计算上级和上上级的。
gz911122
2020-08-10 11:22:55 +08:00
改做前端? 从根源解决问题
caryqy
2020-08-10 11:24:56 +08:00
@zdnyp 正道的光
imnpc
2020-08-10 11:33:39 +08:00
不就是简单的往上找 2 级 然后返佣吗 ?
从最底层查找,谁下单然后向上找上级,根据上级等级查找分润比例,然后分润
lixiaojian
2020-08-10 11:38:31 +08:00
@imnpc 设计还有很复杂拿钱返利模式的,不方便发出来而已,只是放出来部分
lixiaojian
2020-08-10 11:39:39 +08:00
@zdnyp 目前是准备按这个来处理的,在想着怎么优化读取计算效率的问题
lixiaojian
2020-08-10 11:40:45 +08:00
@gz911122 哈哈,是在考虑了, [小声 bb 说的好像前端多简单一样 手动 dog]
coderluan
2020-08-10 11:43:37 +08:00
最好的办法当然是去补数学了, 但是我估计楼主没那个耐心和时间, 那样不妨看看一下逻辑游戏的书籍, 也能锻炼脑力的.
lixiaojian
2020-08-10 11:46:18 +08:00
@coderluan 逻辑游戏 算法类的是准备买点看看的,补数学在考虑看看在线高中 大学数学课程的
coderluan
2020-08-10 11:49:17 +08:00
@lixiaojian 先看数据结构吧, 这个对于大部分开发者比算法实用的多.
lixiaojian
2020-08-10 11:55:52 +08:00
@coderluan 好的,确实要看看的,谢了。还是项目做少了,哈哈
phobal
2020-08-10 12:40:04 +08:00
@gz911122 说得前端没难度似的,你帮这哥们儿解决一下这个问题试试 https://www.v2ex.com/t/696955
gz911122
2020-08-10 13:05:38 +08:00
@phobal
我并没有觉得前端没有难度.
我仅仅是只前端和后端所需要思考的问题与方向不同.
比如这个分润, 前端并不需要过多的考虑.
而像你觉得那个例子, 后端也不需要操心.

我的意思是既然楼主思考这种问题比较吃力, 不如换个方向罢了.
RadishWind
2020-08-10 13:37:14 +08:00
推荐楼主去看看 DDD (领域驱动设计)的相关文章 /书籍,我记得里面有一个案例(好像是策略模式)是专门讲这种问题的;
------
对我来说,这样的问题我通常会用 OOP 拆成几个层级,比如
A,B,C = Seller()
C.setMaster(B)
B.setMaster(A)
C.addSaleRecord(100 元) // 在这里,递归的调用上级( B.add 推广(100 元,1 层) B 再去调 A 。。。这样),根据层级去进行计算
lixiaojian
2020-08-10 13:46:45 +08:00
@gz911122
@RadishWind 真心感谢
goodboy95
2020-08-10 13:52:52 +08:00
我们做的系统喜欢记 path,例如用户 id 为 1 就记录 path 为"1",如果 id2 是 id1 介绍的,就在 id1 的 path 后面接上",2",记录"1,2",path 太长的话就截取后面一段,留下最后几个 id 。
这样的话,第 N 级推荐人可以直接从 path 上看见,path 上倒数第二个就是直接推荐人,倒数第三个就是隔了一级的推荐人。
glfpes
2020-08-10 14:22:43 +08:00
1 个 id 只给唯一的父亲和唯一的祖父分成。记录下每个 id 的父亲 id 与祖父 id,分成逻辑不是很直白的吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/697008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX