| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | 
							- <?xml version="1.0" encoding="UTF-8"?>
 
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
- <mapper namespace="com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomMemberDao">
 
-     <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.ImLiveBroadcastRoomMember">
 
-         <id column="id_" jdbcType="INTEGER" property="id"/>
 
-         <result column="tenant_id_" jdbcType="INTEGER" property="tenantId"/>
 
-         <result column="room_uid_" jdbcType="VARCHAR" property="roomUid"/>
 
-         <result column="user_id_" jdbcType="INTEGER" property="userId"/>
 
-         <result column="join_time_" jdbcType="TIMESTAMP" property="joinTime"/>
 
-         <result column="total_time_" jdbcType="INTEGER" property="totalTime"/>
 
-     </resultMap>
 
-     <sql id="Base_Column_List">
 
-         id
 
-         , tenant_id_, room_uid_, user_id_, join_time_, total_time_
 
-     </sql>
 
-     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
 
-             parameterType="com.ym.mec.biz.dal.entity.ImLiveBroadcastRoomMember">
 
-         insert into im_live_broadcast_room_member(tenant_id_, room_uid_, user_id_, join_time_, total_time_,online_status_,live_room_status_) values
 
-         <foreach collection="entities" item="entity" separator=",">
 
-             (#{entity.tenantId}, #{entity.roomUid}, #{entity.userId}, #{entity.joinTime}, #{entity.totalTime},0,0)
 
-         </foreach>
 
-         ON DUPLICATE KEY UPDATE join_time_ = VALUES(join_time_), total_time_ = VALUES(total_time_),online_status_ = 0,live_room_status_ = 0
 
-     </insert>
 
-     <select id="queryMemberPage" resultType="com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomMemberVo">
 
-         select i.room_uid_ as roomUid,
 
-         i.room_title_ as roomTitle,
 
-         tu.real_name_ speakerName,
 
-         a.user_id_ as studentId,
 
-         a.whether_mic_status_ as whetherMicStatus,
 
-         IFNULL(su.username_, a.visitor_name_) as studentName,
 
-         su.avatar_ as avatar,
 
-         su.phone_ as phone,
 
-         b.name_ as subName,
 
-         o.name_ organName,
 
-         GROUP_CONCAT(distinct mg.name_) musicGroupName,
 
-         a.join_time_ as joinTime,
 
-         a.total_time_ as totalViewTime,
 
-         if(ib.user_id_ is null, 0, 1) as blackFlag
 
-         from im_live_broadcast_room_member as a
 
-         left join im_live_broadcast_room as i on a.room_uid_ = i.room_uid_
 
-         left join sys_user as su on su.id_ = a.user_id_
 
-         left join student st on su.id_ = st.user_id_
 
- 		LEFT JOIN student_registration sr ON sr.user_id_ = a.user_id_
 
- 		LEFT JOIN music_group mg ON  mg.id_ = sr.music_group_id_
 
-         left join subject as b on st.subject_id_list_ = b.id_
 
- 		left join `sys_user` tu on tu.`id_` = i.`speaker_id_` 
 
- 		LEFT JOIN `organization` o on o.`id_` = su.`organ_id_`
 
-         left join im_live_room_black ib on ib.room_uid_ = a.room_uid_ and ib.user_id_ = a.user_id_
 
-         where a.room_uid_ = #{param.roomUid}
 
-         <if test="param.search != null ">
 
-             AND (
 
-             a.user_id_ LIKE CONCAT('%', #{param.search},'%')
 
-             OR a.visitor_name_ LIKE CONCAT('%', #{param.search},'%')
 
-             OR su.username_ LIKE CONCAT('%', #{param.search},'%')
 
-             )
 
-         </if>
 
-         <if test="param.onlineStatus != null">
 
-             AND (a.online_status_ = #{param.onlineStatus} and a.live_room_status_ = 1)
 
-         </if>
 
-         <if test="param.whetherMicStatus != null">
 
-             and a.whether_mic_status_ = #{param.whetherMicStatus}
 
-         </if>
 
-         group by a.user_id_
 
-         ORDER BY a.join_time_
 
-     </select>
 
-     <update id="updateOnlineStatus">
 
-         update im_live_broadcast_room_member
 
-         set online_status_ = #{onlineStatus}
 
-         where room_uid_ = #{groupId} and user_id_ in <foreach collection="userIds" item="userId" open="(" separator="," close=")">#{userId}</foreach>
 
-     </update>
 
-     <update id="updateLiveRoomStatus">
 
-         update im_live_broadcast_room_member
 
-         set live_room_status_ = #{liveRoomStatus}
 
-         where room_uid_ = #{groupId} and user_id_ in <foreach collection="userIds" item="userId" open="(" separator="," close=")">#{userId}</foreach>
 
-     </update>
 
-     <select id="queryMember" resultType="com.ym.mec.biz.dal.entity.ImLiveBroadcastRoomMember">
 
-         select * from im_live_broadcast_room_member
 
-         where room_uid_ = #{groupId} and user_id_ in <foreach collection="userIds" item="userId" open="(" separator="," close=")">#{userId}</foreach>
 
-     </select>
 
-     <update id="userWhetherMic">
 
-         update im_live_broadcast_room_member
 
-         set whether_mic_status_ = #{whetherMicStatus}
 
-         where room_uid_ = #{roomUid} and user_id_ = #{userId}
 
-     </update>
 
-     <select id="queryMemberNum" resultType="com.ym.mec.biz.dal.dto.RoomMemberNumDto">
 
-         select room_uid_ as roomUid,
 
-         count(1) as totalNum ,
 
-         sum(if(online_status_ = 1 and live_room_status_ = 1,1,0)) as onlineNum
 
-         from im_live_broadcast_room_member
 
-         where room_uid_ = #{roomUid}
 
-         group by room_uid_
 
-     </select>
 
- </mapper>
 
 
  |