ImNetworkRoomMemberMapper.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomMemberDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember">
  5. <id column="id_" jdbcType="INTEGER" property="id"/>
  6. <result column="course_schedule_id_" jdbcType="INTEGER" property="courseScheduleId"/>
  7. <result column="room_id_" jdbcType="VARCHAR" property="roomId"/>
  8. <result column="user_id_" jdbcType="INTEGER" property="userId"/>
  9. <result column="username_" jdbcType="VARCHAR" property="username"/>
  10. <result column="avatar_" jdbcType="VARCHAR" property="avatar"/>
  11. <result column="join_time_" jdbcType="TIMESTAMP" property="joinTime"/>
  12. <result column="role_" jdbcType="INTEGER" property="role"/>
  13. <result column="camera_flag_" jdbcType="BOOLEAN" property="cameraFlag"/>
  14. <result column="mic_flag_" jdbcType="BOOLEAN" property="micFlag"/>
  15. <result column="music_mode_flag_" jdbcType="BOOLEAN" property="musicModeFlag"/>
  16. <result column="hand_flag_" jdbcType="BOOLEAN" property="handFlag"/>
  17. </resultMap>
  18. <sql id="Base_Column_List">
  19. id_
  20. , course_schedule_id_, room_id_, user_id_, join_time_, role_,
  21. camera_flag_, mic_flag_, music_mode_flag_, hand_flag_,username_,avatar_
  22. </sql>
  23. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  24. parameterType="com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember">
  25. insert into im_network_room_member(course_schedule_id_, room_id_, user_id_, join_time_, role_, camera_flag_,
  26. mic_flag_, music_mode_flag_, hand_flag_,username_,avatar_)
  27. values
  28. <foreach collection="entities" item="entity" separator=",">
  29. (#{entity.courseScheduleId}, #{entity.roomId}, #{entity.userId}, #{entity.joinTime}, #{entity.role},
  30. #{entity.cameraFlag}, #{entity.micFlag}, #{entity.musicModeFlag}, #{entity.handFlag}, #{entity.username}, #{entity.avatar})
  31. </foreach>
  32. </insert>
  33. <insert id="insert" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  34. parameterType="com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember">
  35. INSERT INTO im_network_room_member(course_schedule_id_, room_id_, user_id_, join_time_, role_, camera_flag_,
  36. mic_flag_, music_mode_flag_, hand_flag_,username_,avatar_)
  37. VALUES (#{entity.courseScheduleId}, #{entity.roomId}, #{entity.userId},NOW(), #{entity.role},
  38. #{entity.cameraFlag}, #{entity.micFlag}, #{entity.musicModeFlag}, #{entity.handFlag}, #{entity.username}, #{entity.avatar})
  39. ON DUPLICATE KEY UPDATE
  40. room_id_ = VALUES(room_id_),
  41. user_id_ = VALUES(user_id_),
  42. role_ = VALUES(role_)
  43. </insert>
  44. <delete id="delByRidAndUid">
  45. DELETE FROM im_network_room_member WHERE room_id_ = #{roomId} AND user_id_ = #{userId}
  46. </delete>
  47. <select id="findByRidAndUid" resultMap="BaseResultMap">
  48. SELECT <include refid="Base_Column_List"/> FROM im_network_room_member
  49. WHERE room_id_ = #{roomId} AND user_id_ = #{userId} AND role_ = #{userRole} LIMIT 1
  50. </select>
  51. <select id="queryByRoomId" resultMap="BaseResultMap">
  52. SELECT <include refid="Base_Column_List"/> FROM im_network_room_member WHERE room_id_ = #{roomId}
  53. </select>
  54. <select id="countByRoomId" resultType="java.lang.Integer">
  55. SELECT COUNT(id_) FROM im_network_room_member WHERE room_id_ = #{roomId}
  56. </select>
  57. <select id="findByRoomAndRole" resultMap="BaseResultMap">
  58. SELECT <include refid="Base_Column_List"/> FROM im_network_room_member WHERE room_id_ = #{roomId} AND role_ = #{role}
  59. </select>
  60. </mapper>