ActivityUserMapperController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package com.ym.mec.teacher.controller;
  2. import com.ym.mec.biz.dal.dao.TeacherDao;
  3. import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesUnitPriceDao;
  4. import com.ym.mec.biz.dal.dto.*;
  5. import com.ym.mec.biz.dal.entity.CourseSchedule;
  6. import com.ym.mec.biz.dal.entity.Teacher;
  7. import com.ym.mec.biz.dal.entity.VipGroupDefaultClassesUnitPrice;
  8. import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
  9. import com.ym.mec.biz.service.ActivityUserMapperService;
  10. import com.ym.mec.biz.service.SysUserService;
  11. import com.ym.mec.common.controller.BaseController;
  12. import com.ym.mec.common.entity.HttpResponseResult;
  13. import com.ym.mec.common.exception.BizException;
  14. import com.ym.mec.util.date.DateUtil;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.PostMapping;
  19. import org.springframework.web.bind.annotation.RequestBody;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import java.util.List;
  23. import java.util.Objects;
  24. @Api(tags = "活动排课")
  25. @RequestMapping("activityUserMapper")
  26. @RestController
  27. public class ActivityUserMapperController extends BaseController {
  28. @Autowired
  29. private ActivityUserMapperService activityUserMapperService;
  30. @Autowired
  31. private SysUserService sysUserService;
  32. @Autowired
  33. private TeacherDao teacherDao;
  34. @Autowired
  35. private VipGroupDefaultClassesUnitPriceDao vipGroupDefaultClassesUnitPriceDao;
  36. @ApiOperation(value = "获取老师待排课课程类型列表")
  37. @RequestMapping("/queryWaitCourseCategory")
  38. public HttpResponseResult<List<CourseFormDto>> queryWaitCourse(){
  39. return succeed(activityUserMapperService.queryWaitCourseCategory(sysUserService.getUserId(),null));
  40. }
  41. @ApiOperation(value = "获取活动排课学员列表")
  42. @PostMapping("/queryActivityStudentList")
  43. public HttpResponseResult<List<ActivityUserDto>> queryActivityStudentList(@RequestBody ActivityUserQueryInfo activityUserQueryInfo){
  44. if(activityUserQueryInfo.getCategoryId() == null){
  45. throw new BizException("请选择课程类型");
  46. }
  47. if(activityUserQueryInfo.getCategoryId().equals(0)){
  48. activityUserQueryInfo.setCategoryId(null);
  49. }
  50. activityUserQueryInfo.setTeacherId(sysUserService.getUserId());
  51. return succeed(activityUserMapperService.queryActivityStudentList(activityUserQueryInfo));
  52. }
  53. @ApiOperation(value = "获取活动排课可排课时长列表")
  54. @PostMapping("/queryActivityCourseTimeList")
  55. public HttpResponseResult<List<Integer>> queryActivityCourseTimeList(@RequestBody ActivityUserQueryInfo activityUserQueryInfo){
  56. if(activityUserQueryInfo.getCategoryId() == null){
  57. throw new BizException("请选择课程类型");
  58. }
  59. if(activityUserQueryInfo.getCategoryId().equals(0)){
  60. activityUserQueryInfo.setCategoryId(null);
  61. }
  62. activityUserQueryInfo.setTeacherId(sysUserService.getUserId());
  63. return succeed(activityUserMapperService.queryActivityCourseTimeList(activityUserQueryInfo));
  64. }
  65. @ApiOperation(value = "教师端活动排课")
  66. @PostMapping("/createVipGroup")
  67. public HttpResponseResult createVipGroup(@RequestBody VipGroupApplyDto vipGroupApplyDto){
  68. VipGroupApplyBaseInfoDto applyBaseInfo = vipGroupApplyDto.getVipGroupApplyBaseInfo();
  69. if(Objects.isNull(applyBaseInfo.getEducationalTeacherId())){
  70. throw new BizException("请选择乐团主管");
  71. }
  72. applyBaseInfo.setUserId(sysUserService.getUserId());
  73. Teacher teacher = teacherDao.get(applyBaseInfo.getUserId());
  74. applyBaseInfo.setOrganId(teacher.getTeacherOrganId());
  75. vipGroupApplyDto.getCourseSchedules().stream().forEach(e->e.setEndClassTime(DateUtil.addMinutes(e.getStartClassTime(), applyBaseInfo.getSingleClassMinutes())));
  76. VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(applyBaseInfo.getVipGroupCategoryId(), applyBaseInfo.getOrganId());
  77. if(Objects.nonNull(vipGroupDefaultClassesUnitPrice)){
  78. applyBaseInfo.setOnlineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
  79. applyBaseInfo.setOfflineClassesUnitPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
  80. }
  81. return activityUserMapperService.createActivityVipGroup(vipGroupApplyDto);
  82. }
  83. @ApiOperation(value = "教师端网管课活动排课")
  84. @PostMapping("/createPracticeGroup")
  85. public HttpResponseResult createPracticeGroup(@RequestBody PracticeGroupApplyDto practiceGroupApplyDto){
  86. PracticeGroupApplyBaseInfoDto applyBaseInfo = practiceGroupApplyDto.getPracticeGroupApplyBaseInfoDto();
  87. if(Objects.isNull(applyBaseInfo.getEducationalTeacherId())){
  88. throw new BizException("请选择乐团主管");
  89. }
  90. applyBaseInfo.setUserId(sysUserService.getUserId());
  91. Teacher teacher = teacherDao.get(applyBaseInfo.getUserId());
  92. applyBaseInfo.setOrganId(teacher.getTeacherOrganId());
  93. for (CourseSchedule courseSchedule : practiceGroupApplyDto.getCourseSchedules()) {
  94. courseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(), applyBaseInfo.getSingleClassMinutes()));
  95. }
  96. return activityUserMapperService.createActivityPracticeGroup(practiceGroupApplyDto);
  97. }
  98. }