| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: Administrator
 
-  * Date: 2019/8/14
 
-  * Time: 10:43
 
-  */
 
- namespace App\Http\Controllers\Web\Train;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\Article;
 
- use App\Models\Category;
 
- use App\Models\Train\TrainCourseUser;
 
- use App\Repositories\AdRepository;
 
- use App\Repositories\ArticleRepository;
 
- use App\Repositories\Train\TrainCourseRepository;
 
- use App\Repositories\Train\TrainCourseUserRepository;
 
- use App\Repositories\Train\TrainTeacherRepository;
 
- use App\Services\Train\CourseService;
 
- use App\Validators\Rules\MobileRule;
 
- use Illuminate\Http\Request;
 
- use Illuminate\Support\Facades\Validator;
 
- use Laravel\Horizon\LuaScripts;
 
- class TrainController
 
- {
 
-     private $courseRepository;
 
-     private $trainCourseUserRepository;
 
-     private $courseService;
 
-     private $teacherRepository;
 
-     private $adRepository;
 
-     private $articleRepository;
 
-     public function __construct(ArticleRepository $articleRepository,AdRepository $adRepository,TrainTeacherRepository $teacherRepository,CourseService $courseService,TrainCourseUserRepository $trainCourseUserRepository,TrainCourseRepository $courseRepository)
 
-     {
 
-         $this->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');
 
-     }
 
- }
 
 
  |