getBasicsConfig($site_id)['data']['value']; if(!empty(model("fenxiao_order")->getValue(['order_id'=>$order[ 'order_id' ]],'fenxiao_order_id'))){//判断是否重复计算 return $this->success(); } //检测分销商上级关系 $member_info = model("member")->getInfo([ [ 'member_id', '=', $order[ 'member_id' ] ] ], 'fenxiao_id,is_fenxiao'); //如果没有分销商直接返回不计算,没有考虑首次付款上下级绑定 if(empty($member_info)){ return $this->success(); } if ($member_info[ 'fenxiao_id' ] == 0) { return $this->success(); } $fenxiao_id = $member_info[ 'fenxiao_id' ]; $fenxiao_info = model("fenxiao")->getInfo([ [ 'fenxiao_id', '=', $fenxiao_id ], [ 'is_delete', '=', 0 ] ]); if (empty($fenxiao_info)) { return $this->success(); } $parent_fenxiao_info = model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status, parent'); $direct_push=$basics['direct_push'];//直推 $indirect_push=$basics['indirect_push'];//间推 $is_range=$basics['is_range']; if($is_range && $parent_fenxiao_info){ //减去极差奖励 $direct_push -=$indirect_push; }else{ // $direct_push +5; //管理直推 } $unit_price=Db::name('futures')->alias('a') ->where([ 'a.order_id'=>$order['order_id'], 'a.seller_uid'=>$order[ 'member_id' ]] ) ->join( 'futures f','a.old_futures_id=f.id') ->value('f.unit_price'); //获取上次买入价格 $order_goods = model("order_goods")->getInfo(['order_id'=>$order[ 'order_id' ]]); $commission_rate=$direct_push+$indirect_push; //总佣金比例 $service_charge=$unit_price * $basics['service_price']/100;//总服务费 $commission=$commission_rate*$service_charge/100;//总佣金 $order_fenxiao_data = [ 'one_rate' => $direct_push, 'one_commission' =>$direct_push*$service_charge/100, 'two_rate' => $indirect_push, 'two_commission' => $indirect_push*$service_charge/100, 'three_rate' => 0, ]; //启动分销 $data = [ 'order_id' => $order[ 'order_id' ], 'order_no' => $order[ 'order_no' ], 'order_goods_id' => $order_goods[ 'order_goods_id' ], 'site_id' => $order[ 'site_id' ], 'site_name' => $order[ 'site_name' ], 'goods_id' => $order_goods[ 'goods_id' ], 'sku_id' => $order_goods[ 'sku_id' ], 'sku_name' => $order_goods[ 'sku_name' ], 'sku_image' => $order_goods[ 'sku_image' ], 'price' => $unit_price, 'num' => $order_goods[ 'num' ], 'real_goods_money' =>$unit_price, 'member_id' => $order[ 'member_id' ], 'member_name' => $order[ 'name' ], 'member_mobile' => $order[ 'mobile' ], 'full_address' => $order[ 'full_address' ] . $order[ 'address' ], 'commission' => $commission, 'commission_rate' => $commission_rate, 'one_fenxiao_id' => empty($fenxiao_info) ? 0 : $fenxiao_info[ 'fenxiao_id' ], 'one_rate' => empty($order_fenxiao_data[ 'one_rate' ]) ? 0 : $order_fenxiao_data[ 'one_rate' ], 'one_commission' => empty($order_fenxiao_data[ 'one_commission' ]) ? 0 : $order_fenxiao_data[ 'one_commission' ], 'one_fenxiao_name' => empty($fenxiao_info) ? '' : $fenxiao_info[ 'fenxiao_name' ], 'two_fenxiao_id' => empty($parent_fenxiao_info) ? 0 : $parent_fenxiao_info[ 'fenxiao_id' ], 'two_rate' => empty($order_fenxiao_data[ 'two_rate' ]) ? 0 : $order_fenxiao_data[ 'two_rate' ], 'two_commission' => empty($order_fenxiao_data[ 'two_commission' ]) ? 0 : $order_fenxiao_data[ 'two_commission' ], 'two_fenxiao_name' => empty($parent_fenxiao_info) ? '' : $parent_fenxiao_info[ 'fenxiao_name' ], 'create_time' => time() ]; model("fenxiao_order")->add($data); $fenxiao_order_model = new FenxiaoOrder(); $fenxiao_order_model->settlement($data['order_id']); $res = $fenxiao_order_model->calculateOrder($data['order_id']); return $this->success(); } }