123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- namespace App\Services\Person;
- use App\Exceptions\ResponseException;
- use App\Models\Company;
- use App\Models\PersonShieldCompany;
- use App\Models\Resume;
- use App\Repositories\MemberLogRepository;
- use App\Repositories\ResumeOutwardRepository;
- use App\Repositories\ResumePrivacyRepository;
- use App\Repositories\ResumeRepository;
- use Illuminate\Support\Facades\DB;
- class ResumePrivacyService
- {
- /**
- * @var ResumeOutwardRepository
- */
- protected $ResumePrivacyRepository;
- protected $ResumeRepository;
- protected $memberLogRepository;
- /**
- * ResumePrivacyService constructor.
- * @param ResumePrivacyRepository $ResumePrivacyRepository
- * @param ResumeRepository $ResumeRepository
- */
- public function __construct(
- ResumePrivacyRepository $ResumePrivacyRepository,
- ResumeRepository $ResumeRepository,
- MemberLogRepository $memberLogRepository
- )
- {
- $this->ResumePrivacyRepository = $ResumePrivacyRepository;
- $this->ResumeRepository = $ResumeRepository;
- $this->memberLogRepository=$memberLogRepository;
- }
- public function saveResumePrivacy($data)
- {
- $id = array_get($data,'id');
- $display = $data['display'];
- if (empty($id)) {
- throw new ResponseException('没有找到相应的简历!', '', 400);
- }
- $user=auth('web-member')->user();
- $res = Resume::where(['uid'=>$user->id])->get()->toArray();
- $array_id = array_column($res,'id');
- if(!in_array($id,$array_id)){
- throw new ResponseException('简历不存在');
- }
- if (!$this->memberLogRepository->createLog($user,2004,$id)){
- throw new \Exception("日志错误");
- }
- return $this->ResumeRepository->updateById(['display'=>$display], $id);
- }
- public function saveShieldCompany($company_id, $user)
- {
- if (empty($company_id)) {
- throw new ResponseException('请输入要屏蔽的企业!', '', 400);
- }
- $count = $this->ResumePrivacyRepository->sheidCount($user->id);
- if($count>=10){
- throw new ResponseException('您最多可以屏蔽10个!', '', 400);
- }
- $comkey = PersonShieldCompany::where(['uid'=>$user->id])->pluck('company_id')->all();
- if(in_array($company_id, $comkey)){
- throw new ResponseException('您已经屏蔽了该企业!', '', 400);
- }
- $company = Company::find($company_id);
- if(!$company){
- throw new ResponseException('企业信息不存在', '', 400);
- }
- $arr['uid'] = $user->id;
- $arr['company_id'] = $company_id;
- $arr['comkeyword'] = $company->companyname;
- $res = $this->ResumePrivacyRepository->saveShieldCompany($arr);
- if ($res) {
- if (!$this->memberLogRepository->createLog($user,2002,$arr['comkeyword'])){
- throw new \Exception("日志错误");
- }
- event_search_update(Resume::class, [['where','uid', $user->id]], 'update');
- $arr['id'] = $res->id;
- return $arr;
- } else {
- return false;
- }
- }
- public function getShieldCompany($user)
- {
- return $this->ResumePrivacyRepository->getShieldCompany($user->id);
- }
- public function delShieldCompany($id,$user)
- {
- if (empty($id)) {
- throw new ResponseException('没有找到相应的企业!', '', 400);
- }
- $res = PersonShieldCompany::where(['uid'=>$user->id])->get()->toArray();
- $array_id = array_column($res,'id');
- if(!in_array($id,$array_id)){
- throw new ResponseException('企业数据不存在');
- }
- $company_id=PersonShieldCompany::find($id)->company_id;
- $company_name=Company::find($company_id)->companyname;
- if (!$this->memberLogRepository->createLog($user,2003,$company_name)){
- throw new \Exception("日志错误");
- }
- return $this->ResumePrivacyRepository->delShieldCompany($id);
- }
- public function getShield($user)
- {
- return $this->ResumePrivacyRepository->getShield($user->id);
- }
- }
|