liujc 1 rok pred
rodič
commit
4ff8e4af13

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

@@ -123,6 +123,12 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
         // 用户ID
         long userId = Long.parseLong(values[0]);
 
+        // 好友身份类型
+        ClientEnum friendType = ClientEnum.TEACHER;
+        if (values.length > 1 && ClientEnum.STUDENT.match(values[1])) {
+            friendType = ClientEnum.STUDENT;
+        }
+
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if(sysUser != null && sysUser.getId() != null){
@@ -131,6 +137,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)){
                 //更新当前用户关联的该用户的详情信息
@@ -146,11 +154,6 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
             }
         }
 
-        // 好友身份类型
-        ClientEnum friendType = ClientEnum.TEACHER;
-        if (values.length > 1 && ClientEnum.STUDENT.match(values[1])) {
-            friendType = ClientEnum.STUDENT;
-        }
         // 返回当前登录用户信息
         ImUserFriend imUserFriend = new ImUserFriend();
         imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());