EasEduScheduleController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.koobietech.eas.controller;
  2. import com.github.pagehelper.PageHelper;
  3. import com.koobietech.eas.common.result.JsonPageResult;
  4. import com.koobietech.eas.common.result.JsonResult;
  5. import com.koobietech.eas.common.result.PageDataResult;
  6. import com.koobietech.eas.common.utils.SecurityManager;
  7. import com.koobietech.eas.dao.dto.ConflictDto;
  8. import com.koobietech.eas.dao.dto.ScheduleDto;
  9. import com.koobietech.eas.dao.pojo.LessonPojo;
  10. import com.koobietech.eas.dao.pojo.SchedulePojo;
  11. import com.koobietech.eas.mbg.model.EasEduSchedule;
  12. import com.koobietech.eas.service.EasEduScheduleService;
  13. import io.swagger.v3.oas.annotations.Operation;
  14. import io.swagger.v3.oas.annotations.tags.Tag;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.annotation.Resource;
  17. import java.util.List;
  18. @RestController
  19. @Tag(name = "课程表模块")
  20. @RequestMapping("/schedule")
  21. public class EasEduScheduleController {
  22. @Resource
  23. EasEduScheduleService easEduScheduleService;
  24. @GetMapping("/dashboardWorkbench")
  25. @Operation(summary = "工作台", description = "工作台")
  26. public JsonResult dashboardWorkbench() {
  27. LessonPojo ret = easEduScheduleService.dashboardWorkbench();
  28. return JsonResult.data(ret);
  29. }
  30. @PostMapping("/add")
  31. @Operation(summary = "添加课程表", description = "根据课程和重复预约次数(接下来连续多少天都预约这节课)录入基本课程信息")
  32. public JsonResult add(@RequestBody EasEduSchedule schedule, @RequestParam int repeatTime) {
  33. Boolean ret = easEduScheduleService.add(schedule, repeatTime);
  34. if (ret) {
  35. return JsonResult.ok();
  36. }
  37. return JsonResult.fail();
  38. }
  39. @DeleteMapping("/delete")
  40. @Operation(summary = "删除课程表", description = "删除课程表数据根据ID")
  41. public JsonResult delete(@RequestParam Long id) {
  42. Boolean ret = easEduScheduleService.delete(id);
  43. if (ret) {
  44. return JsonResult.ok();
  45. }
  46. return JsonResult.fail();
  47. }
  48. @PutMapping("/update")
  49. @Operation(summary = "更新课程表", description = "更新课程信息")
  50. public JsonResult update(@RequestBody EasEduSchedule schedule) {
  51. Boolean ret = easEduScheduleService.update(schedule);
  52. if (ret) {
  53. return JsonResult.ok();
  54. }
  55. return JsonResult.fail();
  56. }
  57. @PostMapping("/query")
  58. @Operation(summary = "查询课程表", description = "根据参数查询课程表信息")
  59. public JsonPageResult query(@RequestBody(required = false) EasEduSchedule schedule,
  60. @RequestParam Long pageNum, @RequestParam Long pageSize) {
  61. PageHelper.startPage(Math.toIntExact(pageNum), Math.toIntExact(pageSize));
  62. PageDataResult ret = easEduScheduleService.query(schedule);
  63. return JsonPageResult.data(ret);
  64. }
  65. @PostMapping("/querySchedule")
  66. @Operation(summary = "查询课程表", description = "根据参数查询课程表信息")
  67. public JsonResult querySchedule(@RequestBody(required = false) ScheduleDto schedule) {
  68. if ( SecurityManager.isStudentUser() ) {
  69. // 如果是学生用户,则只查询自己的课程表
  70. schedule.setStudentId(SecurityManager.getLoginSid().intValue());
  71. }
  72. List<SchedulePojo> ret = easEduScheduleService.querySchedule(schedule);
  73. return JsonResult.data(ret);
  74. }
  75. @PutMapping("/queryConflict")
  76. @Operation(summary = "查询排课是否冲突", description = "根据参数查询排课是否冲突")
  77. public JsonResult queryConflict(@RequestBody ConflictDto conflictDto) {
  78. Boolean ret = easEduScheduleService.queryConflict(conflictDto);
  79. if (ret) {
  80. return JsonResult.data("排课没有冲突");
  81. }
  82. return JsonResult.data("排课有冲突");
  83. }
  84. }