JobfairJobsService.php 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wuzhenke
  5. * Date: 2019/1/22
  6. * Time: 15:38
  7. */
  8. namespace App\Services\Jobfair;
  9. use App\Exceptions\ResponseException;
  10. use App\Repositories\CompanyContactsRepository;
  11. use App\Repositories\Jobfair\JobfairCompanyRepository;
  12. use App\Repositories\Jobfair\JobfairJobsContactRepository;
  13. use App\Repositories\Jobfair\JobfairJobRepository;
  14. use App\Repositories\Jobfair\JobfairPutJobRepository;
  15. use App\Repositories\MemberLogRepository;
  16. use Exception;
  17. use Illuminate\Support\Facades\DB;
  18. use App\Repositories\JobsRepository;
  19. use App\Repositories\JobsContactRepository;
  20. use App\Services\Jobfair\JobfairPutJobService;
  21. class JobfairJobsService
  22. {
  23. protected $jobfairJobRepository;
  24. protected $jobfairJobsContactRepository;
  25. protected $memberLogRepository;
  26. protected $jobfairCompanyRepository;
  27. protected $jobfairPutJobRepository;
  28. protected $companyContactsRepository;
  29. protected $jobsRepository;
  30. protected $jobsContactRepository;
  31. protected $jobfairPutJobService;
  32. /**
  33. * JobfairJobsService constructor.
  34. * @param $jobfairJobRepository
  35. * @param $jobfairJobsContactRepository
  36. * @param $jobfairCompanyRepository
  37. * @param $jobfairPutJobRepository
  38. * @param $companyContactsRepository
  39. * @param $jobsRepository
  40. * @param $jobsContactRepository
  41. * @param $jobfairPutJobService
  42. */
  43. public function __construct(JobfairJobRepository $jobfairJobRepository, CompanyContactsRepository $companyContactsRepository, JobfairPutJobRepository $jobfairPutJobRepository, JobfairCompanyRepository $jobfairCompanyRepository, JobfairJobsContactRepository $jobfairJobsContactRepository, MemberLogRepository $memberLogRepository,JobsRepository $jobsRepository, JobsContactRepository $jobsContactRepository,JobfairPutJobService $jobfairPutJobService)
  44. {
  45. $this->jobfairJobRepository = $jobfairJobRepository;
  46. $this->jobfairJobsContactRepository = $jobfairJobsContactRepository;
  47. $this->memberLogRepository = $memberLogRepository;
  48. $this->jobfairCompanyRepository = $jobfairCompanyRepository;
  49. $this->jobfairPutJobRepository = $jobfairPutJobRepository;
  50. $this->companyContactsRepository = $companyContactsRepository;
  51. $this->jobsRepository = $jobsRepository;
  52. $this->jobsContactRepository = $jobsContactRepository;
  53. $this->jobfairPutJobService = $jobfairPutJobService;
  54. }
  55. /**招聘会职位库
  56. * @return array
  57. */
  58. public function jobfairJobsList()
  59. {
  60. $user = auth('web-company')->user();
  61. $where = [
  62. 'company_id'=>$user->id,
  63. 'type'=>1,
  64. ];
  65. $list = $this->jobfairJobRepository->getJobList($where);
  66. return $res = [
  67. 'list'=>$list,
  68. ];
  69. }
  70. /**招聘会职位添加
  71. * @return array
  72. */
  73. public function jobfairJobsAdd()
  74. {
  75. $user = auth('web-company')->user();
  76. $user->landline =explode('-', $user->landline_tel);
  77. $jobfairJobContact = $this->jobfairJobsContactRepository->getContact(['pid'=>'']);
  78. $companyContact = $this->companyContactsRepository->getContacts(['company_id'=>$user->id]);
  79. return $result = [
  80. 'company' =>$user,
  81. 'jobfairJobContact' =>$jobfairJobContact,
  82. 'companyContact' =>$companyContact,
  83. ];
  84. }
  85. /**招聘会职位修改
  86. * @param $id
  87. * @return array|bool
  88. */
  89. public function jobfairJobsEdit($id, $user)
  90. {
  91. $jobfair_job = $this->jobfairJobRepository->editJob($id);
  92. if (!$jobfair_job || $jobfair_job->company_id != $user->id) {
  93. return false;
  94. }
  95. $companyContact = $this->companyContactsRepository->getContacts(['company_id'=>$user->id]);
  96. $jobfair_job->tag = explode(',', $jobfair_job->tag);
  97. $jobfair_job->age = explode('-', $jobfair_job->age);
  98. if($jobfair_job->jobsContact){
  99. $jobfair_job->jobsContact->landline_tel =$jobfair_job->jobsContact->landline_tel?explode('-', $jobfair_job->jobsContact->landline_tel):[];
  100. }
  101. return $result = [
  102. 'company' =>$user,
  103. 'jobsInfo'=>$jobfair_job,
  104. 'companyContact'=>$companyContact,
  105. ];
  106. }
  107. /**招聘会职位删除
  108. * @param $request
  109. * @return \Illuminate\Http\JsonResponse
  110. */
  111. public function jobfairJobsDel($request)
  112. {
  113. $user = auth('web-company')->user();
  114. $id = $request->y_id;
  115. $where['company_id'] = $user->id;
  116. if (!is_array($id)) {
  117. $ids = explode(',', $id);
  118. } else {
  119. $ids = $id;
  120. }
  121. $this->isOwn($ids,$user);
  122. DB::beginTransaction();
  123. try {
  124. if (!$this->jobfairJobRepository->deleteJobs($where, $ids)) {
  125. throw new Exception('招聘会职位删除失败!');
  126. }
  127. $this->jobfairJobsContactRepository->deleteJobContact($ids);
  128. $this->jobfairPutJobRepository->delJobIds($ids);
  129. $this->memberLogRepository->createLog($user, 1036, [implode(',', $ids)]);
  130. DB::commit();
  131. return response()->json(['status'=>1, 'msg'=>'招聘会职位删除成功!']);
  132. } catch (Exception $e) {
  133. DB::rollback();
  134. return response()->json(['status'=>0, 'msg'=>$e->getMessage()]);
  135. }
  136. }
  137. /**招聘会职位状态修改
  138. * @param $request
  139. * @return \Illuminate\Http\JsonResponse
  140. */
  141. public function jobfairJobsDis($request)
  142. {
  143. $id = $request->id;
  144. $display = $request->display == 1 ? 2 : 1;
  145. if (!$this->jobfairJobRepository->displayswitch($id, $display)) {
  146. return response()->json(['status'=>0, 'msg'=>'招聘会职位修改状态失败!']);
  147. }
  148. return response()->json(['status'=>1, 'msg'=>'招聘会职位修改状态成功!']);
  149. }
  150. /**招聘会职位添加和修改
  151. * @param $data
  152. * @return \Illuminate\Http\JsonResponse
  153. */
  154. public function jobsSave($data, $user)
  155. {
  156. $message = '招聘会职位添加成功!';
  157. if ($id = $data['id']) {
  158. $message = '招聘会职位修改成功!';
  159. $company_id = $this->jobfairJobRepository->getColumn(['id'=>$id],'company_id');
  160. if($company_id != $user->id) {
  161. return response()->json(['status' => 0, 'msg' => '参数错误!']);
  162. }
  163. }
  164. $comArr = ['id','companyname','created_at','audit','trade','scale','map_x','map_y','map_zoom'];
  165. $contact = ['mobile','email','qq','landline_tel','address','contact','contact_show','email_show','landline_tel_show','telephone_show'];
  166. $data_job = [];
  167. $data_contact = [];
  168. if ($data['basis_contact']) {
  169. foreach ($contact as $key => $val) {
  170. $data_contact[$val] = $user->$val;
  171. }
  172. } else {
  173. $data_contact['contact'] = $data['contact'];
  174. $data_contact['mobile'] = $data['telephone'];
  175. $data_contact['email'] = $data['email'];
  176. $data_contact['landline_tel'] = $data['landline_tel'];
  177. $data_contact['address'] = $data['address'];
  178. $data_contact['landline_tel_show'] = $data['landline_tel_show'];
  179. $data_contact['contact_show'] = $data['contact_show'];
  180. $data_contact['email_show'] = $data['email_show'];
  181. $data_contact['telephone_show'] = $data['telephone_show'];
  182. }
  183. if (!$data_contact['landline_tel'] || $data_contact['landline_tel']=="--" || $data_contact["landline_tel"]=="-") {$data_contact["landline_tel"]="";}
  184. $last_tel=substr($data_contact['landline_tel'],-1);
  185. if ($last_tel=="-"){
  186. $new_tel = substr($data_contact['landline_tel'],0,strlen($data_contact['landline_tel'])-1);
  187. $data_contact['landline_tel']=$new_tel;
  188. }
  189. foreach ($comArr as $key => $val) {
  190. if ($val == "id") {
  191. $data_job['company_id'] = $user->id;
  192. } elseif ($val == 'companyname') {
  193. $data_job['company_name'] = $user->companyname;
  194. } elseif ($val == 'created_at') {
  195. $data_job['company_addtime'] = strtotime($user->created_at);
  196. } elseif ($val == 'audit') {
  197. $data_job['company_audit'] = $user->audit;
  198. } else {
  199. $data_job[$val] = $user->$val;
  200. }
  201. }
  202. $jobArr = ['nature','sex','age','amount','district','tag','education','experience','wage','wage_min','wage_max','jobs_content','major'];
  203. foreach ($jobArr as $key => $val) {
  204. $data_job[$val] = $data[$val];
  205. }
  206. switch ($data_job['sex']) {
  207. case 0:
  208. $data_job['sex_cn']='不限';
  209. break;
  210. case 1:
  211. $data_job['sex_cn']='男';
  212. break;
  213. case 2:
  214. $data_job['sex_cn']='女';
  215. break;
  216. }
  217. if ($data['wage']==-1) {
  218. $data_job['wage'] = -1;
  219. $data_job['wage_min']=0;
  220. $data_job['wage_max']=0;
  221. $data_job['wage_cn'] ='面议';
  222. } else {
  223. if (intval($data_job['wage'])!=0) {
  224. $wage = explode('~', format_wage(get_category($data_job['wage'])));
  225. $data_job['wage_max'] = 0;
  226. if (isset($wage[1])) {
  227. $data_job['wage_max'] =intval($wage[1]);
  228. }
  229. $data_job['wage_min'] =intval($wage[0]);
  230. $data_job['wage_cn'] =get_category($data_job['wage']);
  231. } else {
  232. $data_job['wage_min']=$data['wage_min'];
  233. $data_job['wage_max']=$data['wage_max'];
  234. $data_job['wage_cn'] =$data['wage_min'].'~'.$data['wage_max'].'/月';
  235. }
  236. }
  237. if ($data['syqxz_min'] && $data['syqxz_min'] < $data_job['wage_min']*0.8) {
  238. return response()->json(['status' => 0, 'msg' => '试用期薪资不得低于正式工资的80%']);
  239. }
  240. if($data['ygxs'] == 363){
  241. $data_job['wage_cn'] = $data['wage_min'].'/小时';
  242. }
  243. $jobcategory = explode('.', $data['jobcategory']);
  244. $data_job['topclass'] =$jobcategory[0];
  245. $data_job['category'] =$jobcategory[1];
  246. $data_job['subclass'] =$jobcategory[2];
  247. $data_job['category_cn'] =get_job_category_cn($data['jobcategory']);
  248. unset($data['jobcategory']);
  249. $data_job['trade_cn'] =get_category($data_job['trade']);
  250. $data_job['major_cn'] =get_category_major($data_job['major']);
  251. $data_job['nature_cn'] =get_category($data_job['nature']);
  252. $data_job['scale_cn'] =get_category($data_job['scale']);
  253. $data_job['district'] = getDistrict($data_job['district']);
  254. $data_job['district_cn'] =get_district_cn($data_job['district']);
  255. $data_job['tag_cn'] =get_tag_cn($data_job['tag']);
  256. $data_job['education_cn'] =get_category($data_job['education']);
  257. $data_job['experience_cn'] =get_category($data_job['experience']);
  258. // $data_job['zc_cn'] =get_category($data_job['zcid']);
  259. $data_job['age'] =implode('-', $data['age']);
  260. $data_job['jobs_name'] = $data['jobs_name'];
  261. // $data_job['map_x'] = $data['map_x'];
  262. // $data_job['map_y'] = $data['map_y'];
  263. $data_job['syq'] = $data['syq'];
  264. $data_job['syqxz_min'] = $data['syqxz_min'];
  265. //$data_job['deadline'] = $data['deadline'];
  266. $data_job['ygxs'] = $data['ygxs'];
  267. $data_job['techlevel'] = $data['techlevel'];
  268. // $put_jobs = $this->jobfairPutJobRepository->getOpenPutJobs(['job_id'=>$id]);
  269. DB::beginTransaction();
  270. try {
  271. if ($id) {
  272. $data_job['audit'] = 2;
  273. if (!$this->jobfairJobRepository->update($data_job, $id)) {
  274. throw new Exception('修改招聘会职位失败');
  275. }
  276. if($this->jobfairJobsContactRepository->getContact(['pid'=>$id])){
  277. if (!$this->jobfairJobsContactRepository->update($data_contact, $id)) {
  278. throw new Exception('修改联系方式失败');
  279. }
  280. }else{
  281. $data_contact['pid'] = $id;
  282. if (!$this->jobfairJobsContactRepository->create($data_contact)) {
  283. throw new Exception('修改联系方式失败');
  284. }
  285. }
  286. //修改参展职位(注释 审核时同步)
  287. // if($put_jobs->isNotEmpty()){
  288. // $jobfairJob = $this->jobfairJobRepository->find($id);
  289. // foreach ($put_jobs as $val){
  290. // $val['jobs_name'] = $jobfairJob['jobs_name'];
  291. // $val['company_id'] = $jobfairJob['company_id'];
  292. // $val['company_name'] = $jobfairJob['company_name'];
  293. // $val['company_audit'] = $jobfairJob['company_audit'];
  294. // $val['stick'] = $jobfairJob['stick'];
  295. // $val['nature'] = $jobfairJob['nature'];
  296. // $val['nature_cn'] = $jobfairJob['nature_cn'];
  297. // $val['sex'] = $jobfairJob['sex'];
  298. // $val['sex_cn'] = $jobfairJob['sex_cn'];
  299. // $val['age'] = $jobfairJob['age'];
  300. // $val['amount'] = $jobfairJob['amount'];
  301. // $val['topclass'] = $jobfairJob['topclass'];
  302. // $val['category'] = $jobfairJob['category'];
  303. // $val['subclass'] = $jobfairJob['subclass'];
  304. // $val['category_cn'] = $jobfairJob['category_cn'];
  305. // $val['trade'] = $jobfairJob['trade'];
  306. // $val['trade_cn'] = $jobfairJob['trade_cn'];
  307. // $val['scale'] = $jobfairJob['scale'];
  308. // $val['scale_cn'] = $jobfairJob['scale_cn'];
  309. // $val['district'] = $jobfairJob['district'];
  310. // $val['district_cn'] = $jobfairJob['district_cn'];
  311. // $val['tag'] = $jobfairJob['tag'];
  312. // $val['tag_cn'] = $jobfairJob['tag_cn'];
  313. // $val['education'] = $jobfairJob['education'];
  314. // $val['education_cn'] = $jobfairJob['education_cn'];
  315. // $val['experience'] = $jobfairJob['experience'];
  316. // $val['experience_cn'] = $jobfairJob['experience_cn'];
  317. // $val['wage'] = $jobfairJob['wage'];
  318. // $val['wage_min'] = $jobfairJob['wage_min'];
  319. // $val['wage_max'] = $jobfairJob['wage_max'];
  320. // $val['wage_cn'] = $jobfairJob['wage_cn'];
  321. // $val['negotiable'] = $jobfairJob['negotiable'];
  322. // $val['audit'] = $jobfairJob['audit'];
  323. // $val['display'] = $jobfairJob['display'];
  324. // $val['click'] = $jobfairJob['click'];
  325. // $val['robot'] = $jobfairJob['robot'];
  326. // $val['map_x'] = $jobfairJob['map_x'];
  327. // $val['map_y'] = $jobfairJob['map_y'];
  328. // $val['map_zoom'] = $jobfairJob['map_zoom'];
  329. // $val['add_mode'] = $jobfairJob['add_mode'];
  330. // $val['is_entrust'] = $jobfairJob['is_entrust'];
  331. // $val['department'] = $jobfairJob['department'];
  332. // $val['major'] = $jobfairJob['major'];
  333. // $val['major_cn'] = $jobfairJob['major_cn'];
  334. // $val['zcid'] = $jobfairJob['zcid'];
  335. // $val['zc_cn'] = $jobfairJob['zc_cn'];
  336. // $val['zc_name'] = $jobfairJob['zc_name'];
  337. // $val->save();
  338. // }
  339. // }
  340. $this->memberLogRepository->createLog($user, 1035, [$data_job['jobs_name'],$id]);
  341. } else {
  342. if (!$this->jobfairJobRepository->store($data_job)) {
  343. throw new Exception('添加招聘会职位失败');
  344. }
  345. $data_contact['pid'] = DB::getPdo()->lastInsertId();
  346. if (!$this->jobfairJobsContactRepository->store($data_contact)) {
  347. throw new Exception('添加联系方式失败');
  348. }
  349. $this->memberLogRepository->createLog($user, 1034, [$data_job['jobs_name'],$data_contact['pid']]);
  350. }
  351. DB::commit();
  352. return response()->json(['status' => 1, 'msg' => $message]);
  353. } catch (Exception $e) {
  354. DB::rollback();
  355. return response()->json(['status' => 0, 'msg' => $e->getMessage()]);
  356. }
  357. }
  358. /**职位添加到招聘会中
  359. * @param $request
  360. * @return array
  361. */
  362. public function jobfairJobsToJobfair($request)
  363. {
  364. $jids = $request->y_id;
  365. if (!$jids || !$request->exid_list) {
  366. return ['state'=>0,'msg'=>'请选择职位或加入的招聘会'];
  367. }
  368. $exidArr = explode(',', $request->exid_list);
  369. $exInfo = $this->jobfairCompanyRepository->findWhereIn('id', $exidArr, ['id','company_id','jobfair_id','position_id'])->toArray();
  370. $jobsInfo = $this->jobfairJobRepository->findWhereIn('id', $jids)->toArray();
  371. $jobName = [];
  372. foreach ($jobsInfo as $key => $val) {
  373. if ($val['audit'] != 1) {
  374. $jobName[]=$val['jobs_name'];
  375. }
  376. }
  377. if ($jobName) {
  378. return ['state'=>0,'msg'=>'【'.implode('、', $jobName).'】,的职位状态为审核中或审核失败,无法添加至招聘会'];
  379. }
  380. DB::beginTransaction();
  381. try {
  382. $error = '';
  383. foreach ($exInfo as $key => $val) {
  384. $insert_data = [];
  385. foreach ($jobsInfo as $ke => $va) {
  386. $doneArr = $this->jobfairPutJobRepository->findDone(['job_id'=>$va['id'], 'exid'=>$val['id'], 'jobfair_id'=>$val['jobfair_id']]);
  387. if ($doneArr) {
  388. $error .= '【'.$doneArr->jobs->jobs_name.'】';
  389. // return ['state'=>0,'msg'=>'【'.$doneArr->jobs->jobs_name.'】,已添加至举行的招聘会中,不可重复添加'];
  390. continue;
  391. }
  392. $this->jobfairJobRepository->update(['display'=>1],$va['id']);
  393. $insert_data['exid'] = $val['id'];
  394. $insert_data['jobfair_id'] = $val['jobfair_id'];
  395. $insert_data['position_id'] = $val['position_id'];
  396. $insert_data['job_id'] = $va['id'];
  397. $insert_data['jobs_name'] = $va['jobs_name'];
  398. $insert_data['company_id'] = $va['company_id'];
  399. $insert_data['company_name'] = $va['company_name'];
  400. $insert_data['company_audit'] = $va['company_audit'];
  401. $insert_data['stick'] = $va['stick'];
  402. $insert_data['nature'] = $va['nature'];
  403. $insert_data['nature_cn'] = $va['nature_cn'];
  404. $insert_data['sex'] = $va['sex'];
  405. $insert_data['sex_cn'] = $va['sex_cn'];
  406. $insert_data['age'] = $va['age'];
  407. $insert_data['amount'] = $va['amount'];
  408. $insert_data['topclass'] = $va['topclass'];
  409. $insert_data['category'] = $va['category'];
  410. $insert_data['subclass'] = $va['subclass'];
  411. $insert_data['category_cn'] = $va['category_cn'];
  412. $insert_data['trade'] = $va['trade'];
  413. $insert_data['trade_cn'] = $va['trade_cn'];
  414. $insert_data['scale'] = $va['scale'];
  415. $insert_data['scale_cn'] = $va['scale_cn'];
  416. $insert_data['district'] = $va['district'];
  417. $insert_data['district_cn'] = $va['district_cn'];
  418. $insert_data['tag'] = $va['tag'];
  419. $insert_data['tag_cn'] = $va['tag_cn'];
  420. $insert_data['education'] = $va['education'];
  421. $insert_data['education_cn'] = $va['education_cn'];
  422. $insert_data['experience'] = $va['experience'];
  423. $insert_data['experience_cn'] = $va['experience_cn'];
  424. $insert_data['wage'] = $va['wage'];
  425. $insert_data['wage_min'] = $va['wage_min'];
  426. $insert_data['wage_max'] = $va['wage_max'];
  427. $insert_data['wage_cn'] = $va['wage_cn'];
  428. $insert_data['negotiable'] = $va['negotiable'];
  429. $insert_data['jobs_content'] = $va['jobs_content'];
  430. $insert_data['audit'] = $va['audit'];
  431. $insert_data['display'] = 1;
  432. $insert_data['click'] = $va['click'];
  433. $insert_data['robot'] = $va['robot'];
  434. $insert_data['map_x'] = $va['map_x'];
  435. $insert_data['map_y'] = $va['map_y'];
  436. $insert_data['map_zoom'] = $va['map_zoom'];
  437. $insert_data['add_mode'] = $va['add_mode'];
  438. $insert_data['is_entrust'] = $va['is_entrust'];
  439. $insert_data['department'] = $va['department'];
  440. $insert_data['major'] = $va['major'];
  441. $insert_data['major_cn'] = $va['major_cn'];
  442. $insert_data['zcid'] = $va['zcid'];
  443. $insert_data['zc_cn'] = $va['zc_cn'];
  444. $insert_data['zc_name'] = $va['zc_name'];
  445. $insert_data['syq'] = $va['syq'];
  446. $insert_data['syqxz_min'] = $va['syqxz_min'];
  447. $insert_data['ygxs'] = $va['ygxs'];
  448. $insert_data['techlevel'] = $va['techlevel'];
  449. if (!$inser_id = $this->jobfairPutJobRepository->createData($insert_data)) {
  450. throw new \Exception($va['jobs_name'] . '添加失败');
  451. }
  452. }
  453. }
  454. if($error){
  455. $error .= '已添加至举行的招聘会中,不可重复添加';
  456. }
  457. DB::commit();
  458. } catch (\Exception $e) {
  459. DB::rollback();
  460. return ['state'=>0,'msg'=>$e->getMessage()];
  461. }
  462. return ['state'=>1,'msg'=>'添加成功','error'=>$error];
  463. }
  464. /**手机端招聘会职位添加和修改
  465. * @param $data
  466. * @return \Illuminate\Http\JsonResponse
  467. */
  468. public function jobsSaveMobile($data, $user)
  469. {
  470. $message = '招聘会职位添加成功!';
  471. if ($id = $data['id']) {
  472. $message = '招聘会职位修改成功!';
  473. $company_id = $this->jobfairJobRepository->getColumn(['id'=>$id],'company_id');
  474. if($company_id != $user->id) {
  475. return response()->json(['status' => 0, 'msg' => '参数错误!']);
  476. }
  477. }
  478. $exid = $data['exid'];
  479. $comArr = ['id','companyname','created_at','audit','trade','scale','map_x','map_y','map_zoom'];
  480. $contact = ['mobile','email','qq','landline_tel','address','contact','contact_show','email_show','landline_tel_show','telephone_show'];
  481. $data_job = [];
  482. $data_contact = [];
  483. if ($data['basis_contact']) {
  484. foreach ($contact as $key => $val) {
  485. $data_contact[$val] = $user->$val;
  486. }
  487. } else {
  488. $data_contact['contact'] = $data['contact'];
  489. $data_contact['mobile'] = $data['telephone'];
  490. $data_contact['email'] = $data['email'];
  491. $data_contact['landline_tel'] = $data['landline_tel'];
  492. $data_contact['address'] = $data['address'];
  493. $data_contact['landline_tel_show'] = $data['landline_tel_show'];
  494. $data_contact['contact_show'] = $data['contact_show'];
  495. $data_contact['email_show'] = $data['email_show'];
  496. $data_contact['telephone_show'] = $data['telephone_show'];
  497. }
  498. if ($data_contact['landline_tel']=="--" || $data_contact["landline_tel"]=="-") {$data_contact["landline_tel"]="";}
  499. $last_tel=substr($data_contact['landline_tel'],-1);
  500. if ($last_tel=="-"){
  501. $new_tel = substr($data_contact['landline_tel'],0,strlen($data_contact['landline_tel'])-1);
  502. $data_contact['landline_tel']=$new_tel;
  503. }
  504. foreach ($comArr as $key => $val) {
  505. if ($val == "id") {
  506. $data_job['company_id'] = $user->id;
  507. } elseif ($val == 'companyname') {
  508. $data_job['company_name'] = $user->companyname;
  509. } elseif ($val == 'created_at') {
  510. $data_job['company_addtime'] = strtotime($user->created_at);
  511. } elseif ($val == 'audit') {
  512. $data_job['company_audit'] = $user->audit;
  513. } else {
  514. $data_job[$val] = $user->$val;
  515. }
  516. }
  517. $jobArr = ['nature','age','amount','district','tag','wage','wage_min','wage_max','jobs_content','syq',];
  518. foreach ($jobArr as $key => $val) {
  519. $data_job[$val] = $data[$val];
  520. }
  521. if ($data['wage']==-1) {
  522. $data_job['wage'] = -1;
  523. $data_job['wage_min']=0;
  524. $data_job['wage_max']=0;
  525. $data_job['wage_cn'] ='面议';
  526. } else {
  527. if (intval($data_job['wage'])!=0) {
  528. $wage = explode('~', format_wage(get_category($data_job['wage'])));
  529. $data_job['wage_max'] = 0;
  530. if (isset($wage[1])) {
  531. $data_job['wage_max'] =intval($wage[1]);
  532. }
  533. $data_job['wage_min'] =intval($wage[0]);
  534. $data_job['wage_cn'] =get_category($data_job['wage']);
  535. } else {
  536. $data_job['wage_min']=$data['wage_min'];
  537. $data_job['wage_max']=$data['wage_max'];
  538. $data_job['wage_cn'] =$data['wage_min'].'~'.$data['wage_max'].'/月';
  539. }
  540. }
  541. if ($data['syqxz_min'] && $data['syqxz_min'] < $data_job['wage_min']*0.8 ) {
  542. return response()->json(['status' => 0, 'msg' => '试用期薪资不得低于正式工资的80%']);
  543. }
  544. if($data['ygxs'] == 363){
  545. $data_job['wage_cn'] = $data['wage_min'].'/小时';
  546. }
  547. $jobcategory = explode('.', $data['jobcategory']);
  548. $data_job['topclass'] =$jobcategory[0];
  549. $data_job['category'] =$jobcategory[1];
  550. $data_job['subclass'] =$jobcategory[2];
  551. $data_job['category_cn'] =get_job_category_cn($data['jobcategory']);
  552. unset($data['jobcategory']);
  553. $data_job['trade_cn'] =get_category($data_job['trade']);
  554. $data_job['nature_cn'] =get_category($data_job['nature']);
  555. $data_job['scale_cn'] =get_category($data_job['scale']);
  556. $data_job['district_cn'] =get_district_cn($data_job['district']);
  557. $data_job['tag_cn'] =get_tag_cn($data_job['tag']);
  558. $data_job['age'] =implode('-', $data['age']);
  559. $data_job['jobs_name'] = $data['jobs_name'];
  560. $data_job['syq'] = $data['syq'];
  561. $data_job['syqxz_min'] = $data['syqxz_min'];
  562. $data_job['ygxs'] = $data['ygxs'];
  563. $data_job['techlevel'] = $data['techlevel'];
  564. DB::beginTransaction();
  565. try {
  566. if ($id) {
  567. $data_job['audit'] = 2;
  568. if (!$this->jobfairJobRepository->update($data_job, $id)) {
  569. throw new Exception('修改招聘会职位失败');
  570. }
  571. if (!$this->jobfairJobsContactRepository->update($data_contact, $id)) {
  572. throw new Exception('修改联系方式失败');
  573. }
  574. $this->memberLogRepository->createLog($user, 1035, [$data_job['jobs_name'],$id]);
  575. } else {
  576. if (!$this->jobfairJobRepository->store($data_job)) {
  577. throw new Exception('添加招聘会职位失败');
  578. }
  579. $data_contact['pid'] = DB::getPdo()->lastInsertId();
  580. if (!$this->jobfairJobsContactRepository->store($data_contact)) {
  581. throw new Exception('添加联系方式失败');
  582. }
  583. $jobfairCompany = $this->jobfairCompanyRepository->getOne(['id'=>$exid]);
  584. if($jobfairCompany) {
  585. $this->jobfairPutJobService->addData([$data_contact['pid']],$exid,$jobfairCompany->jobfair_id,$jobfairCompany->position_id);
  586. }
  587. $this->memberLogRepository->createLog($user, 1034, [$data_job['jobs_name'],$data_contact['pid']]);
  588. }
  589. DB::commit();
  590. return response()->json(['status' => 1, 'msg' => $message]);
  591. } catch (Exception $e) {
  592. DB::rollback();
  593. return response()->json(['status' => 0, 'msg' => $e->getMessage()]);
  594. }
  595. }
  596. /**手机端职位添加到招聘会中
  597. * @param $request
  598. * @return array
  599. */
  600. public function jobfairJobsToJobfairMobile($request)
  601. {
  602. $jids = $request->jobs_id;
  603. if (!$jids || !$request->exid) {
  604. return ['status'=>0,'msg'=>'请选择职位或加入的招聘会'];
  605. }
  606. $exInfo = $this->jobfairCompanyRepository->find($request->exid, ['id','company_id','jobfair_id','position_id'])->toArray();
  607. $jobsInfo = $this->jobfairJobRepository->findWhereIn('id', $jids)->toArray();
  608. $fairJob_ids = $this->jobfairPutJobRepository->getFairJobIds(['exid'=>$request->exid]);
  609. $diff_ids = array_diff($fairJob_ids,$jids);
  610. DB::beginTransaction();
  611. try {
  612. $error = '';
  613. $insert_data = [];
  614. foreach ($jobsInfo as $ke => $va) {
  615. $doneArr = $this->jobfairPutJobRepository->findDone(['job_id'=>$va['id'], 'exid'=>$exInfo['id'], 'jobfair_id'=>$exInfo['jobfair_id']]);
  616. if ($doneArr) {
  617. $error .= '【'.$doneArr->jobs->jobs_name.'】';
  618. continue;
  619. }
  620. $this->jobfairJobRepository->update(['display'=>1],$va['id']);
  621. $insert_data['exid'] = $exInfo['id'];
  622. $insert_data['jobfair_id'] = $exInfo['jobfair_id'];
  623. $insert_data['position_id'] = $exInfo['position_id'];
  624. $insert_data['job_id'] = $va['id'];
  625. $insert_data['jobs_name'] = $va['jobs_name'];
  626. $insert_data['company_id'] = $va['company_id'];
  627. $insert_data['company_name'] = $va['company_name'];
  628. $insert_data['company_audit'] = $va['company_audit'];
  629. $insert_data['stick'] = $va['stick'];
  630. $insert_data['nature'] = $va['nature'];
  631. $insert_data['nature_cn'] = $va['nature_cn'];
  632. $insert_data['sex'] = $va['sex'];
  633. $insert_data['sex_cn'] = $va['sex_cn'];
  634. $insert_data['age'] = $va['age'];
  635. $insert_data['amount'] = $va['amount'];
  636. $insert_data['topclass'] = $va['topclass'];
  637. $insert_data['category'] = $va['category'];
  638. $insert_data['subclass'] = $va['subclass'];
  639. $insert_data['category_cn'] = $va['category_cn'];
  640. $insert_data['trade'] = $va['trade'];
  641. $insert_data['trade_cn'] = $va['trade_cn'];
  642. $insert_data['scale'] = $va['scale'];
  643. $insert_data['scale_cn'] = $va['scale_cn'];
  644. $insert_data['district'] = $va['district'];
  645. $insert_data['district_cn'] = $va['district_cn'];
  646. $insert_data['tag'] = $va['tag'];
  647. $insert_data['tag_cn'] = $va['tag_cn'];
  648. $insert_data['education'] = $va['education'];
  649. $insert_data['education_cn'] = $va['education_cn'];
  650. $insert_data['experience'] = $va['experience'];
  651. $insert_data['experience_cn'] = $va['experience_cn'];
  652. $insert_data['wage'] = $va['wage'];
  653. $insert_data['wage_min'] = $va['wage_min'];
  654. $insert_data['wage_max'] = $va['wage_max'];
  655. $insert_data['wage_cn'] = $va['wage_cn'];
  656. $insert_data['negotiable'] = $va['negotiable'];
  657. $insert_data['jobs_content'] = $va['jobs_content'];
  658. $insert_data['audit'] = $va['audit'];
  659. $insert_data['display'] = 1;
  660. $insert_data['click'] = $va['click'];
  661. $insert_data['robot'] = $va['robot'];
  662. $insert_data['map_x'] = $va['map_x'];
  663. $insert_data['map_y'] = $va['map_y'];
  664. $insert_data['map_zoom'] = $va['map_zoom'];
  665. $insert_data['add_mode'] = $va['add_mode'];
  666. $insert_data['is_entrust'] = $va['is_entrust'];
  667. $insert_data['department'] = $va['department'];
  668. $insert_data['major'] = $va['major'];
  669. $insert_data['major_cn'] = $va['major_cn'];
  670. $insert_data['zcid'] = $va['zcid'];
  671. $insert_data['zc_cn'] = $va['zc_cn'];
  672. $insert_data['zc_name'] = $va['zc_name'];
  673. $insert_data['syq'] = $va['syq'];
  674. $insert_data['syqxz_min'] = $va['syqxz_min'];
  675. $insert_data['ygxs'] = $va['ygxs'];
  676. $insert_data['techlevel'] = $va['techlevel'];
  677. if (!$inser_id = $this->jobfairPutJobRepository->createData($insert_data)) {
  678. throw new \Exception($va['jobs_name'] . '发布失败');
  679. }
  680. }
  681. if($diff_ids)
  682. {
  683. $this->jobfairPutJobRepository->delWhereJobs($diff_ids,['exid'=>$request->exid]);
  684. }
  685. if($error){
  686. $error .= '已添加至举行的招聘会中,不可重复添加';
  687. }
  688. DB::commit();
  689. } catch (\Exception $e) {
  690. DB::rollback();
  691. return ['status'=>0,'msg'=>$e->getMessage()];
  692. }
  693. return ['status'=>1,'msg'=>'发布成功','error'=>$error];
  694. }
  695. /**平板添加网络职位到招聘会中
  696. * @param $request
  697. * @return array
  698. */
  699. public function jobsToJobfairPad($request,$user)
  700. {
  701. $jids = $request->jobs_id;
  702. if (!$jids || !$request->exid) {
  703. return ['status'=>0,'msg'=>'请选择职位加入招聘会'];
  704. }
  705. $exInfo = $this->jobfairCompanyRepository->find($request->exid, ['id','company_id','jobfair_id','position_id'])->toArray();
  706. $jobsInfo = $this->jobsRepository->findWhereIn('id', $jids)->toArray();
  707. DB::beginTransaction();
  708. try {
  709. $error = '';
  710. $insert_data = [];
  711. foreach ($jobsInfo as $ke => $va) {
  712. //先判断职位库是否有该职位
  713. $is_jobfiar_sync = $this->jobfairJobRepository->getCrmInfo(['jobs_name' => $va['jobs_name'], 'company_id' => $exInfo['company_id'], 'type' => 1]);
  714. if ($is_jobfiar_sync) {
  715. //如果有该职位,再去判断参展职位是否添加
  716. $doneArr = $this->jobfairPutJobRepository->findDone(['jobs_name' => $va['jobs_name'], 'exid' => $exInfo['id']]);
  717. if ($doneArr) {
  718. $error .= '【' . $doneArr->jobs->jobs_name . '】';
  719. continue;
  720. } else {
  721. //添加到参展职位
  722. $insert_data['exid'] = $exInfo['id'];
  723. $insert_data['jobfair_id'] = $exInfo['jobfair_id'];
  724. $insert_data['position_id'] = $exInfo['position_id'];
  725. $insert_data['job_id'] = $is_jobfiar_sync['id'];
  726. $insert_data['jobs_name'] = $is_jobfiar_sync['jobs_name'];
  727. $insert_data['company_id'] = $is_jobfiar_sync['company_id'];
  728. $insert_data['company_name'] = $is_jobfiar_sync['company_name'];
  729. $insert_data['company_audit'] = $is_jobfiar_sync['company_audit'];
  730. $insert_data['stick'] = $is_jobfiar_sync['stick'];
  731. $insert_data['nature'] = $is_jobfiar_sync['nature'];
  732. $insert_data['nature_cn'] = $is_jobfiar_sync['nature_cn'];
  733. $insert_data['sex'] = $is_jobfiar_sync['sex'];
  734. $insert_data['sex_cn'] = $is_jobfiar_sync['sex_cn'];
  735. $insert_data['age'] = $is_jobfiar_sync['age'];
  736. $insert_data['amount'] = $is_jobfiar_sync['amount'];
  737. $insert_data['topclass'] = $is_jobfiar_sync['topclass'];
  738. $insert_data['category'] = $is_jobfiar_sync['category'];
  739. $insert_data['subclass'] = $is_jobfiar_sync['subclass'];
  740. $insert_data['category_cn'] = $is_jobfiar_sync['category_cn'];
  741. $insert_data['trade'] = $is_jobfiar_sync['trade'];
  742. $insert_data['trade_cn'] = $is_jobfiar_sync['trade_cn'];
  743. $insert_data['scale'] = $is_jobfiar_sync['scale'];
  744. $insert_data['scale_cn'] = $is_jobfiar_sync['scale_cn'];
  745. $insert_data['district'] = $is_jobfiar_sync['district'];
  746. $insert_data['district_cn'] = $is_jobfiar_sync['district_cn'];
  747. $insert_data['tag'] = $is_jobfiar_sync['tag'];
  748. $insert_data['tag_cn'] = $is_jobfiar_sync['tag_cn'];
  749. $insert_data['education'] = $is_jobfiar_sync['education'];
  750. $insert_data['education_cn'] = $is_jobfiar_sync['education_cn'];
  751. $insert_data['experience'] = $is_jobfiar_sync['experience'];
  752. $insert_data['experience_cn'] = $is_jobfiar_sync['experience_cn'];
  753. $insert_data['wage'] = $is_jobfiar_sync['wage'];
  754. $insert_data['wage_min'] = $is_jobfiar_sync['wage_min'];
  755. $insert_data['wage_max'] = $is_jobfiar_sync['wage_max'];
  756. $insert_data['wage_cn'] = $is_jobfiar_sync['wage_cn'];
  757. $insert_data['negotiable'] = $is_jobfiar_sync['negotiable'];
  758. $insert_data['jobs_content'] = $is_jobfiar_sync['jobs_content'];
  759. $insert_data['audit'] = $is_jobfiar_sync['audit'];
  760. $insert_data['display'] = $is_jobfiar_sync['display'];
  761. $insert_data['click'] = $is_jobfiar_sync['click'];
  762. $insert_data['robot'] = $is_jobfiar_sync['robot'];
  763. $insert_data['map_x'] = $is_jobfiar_sync['map_x'];
  764. $insert_data['map_y'] = $is_jobfiar_sync['map_y'];
  765. $insert_data['map_zoom'] = $is_jobfiar_sync['map_zoom'];
  766. $insert_data['add_mode'] = $is_jobfiar_sync['add_mode'];
  767. $insert_data['is_entrust'] = $is_jobfiar_sync['is_entrust'];
  768. $insert_data['department'] = $is_jobfiar_sync['department'];
  769. $insert_data['major'] = $is_jobfiar_sync['major'];
  770. $insert_data['major_cn'] = $is_jobfiar_sync['major_cn'];
  771. $insert_data['zcid'] = $is_jobfiar_sync['zcid'];
  772. $insert_data['zc_cn'] = $is_jobfiar_sync['zc_cn'];
  773. $insert_data['zc_name'] = $is_jobfiar_sync['zc_name'];
  774. $insert_data['syq'] = $is_jobfiar_sync['syq'];
  775. $insert_data['syqxz_min'] = $is_jobfiar_sync['syqxz_min'];
  776. $insert_data['ygxs'] = $is_jobfiar_sync['ygxs'];
  777. $insert_data['techlevel'] = $is_jobfiar_sync['techlevel'];
  778. if (!$inser_id = $this->jobfairPutJobRepository->createData($insert_data)) {
  779. throw new \Exception($va['jobs_name'] . '发布失败');
  780. }
  781. }
  782. } else {
  783. $insertData = [];
  784. $jobCatact = $this->jobsContactRepository->getContactInfo(['job_id' => $va['id']]);
  785. if ($jobCatact) {
  786. $contactArr = ['contact', 'qq', 'mobile', 'notify', 'landline_tel', 'email', 'address', 'notify_mobile', 'contact_show', 'telephone_show', 'email_show', 'landline_tel_show'];
  787. //添加到职位库和参展职位
  788. foreach ($contactArr as $key => $val) {
  789. if ($val == 'mobile') {
  790. $insertArr[$val] = $jobCatact->telephone;
  791. } elseif ($val == 'landline_tel') {
  792. if (isset($jobCatact->landline_tel)) {
  793. $insertArr[$val] = implode('-', $jobCatact->landline_tel);
  794. } else {
  795. $insertArr[$val] = '--';
  796. }
  797. } else {
  798. $insertArr[$val] = $jobCatact->$val;
  799. }
  800. }
  801. }else{
  802. $contactArr = ['contact', 'qq', 'mobile', 'landline_tel', 'email', 'address', 'contact_show', 'telephone_show', 'email_show', 'landline_tel_show'];
  803. foreach ($contactArr as $key => $val) {
  804. $insertArr[$val] = $user[$val] ? $user[$val] : '';
  805. }
  806. }
  807. $jobfairArr = [
  808. 'jobs_name',
  809. 'company_id',
  810. 'company_name',
  811. 'company_addtime',
  812. 'company_audit',
  813. 'stick',
  814. 'amount',
  815. 'negotiable',
  816. 'jobs_content',
  817. 'audit',
  818. 'click',
  819. 'display',
  820. 'robot',
  821. 'map_x',
  822. 'map_y',
  823. 'map_zoom',
  824. 'add_mode',
  825. 'department',
  826. 'nature',
  827. 'sex',
  828. 'age',
  829. 'topclass',
  830. 'category',
  831. 'subclass',
  832. 'trade',
  833. 'scale',
  834. 'district',
  835. 'education',
  836. 'experience',
  837. 'wage',
  838. 'wage_max',
  839. 'wage_min',
  840. 'ygxs',
  841. 'syq',
  842. 'syqxz_min',
  843. 'techlevel'
  844. ];
  845. foreach ($jobfairArr as $key => $val) {
  846. $insertData[$val] = $va[$val];
  847. }
  848. if ($va['topclass'] && $va['category'] && $va['subclass']) {
  849. $insertData['category_cn'] = get_job_category_cn($va['topclass'] . "." . $va['category'] . '.' . $va['subclass']);
  850. } else {
  851. $insertData['category_cn'] = '';
  852. }
  853. if (!empty($insertData['age'])) {
  854. $insertData['age'] = implode('-', $insertData['age']);
  855. }
  856. $insertData['nature_cn'] = $va['nature'] ? get_category($va['nature']) : '';
  857. $insertData['trade_cn'] = $va['trade'] ? get_category($va['trade']) : '';
  858. $insertData['scale_cn'] = $va['scale'] ? get_category($va['scale']) : '';
  859. $insertData['education_cn'] = $va['education'] ? get_category($va['education']) : '';
  860. $insertData['experience_cn'] = $va['experience'] ? get_category($va['experience']) : "";
  861. if (intval($insertData['wage']) == 0) {
  862. if ($insertData['wage_max']) {
  863. $insertData['wage_cn'] = $insertData['wage_min'] . '~' . $insertData['wage_max'] . '/月';
  864. } else {
  865. $insertData['wage_cn'] = $insertData['wage_min'] . '/月以上';
  866. }
  867. } elseif (intval($insertData['wage']) == -1) {
  868. $insertData['wage_cn'] = '面议';
  869. } else {
  870. $insertData['wage_cn'] = $va['wage'] ? get_category($va['wage']) : '';
  871. }
  872. if ($va['ygxs'] == 363) {
  873. $insertData['wage_cn'] = $insertData['wage_min'] . '/小时';
  874. $insertData['wage_min'] = $insertData['wage_min'] * 100;
  875. $insertData['wage_max'] = $insertData['wage_max'] * 100;
  876. }
  877. $insertData['ygxs'] = $va['ygxs'] ? $va['ygxs'] : '';
  878. $insertData['syq'] = $va['syq'] ? $va['syq'] : '';
  879. $insertData['syqxz_min'] = $va['syqxz_min'] ? $va['syqxz_min'] : '';
  880. $insertData['techlevel'] = $va['techlevel'] ? $va['techlevel'] : '';
  881. $insertData['district_cn'] = get_district_cn($va['district']);
  882. if ($va['tag'][0]) {
  883. $insertData['tag_cn'] = get_tag_cn(implode(',', $va['tag']));
  884. } else {
  885. $insertData['tag_cn'] = '';
  886. }
  887. switch ($va['sex']) {
  888. case 1:
  889. $insertData['sex_cn'] = '男';
  890. break;
  891. case 2:
  892. $insertData['sex_cn'] = '女';
  893. break;
  894. case 0:
  895. $insertData['sex_cn'] = '不限';
  896. break;
  897. }
  898. $insertData['type'] = 1;
  899. if (!$jobfair_jobid = $this->jobfairJobRepository->create($insertData)) {
  900. throw new \Exception('转入招聘会职位库失败!');
  901. }
  902. $insertData['job_id'] = $jobfair_jobid->id;
  903. $insertData['exid'] = $exInfo['id'];
  904. $insertData['jobfair_id'] = $exInfo['jobfair_id'];
  905. $insertData['position_id'] = $exInfo['position_id'];
  906. unset($insertData['company_addtime']);
  907. unset($insertData['type']);
  908. if (!$this->jobfairPutJobRepository->createData($insertData)) {
  909. throw new \Exception('转入招聘会职位库失败!');
  910. }
  911. if ($insertArr) {
  912. $insertArr['pid'] = $jobfair_jobid->id;
  913. $this->jobfairJobsContactRepository->create($insertArr);
  914. }
  915. }
  916. }
  917. if ($error) {
  918. $error .= '已添加至举行的招聘会中,不可重复添加';
  919. }
  920. DB::commit();
  921. } catch (\Exception $e) {
  922. DB::rollback();
  923. return ['status'=>0,'msg'=>$e->getMessage()];
  924. }
  925. return ['status'=>1,'msg'=>'发布成功','error'=>$error];
  926. }
  927. public function isOwn($idsArr,$user)
  928. {
  929. $idsArr = is_array($idsArr) ? $idsArr : explode(',',$idsArr);
  930. $jobsIdArr = $this->jobfairJobRepository->getPluck(['company_id'=>$user->id],'id')->toArray();
  931. if(array_diff($idsArr,$jobsIdArr))
  932. {
  933. throw new ResponseException('抱歉,您只能操作自己的招聘会职位!');
  934. }
  935. }
  936. }