CompanyInterviewController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace App\Http\Controllers\Web\Company;
  3. use App\Http\Controllers\Web\WebBaseController;
  4. use App\Models\RecuperateApply;
  5. use App\Models\RecuperateLog;
  6. use App\Models\RecuperateTime;
  7. use App\Services\Company\CompanyInterviewService;
  8. use App\Services\Person\ResumeService;
  9. use App\Services\Recuperate\RecuperateApplyService;
  10. use Illuminate\Http\Request;
  11. class CompanyInterviewController extends WebBaseController
  12. {
  13. /**
  14. * @var CompanyInterviewService
  15. */
  16. protected $CompanyInterviewService;
  17. protected $ResumeService;
  18. protected $recuperateApplyService;
  19. /**
  20. * CompanyInterviewController constructor.
  21. * @param CompanyInterviewService $CompanyInterviewService
  22. * @param ResumeService $ResumeService
  23. * @param RecuperateApplyService $recuperateApplyService
  24. */
  25. public function __construct(CompanyInterviewService $CompanyInterviewService, ResumeService $ResumeService,RecuperateApplyService $recuperateApplyService)
  26. {
  27. $this->CompanyInterviewService = $CompanyInterviewService;
  28. $this->ResumeService = $ResumeService;
  29. $this->recuperateApplyService = $recuperateApplyService;
  30. }
  31. public function jobsInterview(Request $request)
  32. {
  33. $resume = $this->ResumeService->myResumeAjax(auth('web-member')->user());
  34. $interview = $this->CompanyInterviewService->getInterviewByUid(auth('web-member')->user(), $request->all());
  35. return view('app.person.jobs_interview',
  36. ['resume'=>$resume,'interview'=>$interview['interview'],'count'=>$interview['count']]);
  37. }
  38. public function setInterview(Request $request)
  39. {
  40. $res = $this->CompanyInterviewService->setInterview($request->id,auth('web-member')->user());
  41. if ($res) {
  42. return $this->sendSuccessResponse('设置成功');
  43. } else {
  44. return $this->sendErrorResponse('设置失败');
  45. }
  46. }
  47. public function delInterview(Request $request)
  48. {
  49. if (request()->method()=='POST') {
  50. $res = $this->CompanyInterviewService->delInterview($request->id,auth('web-member')->user());
  51. if ($res) {
  52. return $this->sendSuccessResponse('删除成功');
  53. } else {
  54. return $this->sendErrorResponse('删除失败');
  55. }
  56. } else {
  57. return view('app.person.ajax.resume_delete', ['tpis'=>'删除后将无法恢复,您确定要删除选中的面试邀请吗?']);
  58. }
  59. }
  60. public function ajaxInterviewDetail()
  61. {
  62. $res = $this->CompanyInterviewService->ajaxInterviewDetail(request()->id,auth('web-member')->user());
  63. $html = view('app.person.ajax.show_interview', ['content'=>$res])->render();
  64. return $this->sendSuccessResponse($html);
  65. }
  66. /**
  67. * 疗养套餐报名列表
  68. */
  69. public function recuperate(Request $request)
  70. {
  71. $res = $this->recuperateApplyService->list($request->input('status',null),$request->input('year',null), 1, ['recuperate']);
  72. $year_arr=RecuperateTime::where('uid',auth('web-member')->id())->orderBy('year', 'DESC')->select('id','year','price')->get();
  73. $params = $request->all();
  74. $params['status'] = $params['status'] ?? null;
  75. $params['year'] = $params['year'] ?? null;
  76. $return_data = [
  77. 'list' => $res,
  78. 'params' => $params,
  79. 'year_list' =>$year_arr
  80. ];
  81. return view('app.person.recuperate', $return_data);
  82. }
  83. public function audit_qx(Request $request)
  84. {
  85. $id = $request->id;
  86. if (empty($id)) {
  87. return response()->json(['status'=>0,'msg'=>'数据异常']);
  88. }
  89. $uid = auth('web-member')->id();
  90. $result = RecuperateApply::where('id', '=', $id)->update(['status' => 3]);
  91. $auditData = array(
  92. 'type' => 1,
  93. 'admin_id' => $uid,
  94. 'sid' => $uid,
  95. 'content' => "取消活动"
  96. );
  97. RecuperateLog::create($auditData);
  98. if ($result) {
  99. return response()->json(['status'=>1,'msg'=>'活动已取消']);
  100. } else {
  101. return response()->json(['status'=>0,'msg'=>'该信息不存在或已审核']);
  102. }
  103. }
  104. }