php 递归处理函数

/**
     * @param $store_id
     * @param $charge
     */
     public function distribute_commission($uid,$store_id,$charge,$order_sn,$order_uid){
                $distribute = db('users')->where(['user_id'=>$uid])->find();
                if($distribute){
                   if($distribute['pid']==0){
                        $data = (int)$charge*$distribute['grade']/100;
                        $income = $distribute['income']+$data;
                        db('users')->where(['user_id'=>$distribute['user_id']])->update(['income'=>$income]);
                        $res = ['uid'=>$distribute['user_id'],'order_uid'=>$order_uid,'store_id'=>$store_id,'income'=>$data,'charge'=>$charge,'create_time'=>time(),'order_sn'=>$order_sn];
                        db('distributelog')->insert($res);//奖励明细插入数据库
                    }elseif($distribute['pid']>0){
                       $data = (int)$charge*$distribute['grade']/100;
                       $income = $distribute['income']+$data;
                       db('users')->where(['user_id'=>$distribute['user_id']])->update(['income'=>$income]);
                       $res = ['uid'=>$distribute['user_id'],'order_uid'=>$order_uid,'store_id'=>$store_id,'income'=>$data,'charge'=>$charge,'create_time'=>time(),'order_sn'=>$order_sn];
                       db('distributelog')->insert($res);//奖励明细插入数据库
                        $this->distribute_commission($distribute['pid'],$store_id,$charge,$order_sn,$order_uid);
                    }else{
                        return ;
                   }

                }

猜你喜欢

转载自blog.csdn.net/qq_36607076/article/details/79292419