feat: 添加联系人管理和好友关系功能
This commit is contained in:
@@ -39,7 +39,6 @@ spring:
|
||||
connectiontimeout: 10000 # 连接超时时间(毫秒)
|
||||
timeout: 10000 # 读取超时时间(毫秒)
|
||||
writetimeout: 10000 # 写入超时时间(毫秒)
|
||||
|
||||
# MyBatis 配置
|
||||
mybatis:
|
||||
mapper-locations: classpath:mapper/*.xml
|
||||
|
||||
25
src/main/resources/com/bao/dating/mapper/ContactMapper.xml
Normal file
25
src/main/resources/com/bao/dating/mapper/ContactMapper.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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.bao.dating.mapper.ContactMapper">
|
||||
<select id="selectFriendsByUserId" resultType="java.util.Map">
|
||||
SELECT c.contact_id,
|
||||
c.user_id,
|
||||
c.contact_user_id,
|
||||
c.contact_nickname,
|
||||
c.relation_type,
|
||||
c.add_time,
|
||||
u.user_name,
|
||||
u.nickname,
|
||||
u.avatar_url,
|
||||
u.signature
|
||||
FROM contacts c
|
||||
LEFT JOIN user u ON c.contact_user_id = u.user_id
|
||||
WHERE c.user_id = #{userId}
|
||||
AND c.contact_status = 1 -- 正常状态
|
||||
AND c.relation_type != 3 -- 排除黑名单
|
||||
AND c.user_id != c.contact_user_id -- 排除自己
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
<?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.bao.dating.mapper.FriendRelationMapper">
|
||||
<!-- 插入好友申请 -->
|
||||
<insert id="insertFriendApply" parameterType="java.util.Map">
|
||||
INSERT INTO friend_apply (
|
||||
apply_user_id,
|
||||
target_user_id,
|
||||
greeting,
|
||||
apply_time,
|
||||
apply_status,
|
||||
created_at,
|
||||
updated_at
|
||||
) VALUES (
|
||||
#{apply_user_id},
|
||||
#{target_user_id},
|
||||
#{greeting},
|
||||
NOW(),
|
||||
0,
|
||||
NOW(),
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 更新好友申请状态 -->
|
||||
<update id="updateFriendApplyStatus" parameterType="java.util.Map">
|
||||
UPDATE friend_apply
|
||||
SET apply_status = #{apply_status},
|
||||
updated_at = NOW()
|
||||
WHERE apply_user_id = #{apply_user_id}
|
||||
AND target_user_id = #{target_user_id}
|
||||
AND apply_status = 0
|
||||
</update>
|
||||
|
||||
<!-- 删除好友申请(可选) -->
|
||||
<delete id="deleteFriendApply" parameterType="java.util.Map">
|
||||
DELETE FROM friend_apply
|
||||
WHERE apply_user_id = #{apply_user_id}
|
||||
AND target_user_id = #{target_user_id}
|
||||
</delete>
|
||||
|
||||
<!-- 根据申请人ID和被申请人ID查询好友申请 -->
|
||||
<select id="selectFriendApplyByUsers" parameterType="java.util.Map" resultType="java.util.Map">
|
||||
SELECT
|
||||
apply_id,
|
||||
apply_user_id,
|
||||
target_user_id,
|
||||
greeting,
|
||||
apply_time,
|
||||
apply_status,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM friend_apply
|
||||
WHERE apply_user_id = #{applyUserId}
|
||||
AND target_user_id = #{targetUserId}
|
||||
AND apply_status = 0
|
||||
</select>
|
||||
|
||||
<!-- 查询待处理的好友申请 -->
|
||||
<select id="selectFriendApplyList" parameterType="java.lang.Long" resultType="java.util.Map">
|
||||
SELECT
|
||||
apply_id,
|
||||
apply_user_id,
|
||||
target_user_id,
|
||||
greeting,
|
||||
apply_time,
|
||||
apply_status,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM friend_apply
|
||||
WHERE target_user_id = #{targetUserId}
|
||||
AND apply_status = 0
|
||||
ORDER BY apply_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 插入联系人记录(方法名同步修改,字段名不变) -->
|
||||
<insert id="insertFriendRelation" parameterType="java.util.Map">
|
||||
INSERT INTO contacts (
|
||||
user_id,
|
||||
contact_user_id,
|
||||
contact_nickname,
|
||||
relation_type,
|
||||
contact_status,
|
||||
add_time,
|
||||
created_at,
|
||||
updated_at
|
||||
) VALUES (
|
||||
#{user_id},
|
||||
#{contact_user_id},
|
||||
#{contact_nickname},
|
||||
#{relation_type},
|
||||
#{contact_status},
|
||||
NOW(),
|
||||
NOW(),
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 查询联系人列表(方法名同步修改,字段名不变) -->
|
||||
<select id="selectFriendRelationListByUserId" parameterType="java.lang.Long" resultType="java.util.Map">
|
||||
SELECT
|
||||
contact_id,
|
||||
user_id,
|
||||
contact_user_id,
|
||||
contact_nickname,
|
||||
contact_avatar,
|
||||
relation_type,
|
||||
add_time,
|
||||
last_chat_time,
|
||||
contact_status,
|
||||
contact_remark,
|
||||
tags,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM contacts
|
||||
WHERE user_id = #{userId}
|
||||
AND contact_status = 1
|
||||
ORDER BY add_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 删除过期的好友申请 -->
|
||||
<delete id="deleteExpiredFriendApply" parameterType="java.lang.Integer">
|
||||
DELETE FROM friend_apply
|
||||
WHERE apply_status = 0
|
||||
AND created_at < DATE_SUB(NOW(), INTERVAL #{days} DAY)
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -36,15 +36,15 @@
|
||||
</foreach>
|
||||
</delete>
|
||||
<!--删除收藏记录-->
|
||||
<delete id="1">
|
||||
<delete id="deletePostFavoriteByPostId">
|
||||
DELETE FROM post_favorite WHERE post_id = #{postId}
|
||||
</delete>
|
||||
<!--删除点赞记录-->
|
||||
<delete id="2">
|
||||
<delete id="deletePostLikeByPostId">
|
||||
DELETE FROM post_like WHERE post_id = #{postId}
|
||||
</delete>
|
||||
<!--动态评论删除-->
|
||||
<delete id="3">
|
||||
<delete id="deleteCommentsByPostId">
|
||||
DELETE FROM comments WHERE post_id = #{postId}
|
||||
</delete>
|
||||
|
||||
|
||||
@@ -74,4 +74,6 @@
|
||||
</set>
|
||||
WHERE user_id = #{userId}
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user