CompanyController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace App\Http\Controllers\Mobile\Content;
  3. use App\Http\Controllers\Mobile\MobileBaseController;
  4. use App\Services\Company\JobsService;
  5. use Illuminate\Http\Request;
  6. use App\Exceptions\ResponseException;
  7. use App\Services\Company\CompanyService;
  8. use App\Validators\Content\ReportValidatorRequest;
  9. class CompanyController extends MobileBaseController
  10. {
  11. protected $jobsService;
  12. protected $companyService;
  13. /**
  14. * JobsController constructor.
  15. * @param $jobsService
  16. * @param $companyService
  17. */
  18. public function __construct(JobsService $jobsService, CompanyService $companyService)
  19. {
  20. $this->jobsService = $jobsService;
  21. $this->companyService = $companyService;
  22. }
  23. public function companyShow(Request $request)
  24. {
  25. //获取企业信息
  26. $company_id = $request->input('id');
  27. $company_info = $this->companyService->getCompanyInfo(array(array('id','=',$company_id)));
  28. $this->putSeoData('company', $company_info);
  29. //在招职位
  30. $jobs_where = array(
  31. array('company_id','=',$company_info->id),
  32. array('valid','=',1),
  33. array('display','=',1)
  34. );
  35. $jobs_display = config('aix.companyset.comset.show_set.jobs_display');
  36. if ($jobs_display == 1) {
  37. $jobs_where[] = array('audit','=','1');
  38. } else {
  39. $jobs_where[] = array('audit','<>','3');
  40. }
  41. $jobs = $this->jobsService->getOtherJobs($jobs_where);
  42. //看过该公司的人还看过(获取相同行业的企业)
  43. $company_where = array(
  44. 'trade' => $company_info->trade,
  45. 'except_id' =>$company_info->id
  46. );
  47. //$other_companys = $this->companyService->getOtherCompanies($company_where, 5);
  48. $return_data = array(
  49. 'info'=>$company_info,
  50. 'jobs'=>$jobs,
  51. 'user'=> $this->getUser(),
  52. //'other_companys'=>$other_companys
  53. );
  54. //$tpl = $company_info->tpl;
  55. return view('mobile.app.content.jobs.comshow', $return_data);
  56. }
  57. public function getUser()
  58. {
  59. $user = array();
  60. if (auth('web-member')->check()) {
  61. $user = auth('web-member')->user();
  62. } elseif (auth('web-company')->check()) {
  63. $user = auth('web-company')->user();
  64. }
  65. return $user;
  66. }
  67. //关注企业
  68. public function companyFocus(Request $request)
  69. {
  70. $company_id = $request->input('company_id');
  71. if (!$company_id) {
  72. throw new ResponseException('请选择要关注的企业!');
  73. }
  74. $rst = $this->companyService->focusCompany($company_id, auth('web-member')->user()->id);
  75. return response()->json($rst);
  76. }
  77. //企业访客统计
  78. public function addStatistics(Request $request)
  79. {
  80. $company_id = $request->input('company_id');
  81. $rst = $this->companyService->addStatistics($company_id, 0, $this->getUser(), 0, 3);
  82. }
  83. //在招职位页面
  84. public function jobs(Request $request)
  85. {
  86. //获取企业信息
  87. $company_id = $request->input('id');
  88. $company_info = $this->companyService->getCompanyInfo(array(array('id','=',$company_id)));
  89. $this->putSeoData('company', $company_info);
  90. //在招职位
  91. $jobs_where = array(
  92. array('company_id','=',$company_info->id),
  93. array('valid','=',1),
  94. array('display','=',1)
  95. );
  96. $jobs_display = config('aix.companyset.comset.show_set.jobs_display');
  97. if ($jobs_display == 1) {
  98. $jobs_where[] = array('audit','=','1');
  99. } else {
  100. $jobs_where[] = array('audit','<>','3');
  101. }
  102. $jobs = $this->jobsService->getOtherJobs($jobs_where);
  103. //看过该公司的人还看过(获取相同行业的企业)
  104. $company_where = array(
  105. 'trade' => $company_info->trade,
  106. 'except_id' =>$company_info->id
  107. );
  108. $other_companys = $this->companyService->getOtherCompanies($company_where, 5);
  109. $return_data = array(
  110. 'info'=>$company_info,
  111. 'jobs'=>$jobs,
  112. 'other_companys'=>$other_companys
  113. );
  114. $tpl = $company_info->tpl;
  115. return view('app.common.tpl_company.'.$tpl.'.company_jobs', $return_data);
  116. }
  117. }