courseRepository=$courseRepository; $this->trainCourseUserRepository=$trainCourseUserRepository; $this->courseService=$courseService; $this->teacherRepository=$teacherRepository; $this->adRepository=$adRepository; $this->articleRepository=$articleRepository; } //个人会员中心所有培训 public function list(){ $courses=$this->courseRepository->courses(); $user=auth('web-member')->user(); return view('app.train.person.course',['courses'=>$courses,"user"=>$user]); } //我的报名 public function joined(){ $user=auth('web-member')->user(); $courses=$this->trainCourseUserRepository->JoinedCourses($user->id); return view('app.train.person.course_joined',['courses'=>$courses]); } public function joinedEdit($id,$action){ $user=auth('web-member')->user(); $res = TrainCourseUser::where(['member_id'=>$user->id])->get()->toArray(); $array_id = array_column($res,'course_id'); if(!in_array($id,$array_id)){ throw new ResponseException('报名信息不存在'); } $join_info=$this->trainCourseUserRepository->findJoin($id,$user->id); if ($join_info->audit==1 && $action=="edit"){ return back()->with(['msg'=>"不可以修改审核通过的报名信息!"]); } return view('app.train.person.course_joined_edit',['join_info'=>$join_info->join_info,'result'=>$join_info]); } public function joinedEditAction($id,Request $request){ $user=auth('web-member')->user(); $request_data=$request->input(); $rule = [ 'realname' => 'required', 'phone'=>['required',new MobileRule()], 'id_card'=>['required',"regex:/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/"], 'education_cn' => 'required', 'residence_cn' => 'required', ]; $msg = [ 'realname.required'=>'姓名不能为空', 'education_cn.required'=>'学历不能为空', 'residence_cn.required'=>'现居住地址不能为空', 'id_card.required'=>'证件号不能为空', 'id_card.regex'=>'证件号格式错误', 'phone.required'=>'手机号不能为空', 'phone.unique'=>'手机号已经存在', ]; $validator = Validator::make($request_data, $rule, $msg); if ($validator->fails()) { $error = $validator->errors()->first(); return back()->withErrors($error); } $en_data=serialize($request_data); $data["join_realname"]=$request_data['realname']; $data["join_phone"]=$request_data['phone']; $data["join_id_card"]=$request_data['id_card']; $data["join_residence_cn"]=$request_data['residence_cn']; $data["join_education_cn"]=$request_data['education_cn']; $data["join_info"]=$en_data; $isOk=$this->trainCourseUserRepository->updateJoinInfo($id,$user->id,$data); if (!empty($isOk)){ return redirect(route("person.train.joined"))->with(['msg'=>"修改成功"]); }else{ return back()->with(['msg'=>"修改失败"]); } } public function index() { $fengCaiAb=$this->adRepository->getAb("train_fengcai"); $artisans=$this->articleRepository->getArticle(['type_id'=>Article::PeiXunZC],request('limit',4)); $data=$this->courseService->courseIndex(); $data['ab']=$fengCaiAb; $data['artisans']=$artisans; return view('app.train.index',$data); } public function about() { $courses=$this->courseRepository->Recommend(6); return view('app.train.about',['courses'=>$courses]); } public function policy() { $artisans=$this->articleRepository->getArticle(['type_id'=>Article::PeiXunZC],request('limit',4)); return view('app.train.policy',['artisans'=>$artisans]); } public function policyShow($id) { $this->articleRepository->Click($id); $artisan=$this->articleRepository->firstWhere(['id'=>$id]); $beforeAndNext=$this->articleRepository->beforeAndNext($id,$artisan->type_id); return view('app.train.policy_show',["artisan"=>$artisan,'bf'=>$beforeAndNext]); } public function course() { return view('app.train.course'); } public function courseAction(){ //审核通过,课程没结束的 $key=['audit'=>1,["open_end_time",'>',date("Y-m-d h:i:s")]]; empty(request('key')) ? : $key[]=['name', 'like', '%'.request('key').'%']; empty(request('time')) ? : $key[]=['open_time', '<', request('time')." 23:59:59"]; !empty(\request('is_expenses')) ? : $key[]=['is_expenses',0]; $order_key="created_at"; if (\request('type')=="hot"){ $order_key="apply_members_count"; } $courses=$this->courseRepository->coursesSearch($order_key,$key); return AjaxSuccess($courses); } //课程详情 public function courseShow() { $id=request('id'); $courseInfo=$this->courseRepository->CourseInfo($id); //推荐课程 $Recommend=$this->courseRepository->Recommend(4); //其他课程 $Others=$this->courseRepository->OtherCourses(6); $this->courseService->courseShowClick($id); return view('app.train.course_show',['courseInfo'=>$courseInfo,"Recommend"=>$Recommend,"others"=>$Others]); } //报名 public function courseJoin($id){ $user=auth('web-member')->user(); $this->courseService->Join($user,$id); } public function teacher() { return view('app.train.teacher'); } }