NoticeController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2018/11/8
  6. * Time: 10:02
  7. */
  8. namespace App\Http\Controllers\Web\Content;
  9. use App\Http\Controllers\Web\WebBaseController;
  10. use App\Services\Content\NoticeServer;
  11. use App\Services\Company\JobsService;
  12. use App\Services\Common\SearchService;
  13. use Illuminate\Http\Request;
  14. class NoticeController extends WebBaseController
  15. {
  16. protected $noticeService;
  17. protected $jobsService;
  18. protected $searchService;
  19. /**
  20. * NoticeController constructor.
  21. * @param $noticeService
  22. * @param $jobsService
  23. * @param $searchService
  24. */
  25. public function __construct(NoticeServer $noticeService, JobsService $jobsService, SearchService $searchService)
  26. {
  27. $this->noticeService = $noticeService;
  28. $this->jobsService = $jobsService;
  29. $this->searchService = $searchService;
  30. }
  31. public function index(Request $request)
  32. {
  33. $return_data = array();
  34. $key = $request->input('key');
  35. $where[] = array('is_display','=','1');
  36. if ($key) {
  37. $where[] = array('title','like','%'.$key.'%');
  38. }
  39. $notices = $this->noticeService->getLists($where, 10);
  40. $new_jobs = $this->searchService->searchNewJobs(5); //最新招聘
  41. $emergency_jobs = $this->searchService->searchEmergencyJobs(5); //紧急招聘
  42. $return_data = array(
  43. 'notices' => $notices,
  44. 'key' => $key,
  45. 'new_jobs'=> $new_jobs,
  46. 'emergency_jobs' => $emergency_jobs
  47. );
  48. return view('app.content.notice.index', $return_data);
  49. }
  50. public function show($id)
  51. {
  52. $return_data = array();
  53. $where = array(
  54. 'id' => $id,
  55. 'is_display' => 1
  56. );
  57. $notice_info = $this->noticeService->getNotice($where);
  58. if (!$notice_info) {
  59. $back_url = \Illuminate\Support\Facades\URL::previous();
  60. return $this->showMessage('公告不存在', $back_url, true, '上一页', '3');
  61. }
  62. $this->putSeoData('notice', $notice_info);
  63. //$new_jobs = $this->jobsService->getNewJobs(5); //最新职位
  64. $new_jobs = $this->searchService->searchNewJobs(5);
  65. $emergency_jobs = $this->searchService->searchEmergencyJobs(5); //紧急招聘
  66. $return_data = array(
  67. 'notice' => $notice_info,
  68. 'new_jobs' => $new_jobs,
  69. 'emergency_jobs' => $emergency_jobs
  70. );
  71. return view('app.content.notice.show', $return_data);
  72. }
  73. public function click($id)
  74. {
  75. $rst = $this->noticeService->incrementData(array('id'=>$id), 1, 'click');
  76. $data = array('status'=>0);
  77. if ($rst) {
  78. $data = array('status'=>1);
  79. }
  80. return response()->json($data);
  81. }
  82. }