subsiteResumeRepository = $subsiteResumeRepository; $this->resumeRepository = $resumeRepository; } public function getSubsiteResumeById($user, $resume_id) { $data['resume_id'] = $resume_id; $res = $this->subsiteResumeRepository->getSubsiteResumeArray($data); $result = $this->newSubsite($user->subsite_id, $res); $resultArr = $this->getSubsiteArray($result); return ['sub'=>$result,'subId'=>$resultArr]; } protected function newSubsite($subsite_id, $res) { foreach ($res as $key => $val) { if ($val['subsite_id']!=0) { if (!$val['subsites']) { unset($res[$key]); } } if ($val['subsite_id']==$subsite_id) { unset($res[$key]); } } return $res; } protected function getSubsiteArray($res) { return array_column($res, 'subsite_id'); } public function updateSubditeResume($user, $input) { $resume_id = $input['id']; if (!$resume_id) { throw new ResponseException('简历不存在!'); } $subsiteArr = SubsiteResume::where('resume_id', $resume_id)->get(); DB::beginTransaction(); try { $das['audit'] =1; $expires = config('aix.personal_set.per_set.per_set.resume_expires'); if($expires){ $das['expires'] = strtotime("+{$expires} days"); } $this->resumeRepository->updateById($das, $resume_id); if (!$subsiteArr->isEmpty()) { SubsiteResume::where('resume_id', $resume_id)->delete(); } $subsiteDefault = [ [ 'subsite_id'=>$user->subsite_id, 'resume_id'=>$resume_id, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s'), ] ]; $subsiteArr = []; if ($input['subsite_id']!==null) { $subsite = explode(',', $input['subsite_id']); foreach ($subsite as $key => $val) { $subsiteArr[$key]['subsite_id'] = $val; $subsiteArr[$key]['resume_id'] = $resume_id; $subsiteArr[$key]['created_at'] = date('Y-m-d H:i:s'); $subsiteArr[$key]['updated_at'] = date('Y-m-d H:i:s'); } if (in_array($user->subsite_id, $subsite)) { $subsiteDefault = $subsiteArr; } else { $subsiteDefault = array_merge($subsiteDefault, $subsiteArr); } } SubsiteResume::insert($subsiteDefault); event_search_update(Resume::class, (string)$resume_id, 'update'); $subsite_new_id = array_column($subsiteArr, 'subsite_id'); foreach ($subsite_new_id as $key => $val) { if ($val==$user->subsite_id) { unset($subsite_new_id[$key]); } } $newArr = []; if (!empty($subsite_new_id)) { $newArr = Subsite::whereIn('id', $subsite_new_id)->select('sitename')->get()->toArray(); if (in_array(0, $subsite_new_id)) { array_unshift($newArr, ['sitename'=>'总站']); } } DB::commit(); return ['code'=>1,'info'=>$newArr]; } catch (\Exception $e) { DB::rollback(); return ['code'=>0,'info'=>$e->getMessage()]; } } }