ResumeWorkRepository = $ResumeWorkRepository; $this->ResumeRepository = $ResumeRepository; $this->TaskService = $TaskService; $this->resumeImgRepository = $resumeImgRepository; } public function images($images_id) { if ($images_id) { return $this->resumeImgRepository->find($images_id); } return false; } public function resumeImages($images, $title, $id, $resume_id, $user) { if (!$images) { throw new ResponseException('请上传作品!'); } if (!$resume_id) { throw new ResponseException('简历不存在!'); } if($id){ $res_k = ResumeImg::where(['id'=>$id])->first(); if(!$res_k){ throw new ResponseException('简历照片不存在!'); } if($res_k->resume_id != $resume_id){ throw new ResponseException('简历不存在!'); } }else{ $res_m = Resume::where(['uid'=>$user->id])->get()->toArray(); $array_id = array_column($res_m,'id'); if(!in_array($resume_id,$array_id)){ throw new ResponseException('简历不存在!'); } } $resumeCount = ResumeImg::where(['resume_id'=>$resume_id])->count(); if ($resumeCount>=3) { throw new ResponseException('最多上传3张图片!'); } $aveName = md5(time().uniqid()).'.jpg'; $data= base64_decode($images); $stroge = storage_path('app/public/person/images/'); DB::beginTransaction(); try { $res = file_put_contents($stroge.$aveName, $data); $resume_imgs = ResumeImg::where(['uid'=>$user->id,'resume_id'=>$resume_id])->first(); if (empty($resume_imgs)) { $resumeArr = $this->ResumeRepository->getResumeById($resume_id); if ($resumeArr->complete_percent+5<=100) { if ($resumeArr->complete_percent+5>=70 && $resumeArr->complete_percent+5<90) { $this->TaskService->doTask(12); $this->ResumeRepository->updateById([ 'complete_percent'=>$resumeArr->complete_percent+5, 'level'=>2], $resume_id); } elseif ($resumeArr->complete_percent+5>=90 && $resumeArr->complete_percent+5<=100) { $this->TaskService->doTask(11); $this->ResumeRepository->updateById([ 'complete_percent'=>$resumeArr->complete_percent+5,'level'=>1], $resume_id); } else { $this->ResumeRepository->updateById([ 'complete_percent'=>$resumeArr->complete_percent+5,'level'=>0], $resume_id); } } } $drr['uid'] = $user->id; $drr['resume_id'] = $resume_id; $drr['img'] = 'person/images/'.$aveName; $drr['title'] = $title; if (!$id) { $result = ResumeImg::create($drr); } else { $result = ResumeImg::where('id', $id)->update($drr); } if ($result) { $this->ResumeRepository->updateById(['audit'=>1], $resume_id); event_search_update(Resume::class, (string)$resume_id, 'update'); } DB::commit(); return ['code'=>1,'info'=>'上传成功!','data'=>$drr['img']]; } catch (\Exception $e) { DB::rollback(); return ['code'=>0,'info'=>'上传成功!']; } } public function isOwn($id,$user,$resume_id = '') { $image = $this->resumeImgRepository->getImage(['id'=>$id]); if(!$image) { throw new ResponseException('该作品不存在!'); } if($image->uid != $user->id) { throw new ResponseException('对不起,您只能操作自己的简历!'); } //删除时候判断是否为一致 if($resume_id && $image->resume_id != $resume_id) { throw new ResponseException('参数错误!'); } } }