| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- <?php
 
- namespace App\Services\Person;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\Resume;
 
- use App\Models\Subsite;
 
- use App\Models\SubsiteResume;
 
- use App\Repositories\ResumeRepository;
 
- use App\Repositories\SubsiteResumeRepository;
 
- use Illuminate\Support\Facades\DB;
 
- class SubsiteResumeService
 
- {
 
-     /**
 
-      * @var subsiteResumeRepository
 
-      */
 
-     protected $subsiteResumeRepository;
 
-     protected $resumeRepository;
 
-     /**
 
-      * SubsiteResumeService constructor.
 
-      * @param SubsiteResumeRepository $subsiteResumeRepository
 
-      */
 
-     public function __construct(SubsiteResumeRepository $subsiteResumeRepository, ResumeRepository $resumeRepository)
 
-     {
 
-         $this->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()];
 
-         }
 
-     }
 
- }
 
 
  |