CourseController.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.nju.edu.eval.web.controller;
  2. import com.nju.edu.eval.aspect.auth.Authorized;
  3. import com.nju.edu.eval.data.entity.User;
  4. import com.nju.edu.eval.model.vo.course.CourseVO;
  5. import com.nju.edu.eval.publicdatas.enums.UserRole;
  6. import com.nju.edu.eval.service.CourseService;
  7. import com.nju.edu.eval.web.Response;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.*;
  12. import springfox.documentation.annotations.ApiIgnore;
  13. /**
  14. * @author weijin
  15. */
  16. @RestController
  17. @RequestMapping(path = "/api/course")
  18. @Api(tags = {"考试"})
  19. public class CourseController {
  20. private final CourseService courseService;
  21. @Autowired
  22. public CourseController(CourseService courseService) {
  23. this.courseService = courseService;
  24. }
  25. @ApiOperation("创建课程")
  26. @PostMapping("")
  27. @Authorized(roles = {UserRole.TEACHER, UserRole.HR})
  28. public Response createCourse(@ApiIgnore User user, @RequestBody CourseVO courseVO) {
  29. return Response.buildSuccess(courseService.createCourse(courseVO, user.getId()));
  30. }
  31. @ApiOperation("更新课程")
  32. @PutMapping("")
  33. @Authorized(roles = {UserRole.TEACHER, UserRole.HR})
  34. public Response updateCourse(@ApiIgnore User user, @RequestBody CourseVO courseVO) {
  35. return Response.buildSuccess(courseService.updateCourse(courseVO, user.getId()));
  36. }
  37. @ApiOperation("根据教师获取课程")
  38. @GetMapping("")
  39. @Authorized(roles = {UserRole.TEACHER, UserRole.HR})
  40. public Response getCourseByTeacher(@ApiIgnore User user) {
  41. return Response.buildSuccess(courseService.getCourseByTeacher(user.getId()));
  42. }
  43. }