|
|
|
|
@ -2,7 +2,9 @@ package com.example.springboot_demo.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.example.springboot_demo.entity.mysql.FriendRelation;
|
|
|
|
|
import com.example.springboot_demo.entity.mysql.FriendRequest;
|
|
|
|
|
import com.example.springboot_demo.mapper.FriendRelationMapper;
|
|
|
|
|
import com.example.springboot_demo.mapper.FriendRequestMapper;
|
|
|
|
|
import com.example.springboot_demo.service.FriendRelationService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@ -15,6 +17,9 @@ public class FriendRelationServiceImpl implements FriendRelationService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private FriendRelationMapper friendRelationMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private FriendRequestMapper friendRequestMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<FriendRelation> listByUserId(Long userId) {
|
|
|
|
|
QueryWrapper<FriendRelation> wrapper = new QueryWrapper<>();
|
|
|
|
|
@ -46,9 +51,29 @@ public class FriendRelationServiceImpl implements FriendRelationService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean removeByUserIdAndFriendId(Long userId, Long friendId) {
|
|
|
|
|
QueryWrapper<FriendRelation> wrapper = new QueryWrapper<>();
|
|
|
|
|
wrapper.eq("user_id", userId).eq("friend_id", friendId);
|
|
|
|
|
return friendRelationMapper.delete(wrapper) > 0;
|
|
|
|
|
// 删除双向好友关系
|
|
|
|
|
// 1. 删除 userId -> friendId
|
|
|
|
|
QueryWrapper<FriendRelation> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
wrapper1.eq("user_id", userId).eq("friend_id", friendId);
|
|
|
|
|
friendRelationMapper.delete(wrapper1);
|
|
|
|
|
|
|
|
|
|
// 2. 删除 friendId -> userId
|
|
|
|
|
QueryWrapper<FriendRelation> wrapper2 = new QueryWrapper<>();
|
|
|
|
|
wrapper2.eq("user_id", friendId).eq("friend_id", userId);
|
|
|
|
|
friendRelationMapper.delete(wrapper2);
|
|
|
|
|
|
|
|
|
|
// 3. 删除所有相关的好友请求记录(双向)
|
|
|
|
|
// 删除 userId -> friendId 的请求
|
|
|
|
|
QueryWrapper<FriendRequest> requestWrapper1 = new QueryWrapper<>();
|
|
|
|
|
requestWrapper1.eq("applicant_id", userId).eq("recipient_id", friendId);
|
|
|
|
|
friendRequestMapper.delete(requestWrapper1);
|
|
|
|
|
|
|
|
|
|
// 删除 friendId -> userId 的请求
|
|
|
|
|
QueryWrapper<FriendRequest> requestWrapper2 = new QueryWrapper<>();
|
|
|
|
|
requestWrapper2.eq("applicant_id", friendId).eq("recipient_id", userId);
|
|
|
|
|
friendRequestMapper.delete(requestWrapper2);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|