mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-03-14 06:03:42 +08:00
feat:防止好友请求重复
This commit is contained in:
@@ -33,6 +33,7 @@ import com.abin.mallchat.common.user.service.adapter.FriendAdapter;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.aop.framework.AopContext;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationEventPublisher;
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -105,12 +106,18 @@ public class FriendServiceImpl implements FriendService {
|
|||||||
//是否有好友关系
|
//是否有好友关系
|
||||||
UserFriend friend = userFriendDao.getByFriend(uid, request.getTargetUid());
|
UserFriend friend = userFriendDao.getByFriend(uid, request.getTargetUid());
|
||||||
AssertUtil.isEmpty(friend, "你们已经是好友了");
|
AssertUtil.isEmpty(friend, "你们已经是好友了");
|
||||||
//是否有待审批的申请记录
|
//是否有待审批的申请记录(自己的)
|
||||||
UserApply friendApproving = userApplyDao.getFriendApproving(uid, request.getTargetUid());
|
UserApply selfApproving = userApplyDao.getFriendApproving(uid, request.getTargetUid());
|
||||||
if (Objects.nonNull(friendApproving)) {
|
if (Objects.nonNull(selfApproving)) {
|
||||||
log.info("已有好友申请记录,uid:{}, targetId:{}", uid, request.getTargetUid());
|
log.info("已有好友申请记录,uid:{}, targetId:{}", uid, request.getTargetUid());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//是否有待审批的申请记录(别人请求自己的)
|
||||||
|
UserApply friendApproving = userApplyDao.getFriendApproving(request.getTargetUid(), uid);
|
||||||
|
if (Objects.nonNull(friendApproving)) {
|
||||||
|
((FriendService) AopContext.currentProxy()).applyApprove(uid, new FriendApproveReq(friendApproving.getId()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
//申请入库
|
//申请入库
|
||||||
UserApply insert = FriendAdapter.buildFriendApply(uid, request);
|
UserApply insert = FriendAdapter.buildFriendApply(uid, request);
|
||||||
userApplyDao.save(insert);
|
userApplyDao.save(insert);
|
||||||
|
|||||||
Reference in New Issue
Block a user