ChatHistoryMapper.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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.jeeplus.modules.iim.mapper.ChatHistoryMapper">
  4. <sql id="chatHistoryColumns">
  5. a.id AS "id",
  6. a.sender AS "sender",
  7. a.receiver AS "receiver",
  8. a.msg AS "msg",
  9. a.status AS "status",
  10. a.create_date AS "createDate",
  11. a.type AS "type"
  12. </sql>
  13. <sql id="chatHistoryJoins">
  14. </sql>
  15. <select id="get" resultType="ChatHistory">
  16. SELECT
  17. <include refid="chatHistoryColumns"/>
  18. FROM iim_chat_history a
  19. <include refid="chatHistoryJoins"/>
  20. WHERE a.id = #{id}
  21. </select>
  22. <select id="findList" resultType="ChatHistory">
  23. SELECT
  24. <include refid="chatHistoryColumns"/>
  25. FROM iim_chat_history a
  26. <include refid="chatHistoryJoins"/>
  27. <where>
  28. <if test="sender != null and sender != ''">
  29. AND a.sender = #{sender}
  30. </if>
  31. <if test="receiver != null and receiver != ''">
  32. AND a.receiver = #{receiver}
  33. </if>
  34. <if test="msg != null and msg != ''">
  35. AND a.msg LIKE
  36. <if test="dbName == 'oracle'">'%'||#{msg}||'%'</if>
  37. <if test="dbName == 'mssql'">'%'+#{msg}+'%'</if>
  38. <if test="dbName == 'mysql'">concat('%',#{msg},'%')</if>
  39. </if>
  40. <if test="status != null and status != ''">
  41. AND a.status = #{status}
  42. </if>
  43. <if test="createDate != null and createDate != ''">
  44. AND a.create_date = #{createDate}
  45. </if>
  46. </where>
  47. ORDER BY a.create_date asc
  48. </select>
  49. <select id="findLogList" resultType="ChatHistory">
  50. SELECT
  51. <include refid="chatHistoryColumns"/>
  52. FROM iim_chat_history a
  53. <include refid="chatHistoryJoins"/>
  54. <where>
  55. <if test="sender != null and sender != '' and receiver != null and receiver != ''">
  56. AND ((a.sender = #{sender} AND a.receiver = #{receiver}) or (a.sender = #{receiver} AND a.receiver = #{sender}))
  57. </if>
  58. <if test="msg != null and msg != ''">
  59. AND a.msg LIKE
  60. <if test="dbName == 'oracle'">'%'||#{msg}||'%'</if>
  61. <if test="dbName == 'mssql'">'%'+#{msg}+'%'</if>
  62. <if test="dbName == 'mysql'">concat('%',#{msg},'%')</if>
  63. </if>
  64. <if test="status != null and status != ''">
  65. AND a.status = #{status}
  66. </if>
  67. <if test="createDate != null and createDate != ''">
  68. AND a.create_date = #{createDate}
  69. </if>
  70. </where>
  71. ORDER BY a.create_date desc
  72. </select>
  73. <select id="findGroupLogList" resultType="ChatHistory">
  74. SELECT
  75. <include refid="chatHistoryColumns"/>
  76. FROM iim_chat_history a
  77. <include refid="chatHistoryJoins"/>
  78. <where>
  79. <if test="sender != null and sender != '' and receiver != null and receiver != ''">
  80. AND
  81. ((a.sender =
  82. <if test="dbName == 'oracle'">#{receiver}||'_msg_'||#{sender}</if>
  83. <if test="dbName == 'mssql'">#{receiver}+'_msg_'+#{sender}</if>
  84. <if test="dbName == 'mysql'">concat(#{receiver},'_msg_',#{sender})</if>
  85. AND a.receiver = #{sender})
  86. OR (a.sender like
  87. <if test="dbName == 'oracle'">#{receiver}||'_msg_'||'%'</if>
  88. <if test="dbName == 'mssql'">#{receiver}+'_msg_'+'%'</if>
  89. <if test="dbName == 'mysql'">concat(#{receiver},'_msg_','%')</if>
  90. and a.receiver = #{sender}))
  91. </if>
  92. <if test="msg != null and msg != ''">
  93. AND a.msg LIKE
  94. <if test="dbName == 'oracle'">'%'||#{msg}||'%'</if>
  95. <if test="dbName == 'mssql'">'%'+#{msg}+'%'</if>
  96. <if test="dbName == 'mysql'">concat('%',#{msg},'%')</if>
  97. </if>
  98. <if test="status != null and status != ''">
  99. AND a.status = #{status}
  100. </if>
  101. <if test="createDate != null and createDate != ''">
  102. AND a.create_date = #{createDate}
  103. </if>
  104. </where>
  105. ORDER BY a.create_date desc
  106. </select>
  107. <select id="findAllList" resultType="ChatHistory">
  108. SELECT
  109. <include refid="chatHistoryColumns"/>
  110. FROM iim_chat_history a
  111. <include refid="chatHistoryJoins"/>
  112. <where>
  113. </where>
  114. ORDER BY a.create_date asc
  115. </select>
  116. <insert id="insert">
  117. INSERT INTO iim_chat_history(
  118. id,
  119. sender,
  120. receiver,
  121. msg,
  122. status,
  123. create_date,
  124. type
  125. ) VALUES (
  126. #{id},
  127. #{sender},
  128. #{receiver},
  129. #{msg},
  130. #{status},
  131. #{createDate},
  132. #{type}
  133. )
  134. </insert>
  135. <update id="update">
  136. UPDATE iim_chat_history SET
  137. sender = #{sender},
  138. receiver = #{receiver},
  139. msg = #{msg},
  140. status = #{status},
  141. create_date = #{createDate},
  142. type = #{type}
  143. WHERE id = #{id}
  144. </update>
  145. <update id="delete">
  146. DELETE FROM iim_chat_history
  147. WHERE id = #{id}
  148. </update>
  149. <!-- 查询全部用户数目 -->
  150. <select id="findUnReadCount" resultType="int">
  151. SELECT
  152. COUNT(1)
  153. FROM iim_chat_history a WHERE
  154. a.sender = #{receiver} AND a.receiver = #{sender}
  155. AND a.status = '0'
  156. </select>
  157. </mapper>