| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | <?php/** * Created by PhpStorm. * User: Administrator * Date: 2019/3/21 * Time: 15:01 */namespace App\Http\Controllers\Web\Hardware\Pad;use App\Http\Controllers\Web\WebBaseController;use App\Repositories\MemberHandselRepository;use http\Env\Response;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;use App\Services\Auth\AuthService;use App\Services\Common\GeetestService;use App\Repositories\Jobfair\JobfairFloorplanStandRepository;use App\Repositories\Jobfair\JobfairCompanyRepository;use App\Repositories\CompanyRepository;use App\Services\Common\SmsService;use App\Models\Jobfair\Jobfair;use App\Models\MembersPoint;class PadController extends WebBaseController{    /**     * @var AuthService     */    protected $authService;    /**     * @var SmsService     */    protected $smsService;    /**     * @var GeetestService     */    protected $geetestService;    /**     * @var JobfairFloorplanStandRepository     */    protected $jobfairFloorplanStandRepository;    /**     * @var JobfairCompanyRepository     */    protected $jobfairCompanyRepository;    protected $companyRepository;    protected $memberHandselRepository;    /**     * LoginController constructor.     * @param AuthService $authService     * @param SmsService $smsService     * @param GeetestService $geetestService     * @param GeetestService $jobfairFloorplanStandRepository     * @param GeetestService $jobfairCompanyRepository     * @param GeetestService $companyRepository     * @param MemberHandselRepository $memberHandselRepository     */    public function __construct(        AuthService $authService,        SmsService $smsService,        GeetestService $geetestService,        JobfairFloorplanStandRepository $jobfairFloorplanStandRepository,        JobfairCompanyRepository $jobfairCompanyRepository,        CompanyRepository $companyRepository,        MemberHandselRepository $memberHandselRepository    ) {        $this->authService = $authService;        $this->smsService = $smsService;        $this->geetestService = $geetestService;        $this->jobfairFloorplanStandRepository = $jobfairFloorplanStandRepository;        $this->jobfairCompanyRepository = $jobfairCompanyRepository;        $this->companyRepository = $companyRepository;        $this->memberHandselRepository = $memberHandselRepository;    }    public function login(Request $request)    {        if($request->method() == 'GET'){            $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$request->exid]);            if(!$res || !$res->jobfair_company){                return view('app.hardware.pad.login',['eid'=>$request->exid,'flag'=>false]);            }            $comp_info = $this->companyRepository->getCompanyColumn($res->jobfair_company->company_id,['username','companyname']);            return response()->view('app.hardware.pad.login',['eid'=>$request->exid,'comp_info'=>$comp_info,'flag'=>true])->cookie('exid',$request->exid,1440);        }else{            if($request->username == '' || $request->password == ''){                return $this->sendSuccessResponse(['status'=>0,'msg'=>"请输入账号或密码"]);            }            if (!$company=$this->authService->loginByCompany($request->username, $request->password)) {                return $this->sendSuccessResponse(['status'=>0,'msg'=>"用户名或密码错误"]);            }            if ($company->user_status == 0) {                Auth::guard('web-company')->logout();                return $this->sendSuccessResponse(['status'=>0,'msg'=>"你的账号处于封禁状态, 请联系管理员"]);            }            $user = auth('web-company')->user();            $eid = $request->eid;            $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$eid]);            $where = [                    'company_id'=>$user->id,                    'jobfair_id'=>$res->jobfair_id,                    'position_id'=>$res->id,                    'audit'=>1,                ];            $res1 = $this->jobfairCompanyRepository->getOne($where);            if(!$res1){                return $this->sendSuccessResponse(['status'=>0,'msg'=>"该企业没有预定展位"]);            }            if($res1->type == 0){                if($res1->jobfair->holddate_start >= strtotime("-30 minute")){                    $this->jobfairCompanyRepository->updateInfo($where,['type'=>4,'signed_time'=>time()]);                }elseif($res1->jobfair->holddate_start < strtotime("-30 minute")){                    $this->jobfairCompanyRepository->updateInfo($where,['type'=>1,'signed_time'=>time()]);                    $is_commonweal = Jobfair::where('id',$res->jobfair_id)->value('is_commonweal');                    $late_point = Jobfair::where('id',$res->jobfair_id)->value('late_point');                    if($late_point && $is_commonweal!=3){                        $points = MembersPoint::where(['utype'=>1,'uid'=>$user->id])->value('points');                        if($points > $late_point){                            MembersPoint::where(['utype'=>1,'uid'=>$user->id])->decrement('points',$late_point);                            $handsel['points'] = $late_point;                        }else{                            $handsel['points'] = $points;                            MembersPoint::where(['utype'=>1,'uid'=>$user->id])->update(['points'=>0]);                        }                        $handsel['uid'] = $user->id;                        $handsel['utype'] = $user->utype;                        $handsel['htype'] = 'jobfair_late';                        $handsel['htype_cn'] = '招聘会迟到';                        $handsel['operate'] = 2;                        $this->memberHandselRepository->addNew($handsel);                    }                }            }            session(['floorplan_stands'=>[                'id'=> $res->id,                'equipment_id' => $res->equipment_id,                'jobfair_id' => $res->jobfair_id,                'floorplan_id' => $res->floorplan_id,                'exid' => $res1->id,                'company_id'=>$user->id            ]]);            return $this->sendSuccessResponse(['status'=>1,'msg'=>"登陆成功"]);        }    }    public function logout(){        $this->authService->logout();        return $this->sendSuccessResponse(['status'=>1,'msg'=>"退出成功"]);    }    public function index(){        return view('app.hardware.pad.index');    }}
 |