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('抱歉,您只能操作自己的招聘会职位!');
- }
- }
- }
|