PadController.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/3/21
  6. * Time: 15:01
  7. */
  8. namespace App\Http\Controllers\Web\Hardware\Pad;
  9. use App\Http\Controllers\Web\WebBaseController;
  10. use App\Repositories\MemberHandselRepository;
  11. use http\Env\Response;
  12. use Illuminate\Http\Request;
  13. use Illuminate\Support\Facades\Auth;
  14. use App\Services\Auth\AuthService;
  15. use App\Services\Common\GeetestService;
  16. use App\Repositories\Jobfair\JobfairFloorplanStandRepository;
  17. use App\Repositories\Jobfair\JobfairCompanyRepository;
  18. use App\Repositories\CompanyRepository;
  19. use App\Services\Common\SmsService;
  20. use App\Models\Jobfair\Jobfair;
  21. use App\Models\MembersPoint;
  22. class PadController extends WebBaseController
  23. {
  24. /**
  25. * @var AuthService
  26. */
  27. protected $authService;
  28. /**
  29. * @var SmsService
  30. */
  31. protected $smsService;
  32. /**
  33. * @var GeetestService
  34. */
  35. protected $geetestService;
  36. /**
  37. * @var JobfairFloorplanStandRepository
  38. */
  39. protected $jobfairFloorplanStandRepository;
  40. /**
  41. * @var JobfairCompanyRepository
  42. */
  43. protected $jobfairCompanyRepository;
  44. protected $companyRepository;
  45. protected $memberHandselRepository;
  46. /**
  47. * LoginController constructor.
  48. * @param AuthService $authService
  49. * @param SmsService $smsService
  50. * @param GeetestService $geetestService
  51. * @param GeetestService $jobfairFloorplanStandRepository
  52. * @param GeetestService $jobfairCompanyRepository
  53. * @param GeetestService $companyRepository
  54. * @param MemberHandselRepository $memberHandselRepository
  55. */
  56. public function __construct(
  57. AuthService $authService,
  58. SmsService $smsService,
  59. GeetestService $geetestService,
  60. JobfairFloorplanStandRepository $jobfairFloorplanStandRepository,
  61. JobfairCompanyRepository $jobfairCompanyRepository,
  62. CompanyRepository $companyRepository,
  63. MemberHandselRepository $memberHandselRepository
  64. ) {
  65. $this->authService = $authService;
  66. $this->smsService = $smsService;
  67. $this->geetestService = $geetestService;
  68. $this->jobfairFloorplanStandRepository = $jobfairFloorplanStandRepository;
  69. $this->jobfairCompanyRepository = $jobfairCompanyRepository;
  70. $this->companyRepository = $companyRepository;
  71. $this->memberHandselRepository = $memberHandselRepository;
  72. }
  73. public function login(Request $request)
  74. {
  75. if($request->method() == 'GET'){
  76. $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$request->exid]);
  77. if(!$res || !$res->jobfair_company){
  78. return view('app.hardware.pad.login',['eid'=>$request->exid,'flag'=>false]);
  79. }
  80. $comp_info = $this->companyRepository->getCompanyColumn($res->jobfair_company->company_id,['username','companyname']);
  81. return response()->view('app.hardware.pad.login',['eid'=>$request->exid,'comp_info'=>$comp_info,'flag'=>true])->cookie('exid',$request->exid,1440);
  82. }else{
  83. if($request->username == '' || $request->password == ''){
  84. return $this->sendSuccessResponse(['status'=>0,'msg'=>"请输入账号或密码"]);
  85. }
  86. if (!$company=$this->authService->loginByCompany($request->username, $request->password)) {
  87. return $this->sendSuccessResponse(['status'=>0,'msg'=>"用户名或密码错误"]);
  88. }
  89. if ($company->user_status == 0) {
  90. Auth::guard('web-company')->logout();
  91. return $this->sendSuccessResponse(['status'=>0,'msg'=>"你的账号处于封禁状态, 请联系管理员"]);
  92. }
  93. $user = auth('web-company')->user();
  94. $eid = $request->eid;
  95. $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$eid]);
  96. $where = [
  97. 'company_id'=>$user->id,
  98. 'jobfair_id'=>$res->jobfair_id,
  99. 'position_id'=>$res->id,
  100. 'audit'=>1,
  101. ];
  102. $res1 = $this->jobfairCompanyRepository->getOne($where);
  103. if(!$res1){
  104. return $this->sendSuccessResponse(['status'=>0,'msg'=>"该企业没有预定展位"]);
  105. }
  106. if($res1->type == 0){
  107. if($res1->jobfair->holddate_start >= strtotime("-30 minute")){
  108. $this->jobfairCompanyRepository->updateInfo($where,['type'=>4,'signed_time'=>time()]);
  109. }elseif($res1->jobfair->holddate_start < strtotime("-30 minute")){
  110. $this->jobfairCompanyRepository->updateInfo($where,['type'=>1,'signed_time'=>time()]);
  111. $is_commonweal = Jobfair::where('id',$res->jobfair_id)->value('is_commonweal');
  112. $late_point = Jobfair::where('id',$res->jobfair_id)->value('late_point');
  113. if($late_point && $is_commonweal!=3){
  114. $points = MembersPoint::where(['utype'=>1,'uid'=>$user->id])->value('points');
  115. if($points > $late_point){
  116. MembersPoint::where(['utype'=>1,'uid'=>$user->id])->decrement('points',$late_point);
  117. $handsel['points'] = $late_point;
  118. }else{
  119. $handsel['points'] = $points;
  120. MembersPoint::where(['utype'=>1,'uid'=>$user->id])->update(['points'=>0]);
  121. }
  122. $handsel['uid'] = $user->id;
  123. $handsel['utype'] = $user->utype;
  124. $handsel['htype'] = 'jobfair_late';
  125. $handsel['htype_cn'] = '招聘会迟到';
  126. $handsel['operate'] = 2;
  127. $this->memberHandselRepository->addNew($handsel);
  128. }
  129. }
  130. }
  131. session(['floorplan_stands'=>[
  132. 'id'=> $res->id,
  133. 'equipment_id' => $res->equipment_id,
  134. 'jobfair_id' => $res->jobfair_id,
  135. 'floorplan_id' => $res->floorplan_id,
  136. 'exid' => $res1->id,
  137. 'company_id'=>$user->id
  138. ]]);
  139. return $this->sendSuccessResponse(['status'=>1,'msg'=>"登陆成功"]);
  140. }
  141. }
  142. public function logout(){
  143. $this->authService->logout();
  144. return $this->sendSuccessResponse(['status'=>1,'msg'=>"退出成功"]);
  145. }
  146. public function index(){
  147. return view('app.hardware.pad.index');
  148. }
  149. }