TeacherController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/8/14
  6. * Time: 10:43
  7. */
  8. namespace App\Http\Controllers\Web\Train;
  9. use App\Exceptions\ResponseException;
  10. use App\Models\Category;
  11. use App\Repositories\Train\TrainTeacherRepository;
  12. use App\Services\Train\TeacherService;
  13. use App\Validators\Train\TeacherSaveValidatorRequest;
  14. use Illuminate\Http\Request;
  15. use Illuminate\Support\Facades\Validator;
  16. class TeacherController
  17. {
  18. protected $teacherRepository;
  19. protected $teacherService;
  20. public function __construct(TeacherService $teacherService,TrainTeacherRepository $teacherRepository)
  21. {
  22. $this->teacherRepository=$teacherRepository;
  23. $this->teacherService=$teacherService;
  24. }
  25. public function teacher()
  26. {
  27. $user=auth('web-company')->user();
  28. $teachers=$this->teacherRepository->teachers(['created_by'=>$user->id]);
  29. return view('app.train.teacher.index',['teachers'=>$teachers]);
  30. }
  31. public function listAction(){
  32. $teachers=$this->teacherRepository->teachers(['audit'=>1]);
  33. return AjaxSuccess($teachers);
  34. }
  35. public function delete($id){
  36. $user=auth('web-company')->user();
  37. $ids=explode(',',$id);
  38. $isHave=$this->teacherRepository->teachersCourse($ids);
  39. if (!empty($isHave)){
  40. return AjaxError("此讲师有对应的课程,请先删除对应的课程");
  41. }
  42. $isOk=$this->teacherRepository->teacherDel($ids,$user->id);
  43. if ($isOk){
  44. return AjaxSuccess("删除成功!");
  45. }else{
  46. return AjaxError("删除失败!");
  47. }
  48. }
  49. public function save(TeacherSaveValidatorRequest $request){
  50. $user=auth('web-company')->user();
  51. $this->teacherService->addTeacher($request->all(),$user);
  52. }
  53. public function add()
  54. {
  55. $education=Category::categoryType("AIX_education");
  56. $teacher=null;
  57. if (!empty(\request('id'))){
  58. $teacher=$this->teacherRepository->find(request('id'));
  59. }
  60. return view('app.train.teacher.add',['education'=>$education,'teacher'=>$teacher]);
  61. }
  62. }