2026-03-10 14:30:24 +08:00

106 lines
3.8 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="LeaveMessage">
<insert id="insertLeaveMessage" parameterType="LeaveMessage">
INSERT INTO LeaveMessage ( leaveMessageId, uid, toPerson, created, isQuiet, content, areaId )
Values ( #{leaveMessageId}, #{uid}, #{toPerson},current_timestamp, #{isQuiet}, #{content}, #{areaId} )
</insert>
<update id="updateLeaveMessage" parameterType="LeaveMessage">
UPDATE LeaveMessage
SET leaveMessageId = #{leaveMessageId}, uid = #{uid}, toPerson = #{toPerson},
created = #{created}, isQuiet = #{isQuiet}, content = #{content}, areaId = #{areaId}
where leaveMessageId = #{leaveMessageId}
</update>
<select id="getLeaveMessageByKey" parameterType="java.lang.Integer" resultType="LeaveMessage">
SELECT leaveMessageId , uid , toPerson , created , isQuiet , content , areaId
FROM LeaveMessage
WHERE leaveMessageId=#{leaveMessageId}
</select>
<select id="getSeqLeaveMessage" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_leaveMessageId') ;
</select>
<select id="getLeaveMessagesByToPerson" parameterType="java.util.Map" resultType="LeaveMessage">
SELECT leaveMessageId , uid , toPerson , created , isQuiet , content , areaId
FROM LeaveMessage
WHERE toPerson = #{toPerson}
order by created desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<delete id="delLeaveMessageById" parameterType="Integer">
delete from leavemessage where leavemessageid = #{leaveMessageId}
</delete>
<select id="getQuietLeaveMessagesByToPerson" parameterType="java.util.Map" resultType="LeaveMessage">
SELECT leaveMessageId , uid , toPerson , created , isQuiet , content , areaId
FROM LeaveMessage
WHERE toPerson=#{toPerson} and isquiet = 1
order by created desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<select id="getLeaveMessagesByOther" parameterType="java.util.Map" resultType="LeaveMessage">
SELECT leaveMessageId , uid , toPerson , created , isQuiet , content , areaId
FROM LeaveMessage
WHERE toPerson=#{toPerson}
AND ( ( ( uid &lt;&gt; #{otherid} ) and ( isQuiet = 0 ) )
OR ( uid = #{otherid} ) )
order by created desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<select id="getLeaveMessagesCountByToPerson" parameterType="java.lang.Long" resultType="Integer">
SELECT count(*)
FROM LeaveMessage
WHERE toPerson=#{toPerson}
</select>
<select id="getQuietLeaveMessagesCountByToPerson" parameterType="java.lang.Long" resultType="Integer">
SELECT count(*)
FROM LeaveMessage
WHERE toPerson=#{toPerson} and isquiet = 1
</select>
<select id="getLeaveMessagesCountByOther" parameterType="java.util.Map" resultType="Integer">
SELECT count(*)
FROM LeaveMessage
WHERE toPerson=#{toPerson}
AND (( ( uid &lt;&gt; #{otherid} ) and ( isQuiet = 0 ) )
OR ( uid = #{otherid} ) )
</select>
</mapper>