liujc 1 gadu atpakaļ
vecāks
revīzija
19d82e314d

+ 8 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java

@@ -134,6 +134,12 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
         // 用户ID
         long userId = Long.parseLong(imGroupService.analysisImUserId(imUserId));
 
+        // 好友身份类型
+        ClientEnum friendType = ClientEnum.TEACHER;
+        if (ClientEnum.STUDENT.match(imGroupService.analysisImUserClient(imUserId))) {
+            friendType = ClientEnum.STUDENT;
+        }
+
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if (sysUser != null && sysUser.getId() != null) {
@@ -142,6 +148,8 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
                     .eq(ImUserFriend::getUserId, sysUser.getId())
                     .eq(ImUserFriend::getClientType, clientType)
                     .eq(ImUserFriend::getFriendId, userId)
+                    .eq(ImUserFriend::getFriendType, friendType)
+                    .last("LIMIT 1")
                     .one();
             if (Objects.nonNull(imUserFriend)) {
                 //更新当前用户关联的该用户的详情信息
@@ -157,11 +165,6 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
             }
         }
 
-        // 好友身份类型
-        ClientEnum friendType = ClientEnum.TEACHER;
-        if (ClientEnum.STUDENT.match(imGroupService.analysisImUserClient(imUserId))) {
-            friendType = ClientEnum.STUDENT;
-        }
         // 返回当前登录用户信息
         ImUserFriend imUserFriend = new ImUserFriend();
         imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());