| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 | <?php/** * Created by PhpStorm. * User: wuzhenke * Date: 2019/1/24 * Time: 17:26 */namespace App\Services\Jobfair;use App\Exceptions\ResponseException;use App\Repositories\Jobfair\JobfairPutJobRepository;use App\Repositories\CategoryDistrictRepository;use App\Repositories\CategoryRepository;use Exception;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\DB;use App\Repositories\Jobfair\JobfairJobRepository;use App\Repositories\Jobfair\JobfairJobsContactRepository;use App\Repositories\MemberLogRepository;use App\Repositories\Jobfair\JobfairCompanyRepository;use App\Models\Jobfair\JobfairPutJob;use App\Repositories\CompanyContactsRepository;class JobfairPutJobService{    protected $jobfairPutJobRepository;    protected $categoryDistrictRepository;    protected $categoryRepository;    protected $jobfairJobRepository;    protected $jobfairJobsContactRepository;    protected $memberLogRepository;    protected $jobfairCompanyRepository;    protected $companyContactsRepository;    /**     * @param $jobfairPutJobRepository     */    public function __construct(JobfairPutJobRepository $jobfairPutJobRepository,JobfairCompanyRepository $jobfairCompanyRepository,CategoryDistrictRepository $categoryDistrictRepository,CategoryRepository $categoryRepository,JobfairJobRepository $jobfairJobRepository,JobfairJobsContactRepository $jobfairJobsContactRepository, MemberLogRepository $memberLogRepository,CompanyContactsRepository $companyContactsRepository)    {        $this->jobfairPutJobRepository = $jobfairPutJobRepository;        $this->categoryDistrictRepository = $categoryDistrictRepository;        $this->categoryRepository = $categoryRepository;        $this->jobfairJobRepository = $jobfairJobRepository;        $this->jobfairJobsContactRepository = $jobfairJobsContactRepository;        $this->memberLogRepository = $memberLogRepository;        $this->jobfairCompanyRepository = $jobfairCompanyRepository;        $this->companyContactsRepository = $companyContactsRepository;    }    /**招聘会公司职位     * @return array     */    public function jobfairCompany($where,$user,$where1 = [],$limit = '')    {        $where[] =  array('company_id','=',$user->id);        $lists = $this->jobfairPutJobRepository->getJobfairCompanyJob($where1,$where,$limit);        if ($lists->isEmpty()) {            return $lists;        } else {            foreach ($lists as $k => $v) {                $lists[$k]->jobs->education_cn = $v->jobs->education_cn ? $v->jobs->education_cn : '不限';                $lists[$k]->jobs->experience_cn = $v->jobs->experience_cn ? $v->jobs->experience_cn : '不限';                //年龄限制                if (is_array($v->jobs->age)) {                    if (implode('', $v->jobs->age)=='') {                        $lists[$k]->jobs->age_cn = '年龄不限';                    } else {                        $lists[$k]->jobs->age_cn = implode('-', $v->jobs->age).'岁';                    }                } else {                    if ($v->jobs->age == '-' || $v->jobs->age == '0' || $v->jobs->age == null) {                        $lists[$k]->jobs->age_cn = '年龄不限';                    } else {                        $lists[$k]->jobs->age_cn = $v->jobs->age.'岁';                    }                }            }        }        return $lists;    }    /**切换职位状态     * @param $job_id     * @param $display     * @return \Illuminate\Http\JsonResponse     */    public function displayswitch($job_id,$display)    {        if($display == 1){            $msg = '关闭';        }else {            $msg = '开启';        }        $display = $display == 1 ? 2 : 1;        $id = $job_id;        $info = $this->jobfairPutJobRepository->getAudit($id);        if($info->jobs->audit != 1){            return response()->json(['status' => 0, 'msg' => '操作失败!如未审核请联系管理员审核职位', 'data' => '']);        }        if (!$this->jobfairJobRepository->displayswitch($info->job_id,$display)) {            return response()->json(['status' => 0, 'msg' => '职位'.$msg.'失败', 'data' => '']);        }        Cache::put(session('floorplan_stands.jobfair_id').'-'.session('floorplan_stands.company_id'), time(),120);        return response()->json(['status' => 1, 'msg' => '职位'.$msg.'成功', 'data' => '']);    }    /**切换职位状态     * @param $job_id     * @param $display     * @return \Illuminate\Http\JsonResponse     */    public function displayAllSwitch($ids,$display)    {        $jobs_id = $this->jobfairPutJobRepository->getFairJobInIds($ids);        if($this->jobfairJobRepository->displayAllSwitch($jobs_id,$display))        {            Cache::put(session('floorplan_stands.jobfair_id').'-'.session('floorplan_stands.company_id'), time(),120);            return response()->json(['status' => 1, 'msg' => '操作成功', 'data' => '']);        }        return response()->json(['status' => 0, 'msg' => '操作失败', 'data' => '']);    }    /** 招聘会职位库添加     * @param $data     * @param $user     * @return \Illuminate\Http\JsonResponse|string     * @throws \ErrorException     * @throws \Prettus\Validator\Exceptions\ValidatorException     */    public function jobfairJobsSave($data,$user)    {        $comArr = ['id','companyname','created_at','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 = [];        $data_put_jobs = [];        if ($data['basis_contact'] == 0) {            foreach ($contact as $key => $val) {                $data_contact[$val] = $user[$val] ? $user[$val] : '';            }        } else {            $contacts = $this->companyContactsRepository->getOne($data['basis_contact']);            foreach ($contact as $key => $val) {                $data_contact[$val] = $contacts[$val] ? $contacts[$val] : '';            }            $data_contact['mobile'] = $contacts['telephone'] ? $contacts['telephone'] : '';        }        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 == 'created_at') {                $data_job['company_addtime'] = strtotime($user['created_at']);            } 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','department',];        foreach ($jobArr as $key => $val) {            if(isset($data[$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_job['wage'] == -1){            $data_job['wage_min'] = 0;            $data_job['wage_max'] = 0;            $data_job['wage_cn'] = '面议';        }else{            if($data_job['wage'] == 0){                $data_job['wage_cn'] = $data_job['wage_min'].'~'.$data_job['wage_max'].'/月';            }else{                $data_job['wage_cn'] = get_category($data_job['wage']);                $wage = explode('~', format_wage(get_category($data_job['wage'])));                if (isset($wage[1])) {                    $data_job['wage_max'] =intval($wage[1]);                }                $data_job['wage_min'] =intval($wage[0]);            }        }        $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_cn'] =get_district_cn($data_job['district']);        if(isset($data_job['tag'])){            $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']);        if ($data['ygxs']){            $data_job['ygxs'] = $data['ygxs'];            if ($data_job['ygxs'] == 363){                $data_job['wage_cn'] = $data_job['wage_min'].'/小时';            }        }        if ($data['techlevel']){            $data_job['techlevel'] = $data['techlevel'];        }        if ($data['syq']){            $data_job['syq'] = $data['syq'];            $data_job['syqxz_min'] = $data['syq_min'];        }//        $data_job['zc_cn'] =get_category($data_job['zcid']);        if(is_numeric($data['minage'])&& is_numeric( $data['maxage'])){            $data_job['age'] = $data['minage'].'-'.$data['maxage'];        }else{            $data_job['age']= '-';        }        $data_job['jobs_name'] = $data['jobs_name'];        $data_put_jobs['exid'] = session('floorplan_stands.exid');        $data_put_jobs['jobfair_id'] = session('floorplan_stands.jobfair_id');        $data_put_jobs['position_id'] = session('floorplan_stands.id');        DB::beginTransaction();//检查数据库事务(有错)        try {            if (!$this->jobfairJobRepository->store($data_job)) {                throw new Exception('添加招聘会职位库失败');            }            $data_put_jobs['job_id'] = $data_contact['pid'] = DB::getPdo()->lastInsertId();            if (!$this->jobfairJobsContactRepository->store($data_contact)) {                throw new Exception('添加联系方式失败');            }            $jobfairJob = $this->jobfairJobRepository->find($data_put_jobs['job_id']);            $data_put_jobs['company_id'] = $jobfairJob['company_id'];            $data_put_jobs['jobs_name'] = $jobfairJob['jobs_name'];            $data_put_jobs['company_name'] = $jobfairJob['company_name'];            $data_put_jobs['company_audit'] = $jobfairJob['company_audit'];            $data_put_jobs['stick'] = $jobfairJob['stick'];            $data_put_jobs['nature'] = $jobfairJob['nature'];            $data_put_jobs['nature_cn'] = $jobfairJob['nature_cn'];            $data_put_jobs['sex'] = $jobfairJob['sex'];            $data_put_jobs['sex_cn'] = $jobfairJob['sex_cn'];            $data_put_jobs['age'] = $jobfairJob['age'];            $data_put_jobs['amount'] = $jobfairJob['amount'];            $data_put_jobs['topclass'] = $jobfairJob['topclass'];            $data_put_jobs['category'] = $jobfairJob['category'];            $data_put_jobs['subclass'] = $jobfairJob['subclass'];            $data_put_jobs['category_cn'] = $jobfairJob['category_cn'];            $data_put_jobs['trade'] = $jobfairJob['trade'];            $data_put_jobs['trade_cn'] = $jobfairJob['trade_cn'];            $data_put_jobs['scale'] = $jobfairJob['scale'];            $data_put_jobs['scale_cn'] = $jobfairJob['scale_cn'];            $data_put_jobs['district'] = $jobfairJob['district'];            $data_put_jobs['district_cn'] = $jobfairJob['district_cn'];            $data_put_jobs['tag'] = $jobfairJob['tag'];            $data_put_jobs['tag_cn'] = $jobfairJob['tag_cn'];            $data_put_jobs['education'] = $jobfairJob['education'];            $data_put_jobs['education_cn'] = $jobfairJob['education_cn'];            $data_put_jobs['experience'] = $jobfairJob['experience'];            $data_put_jobs['experience_cn'] = $jobfairJob['experience_cn'];            $data_put_jobs['wage'] = $jobfairJob['wage'];            $data_put_jobs['wage_min'] = $jobfairJob['wage_min'];            $data_put_jobs['wage_max'] = $jobfairJob['wage_max'];            $data_put_jobs['wage_cn'] = $jobfairJob['wage_cn'];            $data_put_jobs['negotiable'] = $jobfairJob['negotiable'];            $data_put_jobs['jobs_content'] = $jobfairJob['jobs_content'];            $data_put_jobs['audit'] = $jobfairJob['audit'];            $data_put_jobs['display'] = $jobfairJob['display'];            $data_put_jobs['click'] = $jobfairJob['click'];            $data_put_jobs['robot'] = $jobfairJob['robot'];            $data_put_jobs['map_x'] = $jobfairJob['map_x'];            $data_put_jobs['map_y'] = $jobfairJob['map_y'];            $data_put_jobs['map_zoom'] = $jobfairJob['map_zoom'];            $data_put_jobs['add_mode'] = $jobfairJob['add_mode'];            $data_put_jobs['is_entrust'] = $jobfairJob['is_entrust'];            $data_put_jobs['department'] = $jobfairJob['department'];            $data_put_jobs['major'] = $jobfairJob['major'];            $data_put_jobs['major_cn'] = $jobfairJob['major_cn'];            $data_put_jobs['zcid'] = $jobfairJob['zcid'];            $data_put_jobs['zc_cn'] = $jobfairJob['zc_cn'];            $data_put_jobs['zc_name'] = $jobfairJob['zc_name'];            $data_put_jobs['syq'] = $jobfairJob['syq'];            $data_put_jobs['syqxz_min'] = $jobfairJob['syqxz_min'];            $data_put_jobs['ygxs'] = $jobfairJob['ygxs'];            $data_put_jobs['techlevel'] = $jobfairJob['techlevel'];            if (!$this->jobfairPutJobRepository->createData($data_put_jobs)) {                throw new Exception('添加招聘职位失败');            }            $this->memberLogRepository->createLog(auth('web-company')->user(), 1034, [$data_put_jobs['jobs_name'],$data_contact['pid']]);            Cache::put(session('floorplan_stands.jobfair_id').'-'.$user['id'], time(),120);            DB::commit();            return response()->json(['status' => 1, 'msg' =>'添加成功']);        } catch (Exception $e) {            DB::rollback();            return response()->json(['status' => 0, 'msg' =>$e->getMessage()]);        }    }    public function jobfairJobsEdit($id){        $jobfair_job = $this->jobfairPutJobRepository->editJob($id);        if (!$jobfair_job) {            return false;        }        return $jobfair_job;    }    public function jobfairPutJobsEdit($data,$user){        $id = $data['id'];        $comArr = ['id','companyname','created_at','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'] == 0) {            foreach ($contact as $key => $val) {                $data_contact[$val] = $user[$val] ? $user[$val] : '';            }        } else {            $contacts = $this->companyContactsRepository->getOne($data['basis_contact']);            foreach ($contact as $key => $val) {                $data_contact[$val] = $contacts[$val] ? $contacts[$val] : '';            }            $data_contact['mobile'] = $contacts['telephone'] ? $contacts['telephone'] : '';        }        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','department',];        foreach ($jobArr as $key => $val) {            if(isset($data[$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_job['wage'] == -1){            $data_job['wage_min'] = 0;            $data_job['wage_max'] = 0;            $data_job['wage_cn'] = '面议';        }else{            if($data_job['wage'] == 0){                $data_job['wage_cn'] = $data_job['wage_min'].'~'.$data_job['wage_max'].'/月';            }else{                $data_job['wage_cn'] = get_category($data_job['wage']);                $wage = explode('~', format_wage(get_category($data_job['wage'])));                if (isset($wage[1])) {                    $data_job['wage_max'] =intval($wage[1]);                }                $data_job['wage_min'] =intval($wage[0]);            }        }        $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']);        if (isset($data_job['nature'])){            $data_job['nature_cn'] =get_category($data_job['nature']);        }else{            $data_job['nature_cn'] = '';        }        if ($data['ygxs']){            $data_job['ygxs'] = $data['ygxs'];            if ($data['ygxs'] == 363){                $data_job['wage_cn'] = $data_job['wage_min'].'/小时';            }        }else{            $data_job['ygxs'] = 0;        }        if ($data['techlevel']){            $data_job['techlevel'] = $data['techlevel'];        }        if ($data['syq']){            $data_job['syq'] = $data['syq'];            $data_job['syqxz_min'] = $data['syq_min'];        }        $data_job['scale_cn'] =get_category($data_job['scale']);        $data_job['district_cn'] =get_district_cn($data_job['district']);        if(isset($data_job['tag'])){            $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']);        if(is_numeric($data['minage'])&& is_numeric( $data['maxage'])){            $data_job['age'] = $data['minage'].'-'.$data['maxage'];        }else{            $data_job['age']= '-';        }        $data_job['jobs_name'] = $data['jobs_name'];        $data_job['audit'] = 2;        DB::beginTransaction();        try {            if (!$this->jobfairJobRepository->update($data_job, $id)) {                throw new Exception('修改招聘会职位失败!');            }            if($this->jobfairJobsContactRepository->getContact(['pid'=>$id])){                if (!$this->jobfairJobsContactRepository->update($data_contact, $id)) {                    throw new Exception('修改联系方式失败');                }            }else{                $data_contact['pid'] = $id;                if (!$this->jobfairJobsContactRepository->create($data_contact)) {                    throw new Exception('修改联系方式失败');                }            }            $this->memberLogRepository->createLog(auth('web-company')->user(), 1035, [$id]);            DB::commit();            Cache::put(session('floorplan_stands.jobfair_id').'-'.$user['id'], time(),120);            return response()->json(['status' => 1, 'msg' =>'修改成功']);        } catch (Exception $e) {            DB::rollback();            return response()->json(['status' => 0, 'msg' => $e->getMessage()]);        }    }    public static function countAuditJobsNum($user)    {        $map = [];        if (config('aix.companyset.comset.show_set.jobs_display') == 1) {            $map['audit'] = 1;        }        return JobfairPutJob::whereHas('jobs',function ($query) use ($user){            $query->where('company_id',$user->id);        })->where($map)->count();    }    public function jobfairPutJobsList($map,$map1)    {        $page = 10;        $list = $this->jobfairPutJobRepository->jobfairCompanyJob($map,$map1, $page);        return [            'list' => $list        ];    }    public function jobfairPutJobsDel($id)    {        DB::beginTransaction();        try {            if (!$this->jobfairPutJobRepository->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 jobfairjobModify($id, $user)    {        $companyContact = $this->companyContactsRepository->getContacts(['company_id'=>$user->id]);        $jobfair_job = $this->jobfairPutJobRepository->jobedit($id);        if (!$jobfair_job) {            return false;        }        $jobfair_job->tag = explode(',', $jobfair_job->tag);        $jobfair_job->age = explode('-', $jobfair_job->age);        $jobfair_job->jobsContact->landline_tel =$jobfair_job->jobsContact->landline_tel?explode('-', $jobfair_job->jobsContact->landline_tel):[];        return $result = [            'company' =>$user,            'jobsInfo'=>$jobfair_job,            'companyContact'=>$companyContact,        ];    }    /**招聘会参展职位修改     * @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 addData($add_array,$exid,$jobfair_id,$position_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['position_id'] = $position_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->jobfairPutJobRepository->create($insert_data)) {                throw new \Exception($val['jobs_name'] . '添加失败');            }        }    }    public function isOwn($ids,$company_id)    {        $ids = is_array($ids)?$ids:explode(',',$ids);        $putJobs = $this->jobfairPutJobRepository->getPluck(['company_id'=>$company_id],'id')->toArray();        if(array_diff($ids,$putJobs))        {            throw new ResponseException('抱歉,您只能操作自己的招聘会职位!');        }    }}
 |