blob: 3053fc2b02faccecca4bd71eecebee7b4b59b2ae [file] [log] [blame]
<?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.pt5.pthouduan.mapper.FriendsListMapper">
<!-- 插入好友申请 -->
<insert id="insertFriendRequest" parameterType="com.pt5.pthouduan.entity.FriendsList">
INSERT INTO friendslist (relationid, friend1, friend2, requestTime, status)
VALUES (#{relationid}, #{friend1}, #{friend2}, #{requestTime}, #{status})
</insert>
<!-- 同意好友申请(更新 status) -->
<update id="updateFriendStatus">
UPDATE friendslist
SET status = #{status}
WHERE (friend1 = #{friend1} AND friend2 = #{friend2})
OR (friend1 = #{friend2} AND friend2 = #{friend1})
</update>
<!-- 删除好友关系(不区分 friend1 和 friend2) -->
<delete id="deleteByFriendPair">
DELETE FROM friendslist
WHERE (friend1 = #{friend1} AND friend2 = #{friend2})
OR (friend1 = #{friend2} AND friend2 = #{friend1})
</delete>
<!-- 查询某用户所有已通过好友 -->
<select id="selectAcceptedFriends" parameterType="long" resultType="com.pt5.pthouduan.entity.FriendsList">
SELECT * FROM friendslist
WHERE (friend1 = #{userid} OR friend2 = #{userid})
AND status = 'accepted'
</select>
<!-- 查询自己收到的好友请求(自己是 friend2 且 status = 'pending') -->
<select id="selectPendingRequests" parameterType="long" resultType="com.pt5.pthouduan.entity.FriendsList">
SELECT * FROM friendslist
WHERE friend2 = #{userid}
AND status = 'pending'
ORDER BY requestTime DESC
</select>
</mapper>