feat:防止好友请求重复

This commit is contained in:
zhongzb
2023-08-24 22:02:13 +08:00
parent a2f3a51a41
commit abfa70b4e0

View File

@@ -33,6 +33,7 @@ import com.abin.mallchat.common.user.service.adapter.FriendAdapter;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@@ -105,12 +106,18 @@ public class FriendServiceImpl implements FriendService {
//是否有好友关系
UserFriend friend = userFriendDao.getByFriend(uid, request.getTargetUid());
AssertUtil.isEmpty(friend, "你们已经是好友了");
//是否有待审批的申请记录
UserApply friendApproving = userApplyDao.getFriendApproving(uid, request.getTargetUid());
if (Objects.nonNull(friendApproving)) {
//是否有待审批的申请记录(自己的)
UserApply selfApproving = userApplyDao.getFriendApproving(uid, request.getTargetUid());
if (Objects.nonNull(selfApproving)) {
log.info("已有好友申请记录,uid:{}, targetId:{}", uid, request.getTargetUid());
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);
userApplyDao.save(insert);