MailBoxMapper.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  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.MailBoxMapper">
  4. <sql id="mailBoxColumns">
  5. a.id AS "id",
  6. a.readstatus AS "readstatus",
  7. a.senderid AS "sender.id",
  8. a.receiverid AS "receiver.id",
  9. a.sendtime AS "sendtime",
  10. a.mailid AS "mail.id",
  11. receiver.name AS "receiver.name",
  12. sender.name AS "sender.name",
  13. sender.photo AS "sender.photo",
  14. mail.title AS "mail.title",
  15. mail.overview AS "mail.overview",
  16. mail.content AS "mail.content"
  17. </sql>
  18. <sql id="mailBoxJoins">
  19. LEFT JOIN iim_mail mail ON mail.id = a.mailid
  20. LEFT JOIN sys_user receiver ON receiver.id = a.receiverid
  21. LEFT JOIN sys_user sender ON sender.id = a.senderid
  22. </sql>
  23. <resultMap type="MailBox" id="MailMap" autoMapping="true">
  24. <association property="mail" javaType="Mail">
  25. <id property="id" column="mail.id"/>
  26. <result property="title" column="mail.title"/>
  27. <result property="overview" column="mail.overview"/>
  28. <result property="content" column="mail.content" typeHandler="com.jeeplus.core.mapper.ConvertBlobTypeHandler"/>
  29. </association>
  30. </resultMap>
  31. <select id="get" resultMap="MailMap">
  32. SELECT
  33. <include refid="mailBoxColumns"/>
  34. FROM iim_mail_box a
  35. <include refid="mailBoxJoins"/>
  36. WHERE a.id = #{id}
  37. </select>
  38. <select id="findList" resultType="MailBox">
  39. SELECT
  40. <include refid="mailBoxColumns"/>
  41. FROM iim_mail_box a
  42. <include refid="mailBoxJoins"/>
  43. <where>
  44. <if test="receiver != null and receiver.id != null and receiver.id != ''">
  45. AND a.receiverid = #{receiver.id}
  46. </if>
  47. <if test="readstatus != null and readstatus != ''">
  48. AND a.readstatus = #{readstatus}
  49. </if>
  50. <if test="mail != null and mail.title != null and mail.title != ''">
  51. AND ( mail.title like
  52. <if test="dbName == 'oracle'">'%'||#{mail.title}||'%'</if>
  53. <if test="dbName == 'mysql'">CONCAT('%', #{mail.title}, '%')</if>
  54. or
  55. mail.content like
  56. <if test="dbName == 'oracle'">'%'||#{mail.title}||'%'</if>
  57. <if test="dbName == 'mysql'">CONCAT('%', #{mail.title}, '%')</if>
  58. )
  59. </if>
  60. </where>
  61. <choose>
  62. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  63. ORDER BY ${page.orderBy}
  64. </when>
  65. <otherwise>
  66. </otherwise>
  67. </choose>
  68. </select>
  69. <select id="findAllList" resultType="MailBox">
  70. SELECT
  71. <include refid="mailBoxColumns"/>
  72. FROM iim_mail_box a
  73. <include refid="mailBoxJoins"/>
  74. <where>
  75. </where>
  76. <choose>
  77. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  78. ORDER BY ${page.orderBy}
  79. </when>
  80. <otherwise>
  81. </otherwise>
  82. </choose>
  83. </select>
  84. <select id="getCount" resultType="java.lang.Integer">
  85. SELECT count(*)
  86. FROM iim_mail_box a
  87. <include refid="mailBoxJoins"/>
  88. <where>
  89. <if test="receiver != null and receiver.id != null and receiver.id != ''">
  90. AND a.receiverid = #{receiver.id}
  91. </if>
  92. <if test="readstatus !=null and readstatus != ''">
  93. and a.readstatus = #{readstatus}
  94. </if>
  95. </where>
  96. </select>
  97. <insert id="insert">
  98. INSERT INTO iim_mail_box(
  99. id,
  100. readstatus,
  101. senderid,
  102. receiverid,
  103. sendtime,
  104. mailid
  105. ) VALUES (
  106. #{id},
  107. #{readstatus},
  108. #{sender.id},
  109. #{receiver.id},
  110. #{sendtime},
  111. #{mail.id}
  112. )
  113. </insert>
  114. <update id="update">
  115. UPDATE iim_mail_box SET
  116. readstatus = #{readstatus},
  117. senderid = #{sender.id},
  118. receiverid = #{receiver.id},
  119. sendtime = #{sendtime},
  120. mailid = #{mail.id}
  121. WHERE id = #{id}
  122. </update>
  123. <update id="delete">
  124. DELETE FROM iim_mail_box
  125. <choose>
  126. <when test="id !=null and id != ''">
  127. WHERE id = #{id}
  128. </when>
  129. <otherwise>
  130. WHERE mailid = #{mail.id}
  131. </otherwise>
  132. </choose>
  133. </update>
  134. <!-- <update id="deleteByLogic">
  135. DELETE FROM iim_mail_box
  136. <choose>
  137. <when test="id !=null and id != ''">
  138. WHERE id = #{id}
  139. </when>
  140. <otherwise>
  141. WHERE mailid = #{mail.id}
  142. </otherwise>
  143. </choose>
  144. </update>-->
  145. </mapper>