Ver código fonte

学生端日历用户

cy 3 anos atrás
pai
commit
a4d16b8c14

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java

@@ -96,5 +96,8 @@ public interface CourseScheduleDao extends BaseMapper<CourseSchedule> {
 
     //学生端-首页-陪练课老师列表
     List<PracticeTeacherVo> teacherList(IPage<PracticeTeacherVo> page, @Param("param") PracticeTeacherSearch search);
+
+    //学生端-课表-日历-用户
+    List<CourseStudent> queryCourseTeacher(@Param("param") MyCourseSearch search);
 }
 

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleService.java

@@ -183,5 +183,7 @@ public interface CourseScheduleService extends IService<CourseSchedule> {
     Map<String,Object> queryCourseUser(MyCourseSearch search);
 
     IPage<PracticeTeacherVo> teacherList(IPage<PracticeTeacherVo> page, PracticeTeacherSearch search);
+
+    Map<String,Object> queryCourseTeacher(MyCourseSearch search);
 }
 

+ 26 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -678,6 +678,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      */
     public MyCourseSearch monthToDate(MyCourseSearch search) {
         String classMonth = search.getClassMonth();
+        if (StringUtils.isBlank(classMonth)){
+            return search;
+        }
         String[] classDateSp = classMonth.split("-");
         LocalDate firstDay;
         try {
@@ -774,5 +777,28 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         }
         return page.setRecords(baseMapper.teacherList(page, search));
     }
+
+    /**
+     * @Description: 学生端-课表-日历-用户
+     * @Author: cy
+     * @Date: 2022/4/20
+     */
+    public Map<String,Object> queryCourseTeacher(MyCourseSearch search) {
+        List<CourseStudent> teacherList=baseMapper.queryCourseTeacher(search);
+        Map<String, String> sysConfig = new HashMap<>();
+        //提前XX分钟创建/进入陪练课房间时间
+        sysConfig.put("practiceStartTime",sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PRACTICE_ROOM_MINUTE));
+        //陪练课结束后,XX分钟关闭房间
+        sysConfig.put("practiceEndTime",sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_PRACTICE_ROOM_MINUTE));
+        //提前XX分钟创建/进入直播房间的时间
+        sysConfig.put("liveStartTime",sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE));
+        //直播结束后,XX分钟关闭房间
+        sysConfig.put("liveEndTime",sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE));
+
+        Map map=new HashMap();
+        map.put("sysConfig",sysConfig);
+        map.put("studentList",teacherList);
+        return map;
+    }
 }
 

+ 44 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -348,4 +348,48 @@
             </when>
         </choose>
     </select>
+    <select id="queryCourseTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.CourseStudent"
+            parameterType="com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch">
+        SELECT
+            s.id_ AS courseId,
+            s.course_group_id_ AS courseGoupId,
+            s.class_date_ AS classDate,
+            s.start_time_ AS startTime,
+            s.end_time_ AS endTime,
+            s.type_ AS courseType,
+            s.status_ AS `status`,
+            u.id_ AS userId,
+            u.username_ AS name,
+            u.avatar_ AS cover,
+            g.subject_id_ AS subjectId,
+            b.name_ AS subjectName
+        FROM course_schedule s
+        LEFT JOIN sys_user u ON s.teacher_id_ = u.id_
+        LEFT JOIN course_group g ON s.course_group_id_ = g.id_
+        LEFT JOIN `subject` b ON g.subject_id_ = b.id_
+        WHERE s.id_ IN
+        (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ = 'PRACTICE')
+        AND s.class_date_ = #{param.classDate}
+        UNION
+        SELECT
+            s.id_ AS courseId,
+            s.course_group_id_ AS courseGoupId,
+            s.class_date_ AS classDate,
+            s.start_time_ AS startTime,
+            s.end_time_ AS endTime,
+            s.type_ AS courseType,
+            s.status_ AS `status`,
+            NULL AS userId,
+            CONCAT(g.name_,'-第',s.class_num_,'课') AS name,
+            g.background_pic_ AS cover,
+            g.subject_id_ AS subjectId,
+            sb.name_ AS subjectName
+        FROM course_schedule s
+        LEFT JOIN course_group g ON s.course_group_id_ = g.id_
+        LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
+        WHERE s.id_ IN
+        (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ = 'LIVE')
+        AND s.class_date_ = #{param.classDate}
+        ORDER BY startTime
+    </select>
 </mapper>

+ 12 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/CourseScheduleController.java

@@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -99,5 +99,16 @@ public class CourseScheduleController extends BaseController {
         IPage<PracticeTeacherVo> pages = courseScheduleService.teacherList(PageUtil.getPage(search), search);
         return succeed(PageUtil.pageInfo(pages));
     }
+
+    @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());
+        return succeed(courseScheduleService.queryCourseTeacher(search));
+    }
 }