1.我用的是shopNC b2b2c商城,还是一个新手,没能比较全面的理解代码的运作流程。
2.现在需要做一个商品单品返佣金的功能,我去百度查找资料,没能找到相关的信息。
3.在此向大神们请教思路,或者可以推荐一些相关资料能学习一下。
4.对于这个功能的理解程度还是很浅,希望能得到比较全面的帮助,感谢!
没有了解过 shopNC, 不过,倒是可以给你说说返现的思路。
返现:即用户完成订单后,返回一定的现金。返现可以是一级返现,也可以是多级返现;
一级返:即只返回一层; 一个商品价格是 100 元,返现比例是 10%; 此时,用户 A 推荐 B 去购买这个商品;过程为:
B 去下单 ---> B 支付 100 元 ---> B 收货 ---> 完成订单 ---> 进入返现功能(100 * 10% = 10),此时,这 10 块钱是给 B,还是给 A,都可以。但是只给一个人,即:要么给 B,要么给 A;
二级返:同样的购买过程。B 完成订单后,这 10 块钱,要返回 B 一部分,返回 A 一部分。至于 返回 A 和 B 多少,要有一个比例。比如:7:3,那 B 得 7 块钱, A得 3 块钱;
多级返:同 二级返 一样。但是,一般有固定的层数,比如:3层以下,多层的话,小心把产品做成传销;
有了上面的思路,程序实现起来还是比较简单的。返现功能可以是用户支付完成后触发,也可以是用户完成订单触发。推荐完成订单后触发。因为,用户刚支付完,有可能会取消订单其它动作。
用伪代码表示:
function back($orderid) { $order = 数据库查到此订单信息 // 根据 $order 中的订单总金额、返现比例 算出 返现金额 $back_money = .... // 根据系统定的规则算出这些钱给谁 if( 一级返回,并给 B ) 更新 数据库里 B 的账号余额 elseif 多级返 调用多级返的函数 } function more_back($money, $orderid, $userid) { // 先把多层返回的比例取出,并算出最底层用户的返现 $user_money = .... // 更新用户账号里的余额 // 算出当前用户的上层用户,然后回调一次即可 more_back() }
.... 订单完成后 调用 back 函数
以上是伪代码,实际的时候,要好好控制,防止算错,特别是多层返现的时候;
我也没做过,只能按照个来说明返利是一种营销手段,所以制定相应sku商品营销策略.当然这个策略是用商户去制定,制定策略需要用很多很严谨的逻辑去限制,例如限制返利金额比例去防止刷单行为.既然是返佣金,在商品详情页url和提交购物车的商品参数中必须含有返利人信息参数.在订单生成时候,商品信息和返利信息将在提交到后台.那时候需要对商品和是否该商品存在返利进行验证.验证完毕后,将符合返利信息保存到数据库中(这数据表字段必须商品id,商品当前价格,返利人信息,返利金额,营销策略id,状态).在订单生成到订单最终状态过程之中都会出现用户退款的动作,所以必须要到订单完成交易成功状态之下返利行为才可以确立(返利状态转成功)返利人返利金额是每个月进行结算(通过定时任务,将返利信息丢放到队列里面进行慢慢核算),并将所有核算数据回馈给商户,返利人查看.在结算日开始时候,返利人获取商户打过来资金(这个可能需要很详细过程,例如这笔资金到底在商户账户上直接打过去,还是用户在结帐时候已经把这笔返利金丢放到临时账户)
返利其实很庞大的模块体系,不是三言两语能说得清楚,我只是说个人的理解
没有了解过 shopNC, 不过,倒是可以给你说说返现的思路。
返现:即用户完成订单后,返回一定的现金。
返现可以是一级返现,也可以是多级返现;
一级返:
即只返回一层; 一个商品价格是 100 元,返现比例是 10%; 此时,用户 A 推荐 B 去购买这个商品;过程为:
B 去下单 ---> B 支付 100 元 ---> B 收货 ---> 完成订单 ---> 进入返现功能(100 * 10% = 10),此时,这 10 块钱是给 B,还是给 A,都可以。但是只给一个人,即:要么给 B,要么给 A;
二级返:
同样的购买过程。B 完成订单后,这 10 块钱,要返回 B 一部分,返回 A 一部分。至于 返回 A 和 B 多少,要有一个比例。比如:7:3,那 B 得 7 块钱, A得 3 块钱;
多级返:
同 二级返 一样。但是,一般有固定的层数,比如:3层以下,多层的话,小心把产品做成传销;
有了上面的思路,程序实现起来还是比较简单的。返现功能可以是用户支付完成后触发,也可以是用户完成订单触发。推荐完成订单后触发。
因为,用户刚支付完,有可能会取消订单其它动作。
用伪代码表示:
.... 订单完成后 调用 back 函数
以上是伪代码,实际的时候,要好好控制,防止算错,特别是多层返现的时候;
我也没做过,只能按照个来说明
返利是一种营销手段,所以制定相应sku商品营销策略.当然这个策略是用商户去制定,制定策略需要用很多很严谨的逻辑去限制,例如限制返利金额比例去防止刷单行为.
既然是返佣金,在商品详情页url和提交购物车的商品参数中必须含有返利人信息参数.在订单生成时候,商品信息和返利信息将在提交到后台.那时候需要对商品和是否该商品存在返利进行验证.验证完毕后,将符合返利信息保存到数据库中(这数据表字段必须商品id,商品当前价格,返利人信息,返利金额,营销策略id,状态).在订单生成到订单最终状态过程之中都会出现用户退款的动作,所以必须要到订单完成交易成功状态之下返利行为才可以确立(返利状态转成功)
返利人返利金额是每个月进行结算(通过定时任务,将返利信息丢放到队列里面进行慢慢核算),并将所有核算数据回馈给商户,返利人查看.
在结算日开始时候,返利人获取商户打过来资金(这个可能需要很详细过程,例如这笔资金到底在商户账户上直接打过去,还是用户在结帐时候已经把这笔返利金丢放到临时账户)
返利其实很庞大的模块体系,不是三言两语能说得清楚,我只是说个人的理解