From 180b752fc5857a004088edbfd505894122c40049 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期三, 30 十月 2024 17:07:12 +0800 Subject: [PATCH] 完成在线培训一个会议多个班级的功能 --- src/main/resources/mapper/MeetMapper.xml | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml index ef9c874..d682cb3 100644 --- a/src/main/resources/mapper/MeetMapper.xml +++ b/src/main/resources/mapper/MeetMapper.xml @@ -6,19 +6,32 @@ <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.Meet"> <result column="meet_name" property="meetName" /> <result column="meet_cover" property="meetCover" /> - <result column="student_ids" property="studentIds" /> + <result column="classes_id" property="classesId" /> <result column="create_user" property="createUser" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <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 TM.meet_name, TM.meet_cover, - TM.student_ids, + TM.classes_id, TM.create_user, TM.start_time, TM.end_time, @@ -31,11 +44,11 @@ </select> - <select id="getPage" resultMap="BaseResultMap"> + <select id="getPage" resultMap="PageMap"> SELECT TM.meet_name, TM.meet_cover, - TM.student_ids, + TM.classes_id, TM.create_user, TM.start_time, TM.end_time, @@ -45,10 +58,33 @@ t_meet TM <where> TM.deleted = 0 - <if test="studentId!=null"> - and + <if test="query.classesIds !=null"> + and 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} + </if> + <if test="query.meetName !=null and query.meetName!='' "> + and TM.meet_name like concat ('%',#{query.meetName},'%') </if> </where> </select> + <select id="getStudentList" resultType="com.ycl.jxkg.domain.vo.StudentSimpleVO"> + SELECT + s.real_name, s.id + FROM + t_meet m + INNER JOIN t_classes c ON m.classes_id = c.id AND m.id = #{meetId} AND c.deleted = 0 AND m.deleted = 0 + INNER JOIN t_classes_user cu ON cu.classes_id = c.id AND cu.deleted = 0 + INNER JOIN t_user s ON s.id = cu.user_id AND s.deleted = 0 + <if test="keyword != null and keyword != ''">AND s.real_name like concat('%', #{keyword}, '%')</if> + </select> + </mapper> -- Gitblit v1.8.0