user_id = $user_id; $this->m_id = $m_id; } /** * Execute the job. * * @return void */ public function handle() { $wechat = Wechat::where('user_id', $this->user_id)->first(); if (empty($wechat)) { $openid = '无'; $official_openid = '无'; } else { $openid = $wechat->openid ?: '无'; $official_openid = $wechat->official_openid ?: '无'; } $users = User::orderBy('id', 'desc')->where(function ($sql) use ($openid, $official_openid) { $sql->where('from_openid', $openid) ->orWhere('from_official_openid', $official_openid) ->orWhere('from_user_id', $this->user_id); })->where('type','single')->get(); try { foreach ($users as $key => $value) { $merchant_user = MerchantUser::where('mobile',$value->mobile)->first(); if(!$merchant_user) $merchant_user = new MerchantUser(); $merchant_user->openid = $merchant_user->openid?:$value->official_openid; $merchant_user->mobile = $merchant_user->mobile?:$value->mobile; $merchant_user->nickname = $merchant_user->nickname?:$value->nickname; $merchant_user->sex = $merchant_user->sex?:$value->sex; $merchant_user->pic = $merchant_user->pic?:$value->photo; $merchant_user->user_id = $value->id; $merchant_user->save(); IdentityAuthorization::updateOrCreate(['m_user_id'=>$merchant_user->id,'m_id'=>$this->m_id],['created_at'=>now()]); } } catch (\Exception $e) { \Log::info($e->getTraceAsString()); } } }