src/main/java/com/ycl/jxkg/controller/student/MeetController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
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/service/MeetService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ClassesUserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/MeetMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/controller/student/MeetController.java
@@ -9,11 +9,14 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotEmpty; import java.util.Arrays; import java.util.List; import java.util.Objects; /** * 会议表 前端控制器 @@ -30,12 +33,18 @@ private final MeetService meetService; @GetMapping("/page") @PostMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(MeetQuery query) { public Result page(@RequestBody MeetQuery query) { return meetService.studentPage(query); } @GetMapping("/classes") @ApiOperation(value = "获取学生的班级", notes = "获取学生的班级") public Result getStudentClasses() { return meetService.getStudentClasses(); } @GetMapping("/{id}") @ApiOperation(value = "学生上课", notes = "学生上课") public Result detail(@PathVariable("id") Integer id) { src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java
@@ -18,6 +18,7 @@ @Data @ApiModel(value = "Meet查询", description = "会议表查询") public class MeetQuery extends AbsQuery { private List<Integer> classesIds; private Integer teacherId; src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
@@ -29,11 +29,13 @@ /** 班级id */ private Integer classesId; private String classesName; /** 创建人 */ private Integer createUser; /** 老师列表 */ private List<Integer> teacherIds; private List<String> teacherNames; /** 老师姓名 */ private String teacherName; private String teacherNamesStr; /** 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date startTime; src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.domain.query.ClassesUserQuery; import com.ycl.jxkg.domain.vo.ClassesUserVO; import com.ycl.jxkg.domain.vo.*; import com.ycl.jxkg.domain.form.ClassesUserForm; import java.util.List; import com.ycl.jxkg.domain.vo.StudentExamInfoVO; import com.ycl.jxkg.domain.vo.StudentVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -51,6 +49,8 @@ */ List<Integer> getClassesByUserId(@Param("userId") Integer userId); List<ClassesVO> getClassesByUserId1(@Param("userId") Integer userId); /** * 根据学生获取班级名称 * src/main/java/com/ycl/jxkg/service/MeetService.java
@@ -75,4 +75,11 @@ * @return */ Result getStudentList(Integer meetId, String keyword); /** * 获取学生所在的班级 * * @return */ Result getStudentClasses(); } src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java
@@ -182,14 +182,9 @@ @Override public Result myClassList() { Integer userId = webContext.getCurrentUser().getId(); List<ClassesUser> classes = new LambdaQueryChainWrapper<>(classesUserService.getBaseMapper()) .eq(ClassesUser::getTeacher, Boolean.TRUE) .eq(ClassesUser::getUserId, userId) .list(); List<Integer> classesIds = classes.stream().map(ClassesUser::getClassesId).collect(Collectors.toList()); List<Classes> list = new LambdaQueryChainWrapper<>(baseMapper) .select(Classes::getId, Classes::getClassName) .in(Classes::getId, classesIds) .eq(Classes::getCreateUser, userId) .list(); return Result.ok(list); } src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -13,6 +13,7 @@ import com.ycl.jxkg.domain.entity.StudyRecord; import com.ycl.jxkg.domain.form.MeetForm; import com.ycl.jxkg.domain.query.MeetQuery; import com.ycl.jxkg.domain.vo.ClassesVO; import com.ycl.jxkg.domain.vo.MeetVO; import com.ycl.jxkg.domain.vo.StudentSimpleVO; import com.ycl.jxkg.enums.MeetStatusEnum; @@ -136,15 +137,21 @@ @Override public Result studentPage(MeetQuery query) { Integer userId = webContext.getCurrentUser().getId(); //查出学生所在班级 List<Integer> classes = classesUserMapper.getClassesByUserId(userId); if(CollectionUtils.isEmpty(classes)){ return Result.ok("您暂未加入班级"); if (CollectionUtils.isEmpty(query.getClassesIds())) { //查出学生所在班级 List<Integer> classes = classesUserMapper.getClassesByUserId(userId); if(CollectionUtils.isEmpty(classes)){ return Result.fail(500, "您暂未加入班级"); } query.setClassesIds(classes); } query.setClassesIds(classes); IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); baseMapper.getPage(page, query); for (MeetVO vo : page.getRecords()) { if (!CollectionUtils.isEmpty(vo.getTeacherNames())) { vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("、"))); } } return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -229,6 +236,13 @@ return Result.ok().data(studentList); } @Override public Result getStudentClasses() { Integer userId = webContext.getCurrentUser().getId(); List<ClassesVO> classes = classesUserMapper.getClassesByUserId1(userId); return Result.ok().data(classes); } /** * 发送mq消息 * src/main/resources/mapper/ClassesUserMapper.xml
@@ -77,7 +77,13 @@ <select id="getClassesByUserId" resultType="java.lang.Integer"> select classes_id from t_classes_user where user_id = #{userId} and deleted = 0 where user_id = #{userId} and deleted = 0 and teacher = 0 </select> <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 </select> <select id="getClassesNameByUserId" resultType="java.lang.String"> src/main/resources/mapper/MeetMapper.xml
@@ -13,6 +13,19 @@ <result column="status" property="status" /> </resultMap> <resultMap id="PageMap" type="com.ycl.jxkg.domain.vo.MeetVO"> <result column="meet_name" property="meetName" /> <result column="meet_cover" property="meetCover" /> <result column="classes_id" property="classesId" /> <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> </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> <select id="getById" resultMap="BaseResultMap"> SELECT @@ -31,19 +44,18 @@ </select> <select id="getPage" resultType="com.ycl.jxkg.domain.vo.MeetVO"> <select id="getPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, TM.classes_id, TM.create_user, TU.user_name as teacherName, TM.start_time, TM.end_time, TM.status, TM.id FROM t_meet TM left join t_user TU on TM.create_user = TU.id t_meet TM <where> TM.deleted = 0 <if test="query.classesIds !=null">