123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Services\Person;
- use App\Exceptions\ResponseException;
- use App\Models\Order;
- use App\Models\Resume;
- use App\Models\ResumeEntrust;
- use App\Repositories\ResumeEntrustRepository;
- use Illuminate\Support\Facades\DB;
- class ResumeEntrustService
- {
- /**
- * @var ResumeEntrustRepository
- */
- protected $ResumeEntrustRepository;
- /**
- * ResumeEntrustService constructor.
- * @param ResumeEntrustRepository $ResumeEntrustRepository
- */
- public function __construct(ResumeEntrustRepository $ResumeEntrustRepository)
- {
- $this->ResumeEntrustRepository = $ResumeEntrustRepository;
- }
- public function getEntrustByResumeId($resume_id)
- {
- $status = false;
- $entrust_start = '';
- $entrust_end = '';
- $id = '';
- $res = $this->ResumeEntrustRepository->getEntrustByResumeId($resume_id);
- if($res){
- if($res->entrust_end>=time() && $res->entrust_start){
- $status = true;
- $entrust_start = date('Y-m-d', $res->entrust_start);
- $entrust_end = date('Y-m-d', $res->entrust_end);
- $id = $res->id;
- }
- }
- return ['status'=>$status,'entrust_start'=>$entrust_start,'entrust_end'=>$entrust_end,'id'=>$id];
- }
- public function delEntrustResume($id, $resume_id, $user)
- {
- if(!$id || !$resume_id){
- throw new ResponseException('简历不存在');
- }
- $ress = Resume::where(['uid'=>$user->id])->get()->toArray();
- $array_id = array_column($ress,'id');
- if(!in_array($resume_id,$array_id)){
- throw new ResponseException('简历不存在');
- }
- $res = ResumeEntrust::where(['uid'=>$user->id])->get()->toArray();
- $array_ids = array_column($res,'id');
- if(!in_array($id,$array_ids)){
- throw new ResponseException('简历不存在');
- }
- DB::beginTransaction();//检查数据库事务
- try {
- Resume::where('id', $resume_id)->update(['entrust'=>0]);
- $this->ResumeEntrustRepository->delRefreshResume(['id'=>$id]);
- DB::commit();
- return ['code'=>1,'info'=>'取消成功'];
- } catch (\Exception $e) {
- DB::rollback();
- return ['code'=>0,'info'=>$e->getMessage()];
- }
- }
- }
|