ImGroupMemberMapper.xml 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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.ImGroupMemberDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
  5. <id column="id_" jdbcType="INTEGER" property="id"/>
  6. <result column="group_id_" jdbcType="VARCHAR" property="groupId"/>
  7. <result column="user_id_" jdbcType="INTEGER" property="userId"/>
  8. <result column="nickname_" jdbcType="VARCHAR" property="nickname"/>
  9. <result column="is_admin_" jdbcType="VARCHAR" property="isAdmin"/>
  10. <result column="role_type_" jdbcType="VARCHAR" property="roleType"/>
  11. <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
  12. <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
  13. </resultMap>
  14. <sql id="Base_Column_List">
  15. id_ , group_id_, user_id_, nickname_, is_admin_, role_type_, create_time_, update_time_
  16. </sql>
  17. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  18. parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
  19. insert into im_group_member(group_id_, user_id_,avatar_, nickname_, is_admin_, role_type_, create_time_,
  20. update_time_)
  21. values
  22. <foreach collection="entities" item="entity" separator=",">
  23. (#{entity.groupId}, #{entity.userId}, #{entity.avatar}, #{entity.nickname}, #{entity.isAdmin}, #{entity.roleType},NOW(), NOW())
  24. </foreach>
  25. ON DUPLICATE KEY UPDATE
  26. user_id_ = VALUES(user_id_),
  27. nickname_ = VALUES(nickname_),
  28. role_type_ = VALUES(role_type_)
  29. </insert>
  30. <delete id="delByGroupId">
  31. DELETE FROM im_group_member WHERE group_id_ = #{groupId}
  32. </delete>
  33. <delete id="delByGroupIdAndUserId">
  34. DELETE FROM im_group_member WHERE group_id_ = #{groupId} AND user_id_ = #{userId}
  35. </delete>
  36. <select id="findOne" resultMap="BaseResultMap">
  37. SELECT <include refid="Base_Column_List"/> FROM im_group_member
  38. <where>
  39. <if test="groupId != null">
  40. AND group_id_ = #{groupId}
  41. </if>
  42. <if test="userId != null">
  43. AND user_id_ = #{userId}
  44. </if>
  45. </where>
  46. LIMIT 1
  47. </select>
  48. <resultMap id="GroupMember" type="io.rong.models.group.GroupMember">
  49. <result property="id" column="user_id_"/>
  50. <result property="groupId" column="group_id_"/>
  51. </resultMap>
  52. <select id="queryGroupMember" resultMap="GroupMember">
  53. SELECT user_id_,group_id_ FROM im_group_member WHERE group_id_ = #{groupId}
  54. </select>
  55. <resultMap id="ImGroupMember" type="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
  56. <result property="groupId" column="group_id_"/>
  57. <result property="userId" column="user_id_"/>
  58. <result property="isAdmin" column="is_admin_"/>
  59. <result property="nickname" column="nick_name_"/>
  60. <result property="avatar" column="avatar_"/>
  61. <result property="roleType" column="role_type_"/>
  62. <result property="createTime" column="now_"/>
  63. <result property="updateTime" column="now_"/>
  64. </resultMap>
  65. <select id="initImGroupMember" resultMap="ImGroupMember">
  66. SELECT #{imGroupId} group_id_,su.id_ user_id_, 0 is_admin_,su.username_ nick_name_,
  67. #{roleType} role_type_,NOW() now_,su.avatar_
  68. FROM sys_user su
  69. WHERE su.id_ IN
  70. <foreach collection="userIds" open="(" close=")" item="userId" separator=",">
  71. #{userId}
  72. </foreach>
  73. </select>
  74. <select id="findByUserIdAndGroupId" resultMap="ImGroupMember">
  75. SELECT <include refid="Base_Column_List"/> FROM im_group_member WHERE group_id_ = #{groupId} AND user_id_ = #{userId} LIMIT 1
  76. </select>
  77. </mapper>