| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 | 
							- <?php
 
- namespace App\Services\Person;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\Order;
 
- use App\Models\Resume;
 
- use App\Models\ResumeEducation;
 
- use App\Models\ResumeEntrust;
 
- use App\Repositories\CategoryRepository;
 
- use App\Repositories\MemberLogRepository;
 
- use App\Repositories\ResumeEducationRepository;
 
- use App\Repositories\ResumeRepository;
 
- use App\Services\Common\TaskService;
 
- use Illuminate\Support\Facades\DB;
 
- class ResumeEducationService
 
- {
 
-     /**
 
-      * @var ResumeEducationRepository
 
-      */
 
-     protected $ResumeEducationRepository;
 
-     protected $CategoryRepository;
 
-     protected $ResumeRepository;
 
-     protected $taskService;
 
-     protected $memberLogRepository;
 
-     /**
 
-      * ResumeEducationService constructor.
 
-      * @param ResumeEducationRepository $ResumeEducationRepository
 
-      * @param CategoryRepository $CategoryRepository
 
-      * @param ResumeRepository $ResumeRepository
 
-      * @param TaskService $taskService
 
-      */
 
-     public function __construct
 
-     (ResumeEducationRepository $ResumeEducationRepository,
 
-      CategoryRepository $CategoryRepository,
 
-      ResumeRepository $ResumeRepository,
 
-      TaskService $taskService,
 
-      MemberLogRepository $memberLogRepository
 
-     )
 
-     {
 
-         $this->ResumeEducationRepository = $ResumeEducationRepository;
 
-         $this->CategoryRepository = $CategoryRepository;
 
-         $this->ResumeRepository = $ResumeRepository;
 
-         $this->taskService = $taskService;
 
-         $this->memberLogRepository=$memberLogRepository;
 
-     }
 
-     public function getResumeEducationByResumeId($resumeId,$user)
 
-     {
 
-         $res =  Resume::where(['uid'=>$user->id])->get()->toArray();
 
-         $array_ids = array_column($res,'id');
 
-         if(!in_array($resumeId,$array_ids)){
 
-             throw new ResponseException('简历不存在');
 
-         }
 
-         return $this->ResumeEducationRepository->getResumeEducationByResumeId($resumeId);
 
-     }
 
-     public function resumeEducationAdd($date, $user)
 
-     {
 
-         $arr = [];
 
-         $arr['resume_id'] = array_get($date,'resume_id');
 
-         $res = Resume::where(['uid'=>$user->id])->get()->toArray();
 
-         $array_id = array_column($res,'id');
 
-         if(array_key_exists('id',$date) && $date['id']){
 
-             $exist = ResumeEducation::where(['uid'=>$user->id,'id'=>$date['id']])->get()->toArray();
 
-             if(!$exist){
 
-                 throw new ResponseException('只能修改自己的简历');
 
-             }
 
-         }
 
-         if(!in_array($arr['resume_id'],$array_id)){
 
-             throw new ResponseException('简历不存在');
 
-         }
 
-         if (!$date['todate']) {
 
-             $arr['endyear'] = $date['endyear'];
 
-             $arr['endmonth'] = $date['endmonth'];
 
-             $arr['todate'] = 0;
 
-         } else {
 
-             $arr['endyear'] = 0;
 
-             $arr['endmonth'] = 0;
 
-             $arr['todate'] = 1;
 
-         }
 
-         $currentArr = $this->CategoryRepository->getCategory($date['education']);
 
-         $arr['education_cn'] = $currentArr['demand'];
 
-         $arr['uid'] = $user->id;
 
-         $arr['school'] = $date['school'];
 
-         $arr['speciality'] = $date['speciality'];
 
-         $arr['education'] = $date['education'];
 
-         $arr['startyear'] = $date['startyear'];
 
-         $arr['startmonth'] = $date['startmonth'];
 
-         $result = $this->ResumeEducationRepository->getResumeEducationByResumeId($arr['resume_id']);
 
-         DB::beginTransaction();
 
-         try {
 
-             if (empty($result)) {
 
-                 $resumeArr = $this->ResumeRepository->getResumeById($arr['resume_id']);
 
-                 if($resumeArr->complete_percent+15<=100){
 
-                     if ($resumeArr->complete_percent+15>=70 && $resumeArr->complete_percent+15<90) {
 
-                         $this->taskService->doTask(12);
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent+15,'level'=>2], $arr['resume_id']);
 
-                     } elseif ($resumeArr->complete_percent+15>=90 && $resumeArr->complete_percent+15<=100) {
 
-                         $this->taskService->doTask(11);
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent+15,'level'=>1], $arr['resume_id']);
 
-                     } else {
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent+15,'level'=>0], $arr['resume_id']);
 
-                     }
 
-                 }
 
-             }
 
-             if ($date['id']) {
 
-                 $resd = $this->ResumeEducationRepository->updateResume($arr, $date['id']);
 
-                 if ($resd) {
 
-                     $this->ResumeRepository->updateById(['audit'=>1], $date['resume_id']);
 
-                     $resd = $this->ResumeEducationRepository->getResumeEducationByResumeId($date['resume_id']);
 
-                 }
 
-             } else {
 
-                 $resd = $this->ResumeEducationRepository->resumeEducationAdd($arr);
 
-                 if ($resd) {
 
-                     $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, $date['resume_id']);
 
-                     event_search_update(Resume::class, (string)$date['resume_id'], 'update');
 
-                     $resd = $this->ResumeEducationRepository->getResumeEducationByResumeId($date['resume_id']);
 
-                 }
 
-             }
 
-             DB::commit();
 
-             if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2018,$arr['resume_id'])){
 
-                 throw new \Exception("日志记失败!");
 
-             }
 
-             return ['code'=>1,'info'=>$resd];
 
-         } catch (\Exception $e) {
 
-             DB::rollback();
 
-             return ['code'=>0,'info'=>$e->getMessage()];
 
-         }
 
-     }
 
-     public function resumeUpdate($id,$user)
 
-     {
 
-         if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2019,$id)){
 
-             throw new \Exception("日志记失败!");
 
-         }
 
-         $res = ResumeEducation::where(['uid'=>$user->id])->get()->toArray();
 
-         $array_id = array_column($res,'id');
 
-         if(!in_array($id,$array_id)){
 
-             throw new ResponseException('教育信息不存在');
 
-         }
 
-         return $this->ResumeEducationRepository->getResumeById($id);
 
-     }
 
-     public function resumeEduDelete($id,$user)
 
-     {
 
-         $resume_id = request()->resume_id;
 
-         $res_k = ResumeEducation::find($id);
 
-         if(!$res_k){
 
-             throw new ResponseException('教育信息不存在');
 
-         }
 
-         if($res_k->uid != $user->id){
 
-             throw new ResponseException('简历不存在');
 
-         }
 
-         if($res_k->resume_id != $resume_id){
 
-             throw new ResponseException('简历不存在');
 
-         }
 
-         $count = $this->ResumeEducationRepository->getResumeEduCount(request()->resume_id);
 
-         DB::beginTransaction();
 
-         try {
 
-             $res = $this->ResumeEducationRepository->resumeEduDelete($id);
 
-             if ($count==1) {
 
-                 $resumeArr = $this->ResumeRepository->getResumeById(request()->resume_id);
 
-                 if ($resumeArr->complete_percent-15>0) {
 
-                     if ($resumeArr->complete_percent-15>=70 && $resumeArr->complete_percent-15<90) {
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent-15,'level'=>2], request()->resume_id);
 
-                     } elseif ($resumeArr->complete_percent-15>=90 && $resumeArr->complete_percent-15<=100) {
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent-15,'level'=>1], request()->resume_id);
 
-                     } else {
 
-                         $this->ResumeRepository->updateById(['complete_percent'=>$resumeArr->complete_percent-15,'level'=>0], request()->resume_id);
 
-                     }
 
-                     event_search_update(Resume::class, (string)request()->resume_id, 'update');
 
-                 }
 
-             }
 
-             if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2013,$id)){
 
-                     throw new \Exception("日志记失败!");
 
-             }
 
-             DB::commit();
 
-             return ['code'=>1,'info'=>$res];
 
-         } catch (\Exception $e) {
 
-             DB::rollback();
 
-             return ['code'=>0,'info'=>$e->getMessage()];
 
-         }
 
-     }
 
-     public function educationEdit($id)
 
-     {
 
-        if ($id) {
 
-            return $this->ResumeEducationRepository->find($id);
 
-        }
 
-        return false;
 
-     }
 
- }
 
 
  |