SysNoticeUserMapper.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.system.mapper.SysNoticeUserMapper">
  6. <resultMap type="SysNoticeUser" id="SysNoticeUserResult">
  7. <result property="noticeUserId" column="notice_user_id" />
  8. <result property="noticeId" column="notice_id" />
  9. <result property="userId" column="user_id" />
  10. <result property="nickName" column="nick_name" />
  11. <result property="status" column="status" />
  12. <result property="createBy" column="create_by" />
  13. <result property="createTime" column="create_time" />
  14. <result property="updateBy" column="update_by" />
  15. <result property="updateTime" column="update_time" />
  16. <result property="remark" column="remark" />
  17. </resultMap>
  18. <sql id="selectNoticeUserVo">
  19. SELECT
  20. o.notice_id,
  21. o.notice_user_id,
  22. o.user_id,
  23. o.STATUS,
  24. o.create_by,
  25. o.create_time,
  26. o.update_by,
  27. o.update_time,
  28. o.remark,
  29. u.nick_name
  30. FROM
  31. sys_notice_user o
  32. left join sys_user u on u.user_id=o.user_id
  33. </sql>
  34. <select id="selectNoticeUserById" parameterType="Long" resultMap="SysNoticeUserResult">
  35. <include refid="selectNoticeUserVo"/>
  36. where o.notice_user_id = #{noticeUserId}
  37. </select>
  38. <select id="selectNoticeUserList" parameterType="SysNoticeUser" resultMap="SysNoticeUserResult">
  39. <include refid="selectNoticeUserVo"/>
  40. <where>
  41. <if test="noticeId != null and noticeId != ''">
  42. AND o.notice_id = #{noticeId}
  43. </if>
  44. <if test="userId != null and userId != ''">
  45. AND o.user_id = #{userId}
  46. </if>
  47. </where>
  48. </select>
  49. <insert id="insertNoticeUser" parameterType="SysNoticeUser">
  50. insert into sys_notice_user (
  51. <if test="noticeId != null and noticeId != '' ">notice_id, </if>
  52. <if test="noticeUserId != null and noticeUserId != '' ">notice_user_id, </if>
  53. <if test="userId != null and userId != '' ">user_id, </if>
  54. <if test="status != null and status != '' ">status, </if>
  55. <if test="remark != null and remark != ''">remark,</if>
  56. <if test="createBy != null and createBy != ''">create_by,</if>
  57. create_time
  58. )values(
  59. <if test="noticeId != null and noticeId != ''">#{noticeId}, </if>
  60. <if test="noticeUserId != null and noticeUserId != ''">#{noticeUserId}, </if>
  61. <if test="userId != null and userId != ''">#{userId}, </if>
  62. <if test="status != null and status != ''">#{status}, </if>
  63. <if test="remark != null and remark != ''">#{remark},</if>
  64. <if test="createBy != null and createBy != ''">#{createBy},</if>
  65. sysdate()
  66. )
  67. </insert>
  68. <update id="updateNoticeUser" parameterType="SysNoticeUser">
  69. update sys_notice_user
  70. <set>
  71. <if test="noticeId != null and noticeId != ''">notice_id = #{noticeId}, </if>
  72. <if test="noticeUserId != null and noticeUserId != ''">notice_user_id = #{noticeUserId}, </if>
  73. <if test="userId != null">user_id = #{userId}, </if>
  74. <if test="status != null and status != ''">status = #{status}, </if>
  75. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  76. update_time = sysdate()
  77. </set>
  78. where notice_user_id = #{noticeId}
  79. </update>
  80. <delete id="deleteNoticeUserById" parameterType="Long">
  81. delete from sys_notice_user where notice_user_id = #{noticeUserId}
  82. </delete>
  83. <delete id="deleteNoticeUserByIds" parameterType="Long">
  84. delete from sys_notice_user where notice_user_id in
  85. <foreach item="noticeUserId" collection="array" open="(" separator="," close=")">
  86. #{noticeUserId}
  87. </foreach>
  88. </delete>
  89. <select id="selectNoticeUsers" resultType="com.ruoyi.system.domain.SysNoticeUser">
  90. select user_id
  91. from sys_notice_user
  92. where notice_id = #{noticeId} and
  93. user_id in
  94. <foreach item="id" collection="userIds" open="(" separator="," close=")">
  95. #{id}
  96. </foreach>;
  97. </select>
  98. <!--只做为公告关联用户时使用-->
  99. <insert id="insertBatch">
  100. INSERT INTO sys_notice_user (notice_id, user_id,create_time,create_by,status)
  101. VALUES
  102. <foreach collection="list" item="item" index="index" separator=",">
  103. (#{item.noticeId}, #{item.userId},#{item.createTime},#{item.createBy},#{item.status})
  104. </foreach>
  105. </insert>
  106. <select id="selectMyNoticeList" parameterType="SysNoticeUser" resultType="map">
  107. select n.*,u.`status` 'readStatus',u.notice_user_id from sys_notice_user u
  108. LEFT JOIN sys_notice n on n.notice_id=u.notice_id
  109. <where>
  110. <if test="noticeId != null and noticeId != ''">
  111. AND u.notice_id = #{noticeId}
  112. </if>
  113. <if test="userId != null and userId != ''">
  114. AND u.user_id = #{userId}
  115. </if>
  116. <if test="status != null and status != ''">
  117. AND u.status = #{status}
  118. </if>
  119. </where>
  120. </select>
  121. </mapper>