我按官方说明文档配置了事业部的功能,配比分别是,事业部(30%),代理商(25%),员工(23%),并且分销层级设置为二级分销,一级分销配比为20%, 二级分销的配比为0,系统运行了一个星期,试运行过程中,只有普通会员与事业部,前面并没有设置代理商,按照说明文档配置,返佣都一切正常,后期会员多了之后,将某些会员设置为代理商后,发现了一些逻辑上的问题。按照说明文档配置( https://doc.crmeb.com/single/v56/20603 )配置的类型二,关闭自购,下单用户不返佣。按照下列情况来演练了一遍。
事业部A -> 代理商B -> 员工C -> 用户D-> 用户E -> 用户F 下单
用户F下单,目前发现员工C,代理商B都没有返佣,事业部A有返佣。发现该问题之后,审计了下代码逻辑:
1、返佣时获取订单中的staff_id, agent_id, division_id字段进行返佣
2、订单中的staff_id, agent_id, division_id来自于用户表对应的字段
3、用户表中的staff_id, agent_id, division_id来自于注册时推广人对应的字段
检查数据库发现用户F、用户E、用户D的用户表、订单表staff_id, agent_id都为0, 由于代理商B申请成为代理商之前,已经推广了员工C、用户D、用户E, 下单用户F是代理商B成为代理商之后下单的,这就导致用户F在注册时向上查询代理商和员工ID时都查询不到,所以代理商和员工都无法获取佣金, 以后这些用户推广的会员也无法找到对应的代理商,如何解决这个问题?同时,上面的代码逻辑我分析的是否有问题?