order = $order; $this->pay_order = $pay_order; } /** * Execute the job. * * @return void */ public function handle() { //订单绑定价值 $order = $this->order; $target_user_id = $order->user_id; $user = User::find($order->user_id); if($user && ($user->from_user_id || $user->from_openid)){ $bind_user_id = $user->from_user_id?:null; if(empty($bind_user_id)){ $bind_user_id = Wechat::where('openid', $user->from_openid)->whereNotNull('openid')->value("user_id"); } if($bind_user_id){ $data = [ 'user_id'=>$bind_user_id, 'target_user_id'=>$target_user_id, 'channel'=>$this->getChannel($order), 'sub_channel'=>'bind', 'product_id'=>$order->type_id, 'order_id'=>$order->id, ]; $share = WorthShare::where($data)->first(); if(empty($share)){ WorthShare::addWorthShare($data); } } } //订单聊天价值 $chat_user_id = $order->chat_user_id; if($chat_user_id){ $data = [ 'user_id'=>$chat_user_id, 'target_user_id'=>$target_user_id, 'channel'=>$this->getChannel($order), 'sub_channel'=>'user', 'product_id'=>$order->type_id, 'order_id'=>$order->id, ]; $share = WorthShare::where($data)->first(); if(empty($share)){ WorthShare::addWorthShare($data); } } //订单直接分享价值 $from_user_id = $order->from_user_id; $from_openid = $order->from_openid; if(empty($from_user_id) && $from_openid){ $from_user_id = Wechat::where('openid', $from_openid)->value('user_id'); } if(!empty($from_user_id)){ $data = [ 'user_id'=>$from_user_id, 'target_user_id'=>$target_user_id, 'channel'=>$this->getChannel($order), 'sub_channel'=>'direct', 'product_id'=>$order->type_id, 'order_id'=>$order->id, ]; $share = WorthShare::where($data)->first(); if(empty($share)){ WorthShare::addWorthShare($data); } } return true; } public function getChannel($order) { switch($order->type){ case 'single_service': $channel = 'service'; break; default : $channel = $order->type; break; } return $channel; } }