CourseShareController.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.biz.dal.dto.CourseShareDto;
  3. import com.ym.mec.biz.dal.dto.StudentManageListDto;
  4. import com.ym.mec.biz.dal.entity.CourseShare;
  5. import com.ym.mec.biz.dal.page.CourseShareQueryInfo;
  6. import com.ym.mec.biz.service.CourseShareService;
  7. import com.ym.mec.common.controller.BaseController;
  8. import com.ym.mec.common.entity.HttpResponseResult;
  9. import com.ym.mec.common.page.PageInfo;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.security.access.prepost.PreAuthorize;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import java.util.List;
  23. /**
  24. * @author 袁亮
  25. * @version v1.0
  26. * @apiNote 课程分享接口
  27. */
  28. @Api(tags = "课程分享接口控制器")
  29. @RequestMapping("courseShare")
  30. @RestController
  31. public class CourseShareController extends BaseController {
  32. @Autowired
  33. private CourseShareService courseShareService;
  34. @ApiOperation(value = "保存分享列表")
  35. @PostMapping("/saveCourseShare")
  36. @PreAuthorize("@pcs.hasPermissions('courseShare/saveCourseShare')")
  37. public HttpResponseResult<List<CourseShare>> saveCourseShare(@Validated @RequestBody CourseShareDto courseShareDto) {
  38. courseShareService.saveCourseShare(courseShareDto);
  39. return succeed();
  40. }
  41. @ApiOperation(value = "查询已经分享过的学生")
  42. @GetMapping("/queryCourseSharedStudent")
  43. @PreAuthorize("@pcs.hasPermissions('courseShare/queryCourseSharedStudent')")
  44. public HttpResponseResult<PageInfo<StudentManageListDto>> queryCourseSharedStudent(
  45. @Validated CourseShareQueryInfo shareQueryInfo) {
  46. return succeed(courseShareService.queryCourseSharedStudent(shareQueryInfo));
  47. }
  48. @ApiOperation(value = "查询已经分享过的学生")
  49. @GetMapping("/queryAllCourseShareStudent")
  50. @PreAuthorize("@pcs.hasPermissions('courseShare/queryAllCourseShareStudent')")
  51. public HttpResponseResult<PageInfo<StudentManageListDto>> queryAllCourseShareStudent(
  52. @Validated CourseShareQueryInfo shareQueryInfo) {
  53. return succeed(courseShareService.queryAllCourseShareStudent(shareQueryInfo));
  54. }
  55. @ApiOperation(value = "导入学员")
  56. @PostMapping(value = "/importStudent")
  57. @PreAuthorize("@pcs.hasPermissions('courseShare/importStudent')")
  58. public HttpResponseResult<String> importStudent(@RequestParam("file") MultipartFile file,
  59. @RequestParam("courseId") Long courseId) {
  60. String msg = courseShareService.importStudent(file, courseId);
  61. HttpResponseResult<String> succeed = succeed();
  62. succeed.setMsg(msg);
  63. return succeed;
  64. }
  65. @ApiOperation("删除共享的学员")
  66. @PostMapping("/deleteShareStudent")
  67. @PreAuthorize("@pcs.hasPermissions('courseShare/deleteShareStudent')")
  68. public Object deleteShareStudent(@Validated @RequestBody CourseShareDto courseShareDto) {
  69. courseShareService.deleteStudent(courseShareDto);
  70. return succeed();
  71. }
  72. }