123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- namespace App\Services\Person;
- use App\Exceptions\ResponseException;
- use App\Models\ResumeOutward;
- use App\Repositories\CompanyRepository;
- use App\Repositories\MemberLogRepository;
- use App\Repositories\ResumeOutwardRepository;
- use App\Repositories\ResumeRepository;
- class ResumeOutwardService
- {
- /**
- * @var ResumeOutwardRepository
- */
- protected $ResumeOutwardRepository;
- protected $ResumeRepository;
- protected $companyRepository;
- protected $memberLogRepository;
- /**
- * ResumeOutwardService constructor.
- * @param ResumeOutwardRepository $ResumeOutwardRepository
- * @param ResumeRepository $ResumeRepository
- */
- public function __construct(MemberLogRepository $memberLogRepository,ResumeOutwardRepository $ResumeOutwardRepository, ResumeRepository $ResumeRepository, CompanyRepository $companyRepository)
- {
- $this->ResumeOutwardRepository = $ResumeOutwardRepository;
- $this->ResumeRepository = $ResumeRepository;
- $this->companyRepository = $companyRepository;
- $this->memberLogRepository = $memberLogRepository;
- }
- public function addOutward($data)
- {
- $arr = [];
- $resume = $this->ResumeRepository->getArrayById($data['resume_id']);
- $arr['uid'] = auth('web-member')->user()->id;
- if($arr['uid'] != $resume['uid']) {
- throw new ResponseException("对不起,您只能发送自己的简历!");
- }
- $arr['resume_id'] = $resume['id'];
- $arr['resume_title'] = $resume['title'];
- $arr['jobs_name'] = $data['jobs_name'];
- $arr['companyname'] = $data['companyname'];
- $arr['email'] = $data['email'];
- if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2032,[$data['resume_id'],$arr['email']])){
- throw new ResponseException("日志记失败!");
- }
- return $this->ResumeOutwardRepository->addOutward($arr);
- }
- public function outwardCompany($key)
- {
- $where[] = ['audit','=',1];
- $where[] = [ 'companyname', 'like', '%'.$key.'%'];
- $lists = $this->companyRepository->getCompanyies($where);
- if ($lists->toArray()) {
- return array('key'=>$key,'list'=>$lists);
- }
- return false;
- }
- public function outwardList()
- {
- $resume = $this->ResumeRepository->getAllResume(auth('web-member')->user()->id);
- $data[] = ['uid','=',auth('web-member')->user()->id];
- if (request()->resume_id) {
- $data[] = ['resume_id','=',request()->resume_id];
- }
- if (request()->settr) {
- switch (request()->settr) {
- case '3':
- $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
- break;
- case '7':
- $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-7 day"))];
- break;
- case '15':
- $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-15 day"))];
- break;
- case '30':
- $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-30 day"))];
- break;
- default:
- $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s', strtotime("-3 day"))];
- break;
- }
- }
- $outward = $this->ResumeOutwardRepository->outwardList($data);
- return['resume'=>$resume,'outward'=>$outward];
- }
- public function outwardDel($id,$user)
- {
- if (empty($id)) {
- throw new ResponseException('简历不存在', '', '400');
- }
- $res = ResumeOutward::where(['uid'=>$user->id])->get()->toArray();
- $array_id = array_column($res,'id');
- $res_k = string_to_array(',',$id);
- foreach ($res_k as $key=>$val){
- if(!in_array($val,$array_id)){
- throw new ResponseException('简历不存在', '', '400');
- }
- }
- if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2033,$id)){
- throw new ResponseException("日志记失败!");
- }
- return $this->ResumeOutwardRepository->outwardDel(explode(',', $id));
- }
- }
|