|  | @@ -1,8 +1,7 @@
 | 
	
		
			
				|  |  |  package com.yonge.cooleshow.student.controller;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  | +import com.microsvc.toolkit.common.webportal.exception.BizException;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.AppAuditVersionSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.PracticeTeacherSearch;
 | 
	
	
		
			
				|  | @@ -10,14 +9,9 @@ import com.yonge.cooleshow.biz.dal.entity.CourseCalendarEntity;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.CourseScheduleReplied;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.CourseRepliedService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.CourseStudent;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.MyCourseVo;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.PianoClassVo;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.PracticeTeacherVo;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.StudentHomePage;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.service.*;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.vo.*;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.wrapper.TeacherFreeTimeWrapper;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.controller.BaseController;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.entity.HttpResponseResult;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 | 
	
	
		
			
				|  | @@ -27,15 +21,11 @@ import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  |  import io.swagger.annotations.ApiImplicitParam;
 | 
	
		
			
				|  |  |  import io.swagger.annotations.ApiImplicitParams;
 | 
	
		
			
				|  |  |  import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | -import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | -import org.springframework.http.HttpStatus;
 | 
	
		
			
				|  |  | +import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.validation.annotation.Validated;
 | 
	
		
			
				|  |  | -import org.springframework.web.bind.annotation.GetMapping;
 | 
	
		
			
				|  |  | -import org.springframework.web.bind.annotation.PostMapping;
 | 
	
		
			
				|  |  | -import org.springframework.web.bind.annotation.RequestBody;
 | 
	
		
			
				|  |  | -import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
		
			
				|  |  | -import org.springframework.web.bind.annotation.RestController;
 | 
	
		
			
				|  |  | +import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import javax.annotation.Resource;
 | 
	
		
			
				|  |  |  import javax.validation.constraints.NotNull;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
	
		
			
				|  | @@ -49,14 +39,16 @@ import java.util.Set;
 | 
	
		
			
				|  |  |  @RestController
 | 
	
		
			
				|  |  |  @RequestMapping("${app-config.url.student:}/courseSchedule")
 | 
	
		
			
				|  |  |  public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | -    private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private SysUserService sysUserService;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  |      private CourseScheduleService courseScheduleService;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  |      private CourseRepliedService repliedService;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  |      private AppVersionInfoService appVersionInfoService;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private TeacherFreeTimeService teacherFreeTimeService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @ApiOperation("学生端-查询房间配置")
 | 
	
		
			
				|  |  |      @GetMapping("/selectRoomConfig")
 | 
	
	
		
			
				|  | @@ -67,12 +59,7 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation("学生端-我的-我的课程-陪练课")
 | 
	
		
			
				|  |  |      @PostMapping("/queryStudentPracticeCourse")
 | 
	
		
			
				|  |  |      public HttpResponseResult<PageInfo<MyCourseVo>> queryStudentPracticeCourse(@RequestBody MyCourseSearch search) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        search.setStudentId(user.getId());
 | 
	
		
			
				|  |  | +        search.setStudentId(sysUserService.getUserId());
 | 
	
		
			
				|  |  |          IPage<MyCourseVo> pages = courseScheduleService.queryStudentPracticeCourse(PageUtil.getPage(search), search);
 | 
	
		
			
				|  |  |          return succeed(PageUtil.pageInfo(pages));
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -80,25 +67,15 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation(value = "学生端-我的-我的课程-课程详情-评价陪练课", httpMethod = "POST", consumes = "application/json", produces = "application/json")
 | 
	
		
			
				|  |  |      @PostMapping(value = "/replied", consumes = "application/json", produces = "application/json")
 | 
	
		
			
				|  |  |      public HttpResponseResult<Object> replied(@Validated @RequestBody CourseScheduleReplied replied) {
 | 
	
		
			
				|  |  | -        SysUser sysUser = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (sysUser == null || sysUser.getId() == null) {
 | 
	
		
			
				|  |  | -            return failed("用户信息获取失败");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          replied.setCourseGroupType(CourseScheduleEnum.PRACTICE.getCode());
 | 
	
		
			
				|  |  | -        repliedService.replied(replied, sysUser);
 | 
	
		
			
				|  |  | +        repliedService.replied(replied, sysUserService.getUser());
 | 
	
		
			
				|  |  |          return succeed();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @ApiOperation(value = "学生端-我的-我的课程-课程详情-查询陪练课评价")
 | 
	
		
			
				|  |  |      @PostMapping(value = "/selectReplied")
 | 
	
		
			
				|  |  |      public HttpResponseResult<CourseScheduleReplied> selectReplied(@Validated @RequestBody CourseScheduleReplied replied) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        replied.setStudentId(user.getId());
 | 
	
		
			
				|  |  | +        replied.setStudentId(sysUserService.getUserId());
 | 
	
		
			
				|  |  |          replied.setCourseGroupType(CourseScheduleEnum.PRACTICE.getCode());
 | 
	
		
			
				|  |  |          return succeed(repliedService.selectReplied(replied));
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -106,11 +83,7 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation("学生端-课表-日历")
 | 
	
		
			
				|  |  |      @PostMapping("/queryCourseScheduleStudent")
 | 
	
		
			
				|  |  |      public HttpResponseResult<Set<String>> queryCourseScheduleStudent(@RequestBody MyCourseSearch search) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        search.setStudentId(user.getId());
 | 
	
		
			
				|  |  | +        search.setStudentId(sysUserService.getUserId());
 | 
	
		
			
				|  |  |          return succeed(courseScheduleService.queryCourseScheduleStudent(search));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -124,11 +97,7 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation(value = "学生端-课表-日历-用户", notes = "search:{\"classDate\":\"2022-03-27\"}")
 | 
	
		
			
				|  |  |      @PostMapping("/queryCourseTeacher")
 | 
	
		
			
				|  |  |      public HttpResponseResult<Map<String, Object>> queryCourseTeacher(@RequestBody MyCourseSearch search) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        search.setStudentId(user.getId());
 | 
	
		
			
				|  |  | +        search.setStudentId(sysUserService.getUserId());
 | 
	
		
			
				|  |  |          return succeed(courseScheduleService.queryCourseTeacher(search));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -149,14 +118,10 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation("学生-首页-直播课&视频课&最近课程")
 | 
	
		
			
				|  |  |      @GetMapping("/queryLiveAndVideo")
 | 
	
		
			
				|  |  |      public HttpResponseResult<StudentHomePage> queryLiveAndVideo(AppAuditVersionSearch search) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          // 检查app版本审核/正式
 | 
	
		
			
				|  |  |          YesOrNoEnum appAuditVersion = appVersionInfoService.getAppAuditVersion(search.getPlatform(),
 | 
	
		
			
				|  |  |                                                                                 search.getVersion());
 | 
	
		
			
				|  |  | -        return succeed(courseScheduleService.queryLiveAndVideo(user.getId(),null,appAuditVersion));
 | 
	
		
			
				|  |  | +        return succeed(courseScheduleService.queryLiveAndVideo(sysUserService.getUserId(),null,appAuditVersion));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @ApiImplicitParams({
 | 
	
	
		
			
				|  | @@ -181,14 +146,23 @@ public class StudentCourseScheduleController extends BaseController {
 | 
	
		
			
				|  |  |      @ApiOperation("学生端-我的课程-琴房课列表")
 | 
	
		
			
				|  |  |      @PostMapping("/queryPianoClass")
 | 
	
		
			
				|  |  |      public HttpResponseResult<PageInfo<PianoClassVo>> queryPianoClass(@RequestBody MyCourseSearch search) {
 | 
	
		
			
				|  |  | -        SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | -        if (user == null || null == user.getId()) {
 | 
	
		
			
				|  |  | -            return failed(HttpStatus.FORBIDDEN, "请登录");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        search.setStudentId(user.getId());
 | 
	
		
			
				|  |  | +        search.setStudentId(sysUserService.getUserId());
 | 
	
		
			
				|  |  |          IPage<PianoClassVo> pages = courseScheduleService.queryPianoClass(PageUtil.getPage(search), search);
 | 
	
		
			
				|  |  |          return succeed(PageUtil.pageInfo(pages));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @ApiOperation("学生端-约课-老师列表")
 | 
	
		
			
				|  |  | +    @PostMapping("/queryTeacherList")
 | 
	
		
			
				|  |  | +    public HttpResponseResult<PageInfo<PracticeTeacherVo>> queryTeacherList(@RequestBody TeacherFreeTimeWrapper.TeacherSearch query) {
 | 
	
		
			
				|  |  | +        //声部和课程类型必填
 | 
	
		
			
				|  |  | +        if (query.getSubjectId() == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("请选择声部");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isEmpty(query.getCourseType())) {
 | 
	
		
			
				|  |  | +            throw new BizException("请选择课程类型");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        IPage<PracticeTeacherVo> pages = teacherFreeTimeService.queryTeacherList(PageUtil.getPage(query),query);
 | 
	
		
			
				|  |  | +        return succeed(PageUtil.pageInfo(pages));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |