uid = $uid; $this->member_relation = $member_relation; $this->plugin_commission = $plugin_commission; } public function handle() { $level = count($this->member_relation); \Log::debug('-----------relation-----------', $this->member_relation); if ($level > 1) { $first_relation = $this->uid . ',' . $this->member_relation[0] . ',' . $this->member_relation[1]; $second_relation = $this->uid . ',' . $this->member_relation[0]; } else { if ($this->member_relation[0] != 0) { $first_relation = $this->uid . ',' . $this->member_relation[0]; $second_relation = $this->uid; } else { $first_relation = $this->uid; $second_relation = $this->uid; } } $this->ChangeFirstMember($this->uid, $first_relation, $this->plugin_commission); $this->ChangeSecondMember($this->uid, $second_relation, $this->plugin_commission); } /** * @param $uid * @param $relation * @param $open_plugin */ private function ChangeFirstMember($uid, $relation, $open_plugin) { \Log::debug('----------ChangeFirstMember uid-------', $uid); $memberModel = $this->getMemberModel($uid, 1); \Log::debug('----------ChangeFirstMember-------', count($memberModel)); if (!$memberModel->isEmpty()) { foreach ($memberModel as $key => $model) { $model->relation = $relation; if ($model->save() && $open_plugin) { $this->changeAgentRelation($model); } } } } private function ChangeSecondMember($uid, $relation, $open_plugin) { \Log::debug('----------ChangeSecondMember uid-------', $uid); $memberModel = $this->getMemberModel($uid, 2); \Log::debug('----------ChangeSecondMember-------', count($memberModel)); if (!$memberModel->isEmpty()) { foreach ($memberModel as $key => $model) { if ($model->parent_id !== 0) { $model->relation = $model->parent_id . ',' .$relation; if ($model->save() && $open_plugin) { $this->changeAgentRelation($model); } } } } } private function getMemberModel($uid, $pos) { $memberModel = MemberShopInfo::getSubLevelMember($uid, $pos); return $memberModel; } private function changeAgentRelation($model) { $agents = Agents::getAgentByMemberId($model->member_id)->first(); if (!is_null($agents)) { $agents->parent_id = $model->parent_id; $agents->parent = $model->relation; $agents->save(); } $agent_data = [ 'member_id' => $model->member_id, 'parent_id' => $model->parent_id, 'parent' => $model->relation ]; // event(new RegisterByAgent($agent_data)); } }