| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | <?phpnamespace App\Services\Person;use App\Exceptions\ResponseException;use App\Models\CompanyInterView;use App\Models\PersonalJobsApply;use App\Repositories\MemberLogRepository;use App\Repositories\PersonJobsApplyRepository;use App\Repositories\ResumeRepository;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\DB;class PersonJobsApplyService{    /**     * @var PersonJobsApplyRepository     */    protected $PersonJobsApplyRepository;    protected $ResumeRepository;    protected $memberLogRepository;    /**     * PersonJobsApplyService constructor.     * @param PersonJobsApplyRepository $PersonJobsApplyRepository     * @param ResumeRepository $ResumeRepository     */    public function __construct    (   PersonJobsApplyRepository $PersonJobsApplyRepository,        ResumeRepository $ResumeRepository,        MemberLogRepository $memberLogRepository    )    {        $this->PersonJobsApplyRepository = $PersonJobsApplyRepository;        $this->ResumeRepository = $ResumeRepository;        $this->memberLogRepository=$memberLogRepository;    }    public function getJobsApply($user, $all)    {        $param_array = array('resume_id','look','settr');        $params= array();        if ($all) {            foreach ($all as $k => $v) {                if (in_array($k, $param_array)) {                    $params[$k] = $v;                }            }        }        $data[] = ['personal_uid','=',$user->id];        if (request()->resume_id) {            $data[] = ['resume_id','=',request()->resume_id];        }        if (request()->feedback) {            switch (request()->feedback) {                case 1:                    $data[] = ['personal_look','=',1];                    break;                case 2:                    $data[] = ['personal_look','=',2];                    $data[] = ['is_reply','=',0];                    break;                case 3:                    $data[] = ['personal_look','=',2];                    $data[] = ['is_reply','=',1];                    break;                case 4:                    $data[] = ['personal_look','=',2];                    $data[] = ['is_reply','=',2];                    break;                case 5:                    $data[] = ['personal_look','=',2];                    $data[] = ['is_reply','=',3];                    break;                case 6:                    $data[] = ['personal_look','=',2];                    $data[] = ['is_reply','=',4];                    break;                default:                    $data[] = ['personal_look','=',1];                    break;            }        }        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;            }        }        $count = $this->PersonJobsApplyRepository->getJobsApplyCount($user->id, getJobsStatus());        return ['count'=>$count,'applyJobs'=>$this->PersonJobsApplyRepository->getJobsApply($data, getJobsStatus()),            'params'=>$params];    }    public function delApplyJobs($user)    {        $id = request()->id;        if (empty($id)) {            throw new ResponseException('职位信息不存在!', '', 400);        }        $res = PersonalJobsApply::where(['personal_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);            }        }        $result=$this->PersonJobsApplyRepository->delApplyJobs(explode(',', $id));        if ($result){            if (!$this->memberLogRepository->createLog($user,1013,($id))) {                throw  new \Exception('日志记录失败');            }        }        return $result;    }}
 |