You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.4 KiB
XML
63 lines
2.4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.ruoyi.system.mapper.SysNoticeReceiverMapper">
|
|
|
|
<resultMap type="SysNoticeReceiver" id="SysNoticeReceiverResult">
|
|
<id property="receiverId" column="receiver_id" />
|
|
<result property="noticeId" column="notice_id" />
|
|
<result property="userId" column="user_id" />
|
|
<result property="sourceType" column="source_type" />
|
|
<result property="sourceId" column="source_id" />
|
|
<result property="createTime" column="create_time" />
|
|
</resultMap>
|
|
|
|
<insert id="insertNoticeReceiver" parameterType="SysNoticeReceiver" useGeneratedKeys="true" keyProperty="receiverId">
|
|
insert into sys_notice_receiver (notice_id, user_id, source_type, source_id, create_time)
|
|
values (#{noticeId}, #{userId}, #{sourceType}, #{sourceId}, #{createTime})
|
|
</insert>
|
|
|
|
<select id="countReceiverByNoticeId" resultType="int">
|
|
select count(1)
|
|
from sys_notice_receiver
|
|
where notice_id = #{noticeId}
|
|
</select>
|
|
|
|
<select id="countReceiverByNoticeIdAndUserId" resultType="int">
|
|
select count(1)
|
|
from sys_notice_receiver
|
|
where notice_id = #{noticeId}
|
|
and user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="countBySource" resultType="int">
|
|
select count(1)
|
|
from sys_notice_receiver
|
|
where source_type = #{sourceType}
|
|
and source_id = #{sourceId}
|
|
and user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="selectViewableNoticeIds" resultType="Long">
|
|
select n.notice_id
|
|
from sys_notice n
|
|
where n.notice_id in
|
|
<foreach collection="noticeIds" item="noticeId" open="(" separator="," close=")">
|
|
#{noticeId}
|
|
</foreach>
|
|
and (
|
|
not exists (select 1 from sys_notice_receiver nr_all where nr_all.notice_id = n.notice_id)
|
|
or exists (select 1 from sys_notice_receiver nr_user where nr_user.notice_id = n.notice_id and nr_user.user_id = #{userId})
|
|
)
|
|
</select>
|
|
|
|
<delete id="deleteByNoticeIds">
|
|
delete from sys_notice_receiver where notice_id in
|
|
<foreach collection="noticeIds" item="noticeId" open="(" separator="," close=")">
|
|
#{noticeId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
</mapper>
|