src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/mapper/MeetMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/HomeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ClassesUserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/MeetMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/UserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
@@ -29,7 +29,6 @@ /** 班级id */ private List<Integer> classesIds; private String classesName; /** 老师列表 */ private List<Integer> teacherIds; src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
@@ -66,4 +66,12 @@ * @return */ List<StudentVO> getTeacherListByClassesId(@Param("id") Integer id); /** * 查询班级老师 * * @param classesIds * @return */ List<String> getTeachersByClassesIds(@Param("classesIds") List<Integer> classesIds); } src/main/java/com/ycl/jxkg/mapper/MeetMapper.java
@@ -30,7 +30,8 @@ /** * 分页 */ IPage getPage(IPage page, @Param("query") MeetQuery query); IPage teacherPage(IPage page, @Param("query") MeetQuery query); IPage studentPage(IPage page, @Param("query") MeetQuery query); /** * 获取会议对应班级的学生列表 src/main/java/com/ycl/jxkg/service/impl/HomeServiceImpl.java
@@ -87,14 +87,16 @@ List<ExamVO> examList = new ArrayList<>(); if (!CollectionUtils.isEmpty(classes)) { LocalDate nowDate = LocalDate.now(); // 计算七天后的日期 // 计算前后七天的日期 LocalDate sevenDayLaterDate = nowDate.plusDays(7); LocalDateTime now = LocalDateTime.of(nowDate, LocalTime.MIN); LocalDateTime sevenDayLater = LocalDateTime.of(sevenDayLaterDate, LocalTime.MIN); LocalDate sevenDayBeforeDate = nowDate.minusDays(7); LocalDateTime sevenDayBefore = LocalDateTime.of(sevenDayBeforeDate, LocalTime.MIN); //我的课程 QueryWrapper<Meet> meetQueryWrapper = new QueryWrapper<>(); meetQueryWrapper.in("classes_id",classes); meetQueryWrapper.between("start_time", now,sevenDayLater); meetQueryWrapper.between("start_time", sevenDayBefore,sevenDayLater); List<Meet> meets = meetMapper.selectList(meetQueryWrapper); for (Meet meet : meets) { MeetVO meetVO = new MeetVO(); @@ -104,7 +106,7 @@ //我的考试 QueryWrapper<Exam> examQueryWrapper = new QueryWrapper<>(); examQueryWrapper.in("classes_id",classes); examQueryWrapper.between("start_time", now,sevenDayLater); examQueryWrapper.between("start_time", sevenDayBefore,sevenDayLater); List<Exam> exams = examMapper.selectList(examQueryWrapper); for (Exam exam : exams) { ExamVO examVO = new ExamVO(); src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -3,15 +3,13 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.base.SystemCode; import com.ycl.jxkg.context.WebContext; import com.ycl.jxkg.domain.entity.Meet; import com.ycl.jxkg.domain.entity.MeetClasses; import com.ycl.jxkg.domain.entity.MeetStudent; import com.ycl.jxkg.domain.entity.StudyRecord; import com.ycl.jxkg.domain.entity.*; import com.ycl.jxkg.domain.form.MeetForm; import com.ycl.jxkg.domain.query.MeetQuery; import com.ycl.jxkg.domain.vo.ClassesVO; @@ -143,14 +141,26 @@ */ @Override public Result page(MeetQuery query) { Integer id = webContext.getCurrentUser().getId(); //查自己创建的房间 query.setTeacherId(id); Integer userId = webContext.getCurrentUser().getId(); //查自己的会议 List<ClassesUser> classes = new LambdaQueryChainWrapper<>(classesUserMapper) .eq(ClassesUser::getUserId, userId) .eq(ClassesUser::getTeacher, Boolean.TRUE) .list(); List<Integer> classesIds = classes.stream().map(ClassesUser::getClassesId).collect(Collectors.toList()); if (CollectionUtils.isEmpty(classesIds) && 3 != webContext.getCurrentUser().getRole()) { throw new RuntimeException("您暂时无法访问该页面"); } query.setClassesIds(classesIds); IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); baseMapper.getPage(page, query); baseMapper.teacherPage(page, query); page.getRecords().forEach(vo -> { if (!CollectionUtils.isEmpty(vo.getTeacherNames())) { vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("、"))); if (! CollectionUtils.isEmpty(vo.getClassesIds())) { // 查主讲老师 List<String> teacherNames = classesUserMapper.getTeachersByClassesIds(vo.getClassesIds()); if (! CollectionUtils.isEmpty(teacherNames)) { vo.setTeacherNamesStr(teacherNames.stream().collect(Collectors.joining("、"))); } } }); return Result.ok().data(page.getRecords()).total(page.getTotal()); @@ -173,10 +183,14 @@ query.setClassesIds(classes); } IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); baseMapper.getPage(page, query); baseMapper.studentPage(page, query); for (MeetVO vo : page.getRecords()) { if (!CollectionUtils.isEmpty(vo.getTeacherNames())) { vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("、"))); if (! CollectionUtils.isEmpty(vo.getClassesIds())) { // 查主讲老师 List<String> teacherNames = classesUserMapper.getTeachersByClassesIds(vo.getClassesIds()); if (! CollectionUtils.isEmpty(teacherNames)) { vo.setTeacherNamesStr(teacherNames.stream().collect(Collectors.joining("、"))); } } } return Result.ok().data(page.getRecords()).total(page.getTotal()); src/main/resources/application.yml
@@ -39,6 +39,7 @@ - /api/admin/upload/configAndUpload - /api/admin/upload/auth - /api/student/user/register - /api/files/** pwdKey: publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClwwxhJKwStDnu7c0yCRkwTW2VKuLWwyVtFC6Zx9bYdF1qwqSP26CkDwaF6GHayIvv9b8BHlAaQH4SLIPzir062yzNukqspmthUw4gPJhbx1AQrWRoQJSv3/1Sk+tWyJRHXSiCZJZ3216LDhtx42LQ0HItDP8U9BLtsxA+5LEZzQIDAQAB privateKey: MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKXDDGEkrBK0Oe7tzTIJGTBNbZUq4tbDJW0ULpnH1th0XWrCpI/boKQPBoXoYdrIi+/1vwEeUBpAfhIsg/OKvTrbLM26Sqyma2FTDiA8mFvHUBCtZGhAlK/f/VKT61bIlEddKIJklnfbXosOG3HjYtDQci0M/xT0Eu2zED7ksRnNAgMBAAECgYEAlCuz5yn2volnt9HNuEo1v92WdN5vAnZSAB0oQsJFpBrwXjw7CXTTNZNQy2YcAot9uzO6Vu+Xvr+jce9ky9BasM7ehz0gnwJWAO79IqUnmu3RRq7HllDwp72qysXIypJZCF4HX5jAzUGlNzlTSUb1H4LtavKc6a//YqPfQ0jTLsECQQDZuGKGAYq6rBCX0+T8qlQpCPc41wsl4Gi9lLD21ks9PMx44JdhsUrqLWItZiGynDzq1LJ3M1hr3gbSsPQcI9HJAkEAwugDFCiRLOqOBRRGlYbzgGdmXbR4SrMNIpcFTFhU+MsEqaMueVPiNtRSIK6W8pS28ZN0aiZDTBAT84fOIENp5QJBAJaVgQ9OYbVa7N8WH3riE/ONz+/wTDWWUNtOzFbtQHzKYGH6dLmM9lOhsBXWXdg7V6bUFdt8F9wDZJS07yHHZIECQG4rHrJiS80Lt8L/NvaGFVVbHO2SePwgQShwHLqOo1kNyFDqv/YsiA1d7h4zEXeEv/PE2WS2xAtWezCIbualtFECQQDPUkYhs3vZoZgsltdeFnv/WoXaXNRIzunMTmksIlh8JP7C1xQHrwdCpUkffgSVphxGJGHkxooMpki7oTC1Mdjx src/main/resources/mapper/ClassesUserMapper.xml
@@ -53,11 +53,12 @@ TU.birth_day, TU.status FROM t_classes_user TCU LEFT JOIN t_user TU ON TU.id = TCU.user_id and TU.deleted = 0 WHERE TCU.deleted = 0 AND TCU.classes_id = #{query.classesId} AND TCU.teacher = 0 <if test="query.studentName != null and query.studentName != ''">AND TU.real_name like concat('%', #{query.studentName}, '%') </if> INNER JOIN t_user TU ON TU.id = TCU.user_id and TU.deleted = 0 AND TCU.classes_id = #{query.classesId} AND TCU.deleted = 0 AND TCU.teacher = 0 <where> <if test="query.studentName != null and query.studentName != ''">AND TU.real_name like concat('%', #{query.studentName}, '%') </if> </where> order by TU.id desc </select> @@ -83,7 +84,7 @@ <select id="getClassesByUserId1" resultType="com.ycl.jxkg.domain.vo.ClassesVO"> select distinct tc.id, tc.class_name from t_classes_user tcu inner join t_classes tc ON tcu.classes_id = tc.id and tcu.user_id = #{userId} and tcu.teacher = 0 and tcu.user_id = #{userId} and tcu.teacher = 0 and tcu.deleted = 0 </select> <select id="getClassesNameByUserId" resultType="java.lang.String"> @@ -99,4 +100,15 @@ FROM t_user tu INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.classes_id = #{id} AND tcu.deleted = 0 AND tcu.teacher = 1 AND tu.deleted = 0 </select> <select id="getTeachersByClassesIds" resultType="string"> SELECT DISTINCT tu.real_name FROM t_user tu INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.deleted = 0 AND tcu.teacher = 1 AND tu.deleted = 0 WHERE tcu.classes_id in <foreach collection="classesIds" open="(" separator="," close=")" item="classesId"> #{classesId} </foreach> </select> </mapper> src/main/resources/mapper/MeetMapper.xml
@@ -14,17 +14,17 @@ </resultMap> <resultMap id="PageMap" type="com.ycl.jxkg.domain.vo.MeetVO"> <id column="id" property="id"/> <result column="meet_name" property="meetName" /> <result column="meet_cover" property="meetCover" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="status" property="status" /> <collection property="teacherNames" ofType="string" column="classes_id" select="getTeacherNames"></collection> <collection property="classesIds" ofType="string" column="classes_id" select="getTeacherNames"></collection> <collection property="classesIds" ofType="int" column="id" select="getClassesIds"></collection> </resultMap> <select id="getTeacherNames" resultType="string"> SELECT tu.real_name FROM t_user tu INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.classes_id = #{classesId} AND tcu.teacher = 1 <select id="getClassesIds" resultType="int"> SELECT tmc.classes_id FROM t_meet_classes tmc WHERE tmc.meet_id = #{id} </select> <select id="getById" resultMap="BaseResultMap"> @@ -44,7 +44,7 @@ </select> <select id="getPage" resultMap="PageMap"> <select id="teacherPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, @@ -55,16 +55,16 @@ TM.id FROM t_meet TM <if test="query.classesIds !=null and query.classesIds.size > 0"> INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id </if> <where> TM.deleted = 0 <if test="query.classesIds !=null"> and classes_id in <if test="query.classesIds !=null and query.classesIds.size > 0"> and TMC.classes_id in <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=","> #{classesId} </foreach> </if> <if test="query.teacherId!=null"> and TM.create_user = #{query.teacherId} </if> <if test="query.status!=null"> and TM.status = #{query.status} @@ -73,6 +73,39 @@ and TM.meet_name like concat ('%',#{query.meetName},'%') </if> </where> order by TM.end_time desc </select> <select id="studentPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, TM.create_user, TM.start_time, TM.end_time, TM.status, TM.id FROM t_meet TM <if test="query.classesIds !=null and query.classesIds.size > 0"> INNER JOIN t_meet_classes TMC ON TM.id = TMC.meet_id </if> <where> TM.deleted = 0 <if test="query.classesIds !=null and query.classesIds.size > 0"> and TMC.classes_id in <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=","> #{classesId} </foreach> </if> <if test="query.status!=null"> and TM.status = #{query.status} </if> <if test="query.meetName !=null and query.meetName!='' "> and TM.meet_name like concat ('%',#{query.meetName},'%') </if> </where> order by TM.end_time desc </select> <select id="getStudentList" resultType="com.ycl.jxkg.domain.vo.StudentSimpleVO"> src/main/resources/mapper/UserMapper.xml
@@ -204,9 +204,9 @@ tu.real_name, tu.phone FROM t_user tu INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id INNER JOIN t_classes_user tcu ON tu.id = tcu.user_id AND tcu.teacher = 0 WHERE tcu.classes_id = #{classesId} and tcu.deleted = 0 AND tcu.deleted = 0 AND tu.deleted = 0 ORDER BY tcu.create_time </select>