| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 | <?php/** * Created by PhpStorm. * User: ZhangHao * Date: 2019/6/17 * Time: 11:11 */namespace App\Services\Jobfairout;use App\Exceptions\ResponseException;use App\Repositories\Jobfairout\JobfairoutRepository;use App\Repositories\Jobfairout\JobfairoutCompanyRepository;use App\Repositories\Jobfairout\jobfairoutPutJobRepository;use App\Repositories\MemberSetmealRepository;use App\Repositories\MemberPointRepository;use App\Repositories\Jobfair\JobfairJobRepository;use Illuminate\Support\Facades\DB;use App\Repositories\Jobfair\JobfairJobsContactRepository;use App\Repositories\MemberLogRepository;class JobfairoutPutJobService{    protected $jobfairoutRepository;    protected $jobfairoutCompanytRepository;    protected $jobfairoutPutJobRepository;    protected $memberSetmealRepository;    protected $memberPointRepository;    protected $jobfairJobRepository;    protected $jobfairJobsContactRepository;    protected $memberLogRepository;    public function __construct(        JobfairoutRepository $jobfairoutRepository,        JobfairoutCompanyRepository $jobfairoutCompanyRepository,        jobfairoutPutJobRepository $jobfairoutPutJobRepository,        MemberSetmealRepository $memberSetmealRepository,        MemberPointRepository $memberPointRepository,        JobfairJobRepository $jobfairJobRepository,        JobfairJobsContactRepository $jobfairJobsContactRepository,        MemberLogRepository $memberLogRepository    )    {        $this->jobfairoutRepository = $jobfairoutRepository;        $this->jobfairoutCompanyRepository = $jobfairoutCompanyRepository;        $this->jobfairoutPutJobRepository = $jobfairoutPutJobRepository;        $this->memberSetmealRepository = $memberSetmealRepository;        $this->memberPointRepository = $memberPointRepository;        $this->jobfairJobRepository = $jobfairJobRepository;        $this->jobfairJobsContactRepository = $jobfairJobsContactRepository;        $this->memberLogRepository = $memberLogRepository;    }    public function jobfairoutPutJobsList($map,$map1)    {        $page = 10;        $list = $this->jobfairoutPutJobRepository->jobfairCompanyJob($map,$map1, $page);        return [            'list' => $list        ];    }    public function addData($add_array,$exid,$jobfair_id)    {        $jobsInfo = $this->jobfairJobRepository->findWhereIn('id', $add_array)->toArray();        foreach ($jobsInfo as $val) {            $insert_data = [];            $insert_data['exid'] = $exid;            $insert_data['jobfair_id'] = $jobfair_id;            $insert_data['job_id'] = $val['id'];            $insert_data['jobs_name'] = $val['jobs_name'];            $insert_data['company_id'] = $val['company_id'];            $insert_data['company_name'] = $val['company_name'];            $insert_data['company_audit'] = $val['company_audit'];            $insert_data['stick'] = $val['stick'];            $insert_data['nature'] = $val['nature'];            $insert_data['nature_cn'] = $val['nature_cn'];            $insert_data['sex'] = $val['sex'];            $insert_data['sex_cn'] = $val['sex_cn'];            $insert_data['age'] = $val['age'];            $insert_data['amount'] = $val['amount'];            $insert_data['topclass'] = $val['topclass'];            $insert_data['category'] = $val['category'];            $insert_data['subclass'] = $val['subclass'];            $insert_data['category_cn'] = $val['category_cn'];            $insert_data['trade'] = $val['trade'];            $insert_data['trade_cn'] = $val['trade_cn'];            $insert_data['scale'] = $val['scale'];            $insert_data['scale_cn'] = $val['scale_cn'];            $insert_data['district'] = $val['district'];            $insert_data['district_cn'] = $val['district_cn'];            $insert_data['tag'] = $val['tag'];            $insert_data['tag_cn'] = $val['tag_cn'];            $insert_data['education'] = $val['education'];            $insert_data['education_cn'] = $val['education_cn'];            $insert_data['experience'] = $val['experience'];            $insert_data['experience_cn'] = $val['experience_cn'];            $insert_data['wage'] = $val['wage'];            $insert_data['wage_min'] = $val['wage_min'];            $insert_data['wage_max'] = $val['wage_max'];            $insert_data['wage_cn'] = $val['wage_cn'];            $insert_data['jobs_content'] = $val['jobs_content'];            $insert_data['audit'] = $val['audit'];            $insert_data['display'] = $val['display'];            $insert_data['click'] = $val['click'];            $insert_data['robot'] = $val['robot'];            $insert_data['map_x'] = $val['map_x'];            $insert_data['map_y'] = $val['map_y'];            $insert_data['map_zoom'] = $val['map_zoom'];            $insert_data['add_mode'] = $val['add_mode'];            $insert_data['is_entrust'] = $val['is_entrust'];            $insert_data['department'] = $val['department'];            $insert_data['major'] = $val['major'];            $insert_data['major_cn'] = $val['major_cn'];            $insert_data['zcid'] = $val['zcid'];            $insert_data['zc_cn'] = $val['zc_cn'];            $insert_data['zc_name'] = $val['zc_name'];            if (!$inser_id = $this->jobfairoutPutJobRepository->create($insert_data)) {                throw new \Exception($val['jobs_name'] . '添加失败');            }        }    }    /**招聘会参展职位修改     * @param $data     * @param $user     * @return \Illuminate\Http\JsonResponse     * @throws \ErrorException     * @throws \Prettus\Validator\Exceptions\ValidatorException     */    public function jobfairPutJobsSave($data, $user)    {        $id = $data['id'];        $message = '招聘会职位修改成功!';        $comArr = ['id','companyname','audit','trade','scale','map_x','map_y','map_zoom'];        $contact = ['mobile','email','qq','landline_tel','address','contact','contact_show','email_show','landline_tel_show','telephone_show'];        $data_job = [];        $data_contact = [];        if ($data['basis_contact']) {            foreach ($contact as $key => $val) {                $data_contact[$val] = $user->$val;            }        } else {            $data_contact['contact'] = $data['contact'];            $data_contact['mobile'] = $data['telephone'];            $data_contact['email'] = $data['email'];            $data_contact['landline_tel'] = $data['landline_tel'];            $data_contact['address'] = $data['address'];            $data_contact['landline_tel_show'] = $data['landline_tel_show'];            $data_contact['contact_show'] = $data['contact_show'];            $data_contact['email_show'] = $data['email_show'];            $data_contact['telephone_show'] = $data['telephone_show'];        }        foreach ($comArr as $key => $val) {            if ($val == "id") {                $data_job['company_id'] = $user->id;            } elseif ($val == 'companyname') {                $data_job['company_name'] = $user->companyname;            } elseif ($val == 'audit') {                $data_job['company_audit'] = $user->audit;            } else {                $data_job[$val] = $user->$val;            }        }        $jobArr = ['nature','sex','age','amount','district','tag','education','experience','wage','wage_min','wage_max','jobs_content','major'];        foreach ($jobArr as $key => $val) {            $data_job[$val] = $data[$val];        }        switch ($data_job['sex']) {            case 0:                $data_job['sex_cn']='不限';                break;            case 1:                $data_job['sex_cn']='男';                break;            case 2:                $data_job['sex_cn']='女';                break;        }        if ($data['wage']==-1) {            $data_job['wage'] = -1;            $data_job['wage_min']=0;            $data_job['wage_max']=0;            $data_job['wage_cn'] ='面议';        } else {            if (intval($data_job['wage'])!=0) {                $wage = explode('~', format_wage(get_category($data_job['wage'])));                $data_job['wage_max'] = 0;                if (isset($wage[1])) {                    $data_job['wage_max'] =intval($wage[1]);                }                $data_job['wage_min'] =intval($wage[0]);                $data_job['wage_cn'] =get_category($data_job['wage']);            } else {                $data_job['wage_min']=$data['wage_min'];                $data_job['wage_max']=$data['wage_max'];                $data_job['wage_cn'] =$data['wage_min'].'~'.$data['wage_max'].'/月';            }        }        $jobcategory = explode('.', $data['jobcategory']);        $data_job['topclass'] =$jobcategory[0];        $data_job['category'] =$jobcategory[1];        $data_job['subclass'] =$jobcategory[2];        $data_job['category_cn'] =get_job_category_cn($data['jobcategory']);        unset($data['jobcategory']);        $data_job['trade_cn'] =get_category($data_job['trade']);        $data_job['nature_cn'] =get_category($data_job['nature']);        $data_job['scale_cn'] =get_category($data_job['scale']);        $data_job['district'] = getDistrict($data_job['district']);        $data_job['district_cn'] =get_district_cn($data_job['district']);        $data_job['tag_cn'] =get_tag_cn($data_job['tag']);        $data_job['education_cn'] =get_category($data_job['education']);        $data_job['experience_cn'] =get_category($data_job['experience']);//        $data_job['zc_cn'] =get_category($data_job['zcid']);        $data_job['age'] =implode('-', $data['age']);        $data_job['jobs_name'] = $data['jobs_name'];        $data_job['audit'] = 2;        DB::beginTransaction();        try {            if ($id) {                if (!$this->jobfairJobRepository->update($data_job, $id)) {                    throw new Exception('修改招聘会职位失败');                }                if (!$this->jobfairJobsContactRepository->update($data_contact, $id)) {                    throw new Exception('修改联系方式失败');                }                $this->memberLogRepository->createLog($user, 1037, [$id]);            }            DB::commit();            return response()->json(['status' => 1, 'msg' => $message]);        } catch (Exception $e) {            DB::rollback();            return response()->json(['status' => 0, 'msg' => $e->getMessage()]);        }    }    public function jobfairPutJobsDel($id)    {        DB::beginTransaction();        try {            if (!$this->jobfairoutPutJobRepository->delJobs($id)) {                throw new Exception('职位删除失败');            }            DB::commit();        } catch ( \Exception $e) {            DB::rollback();            return response()->json(['status' => 0, 'msg' => $e->getMessage()]);        }        return response()->json(['status' => 1, 'msg' => " 参展职位删除成功!"]);    }    public function isOwn($ids,$company_id)    {        $ids = is_array($ids)?$ids:explode(',',$ids);        $putJobs = $this->jobfairoutPutJobRepository->getPluck(['company_id'=>$company_id],'id')->toArray();        if(array_diff($ids,$putJobs))        {            throw new ResponseException('抱歉,您只能操作自己的招聘会职位!');        }    }}
 |