Browse Source

好友关系列表区分老师,学生

Eric 2 years ago
parent
commit
cbaab66fb8

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImUserFriendService.java

@@ -38,7 +38,7 @@ public interface ImUserFriendService extends IService<ImUserFriend> {
     * @author zx
     * @date 2022/3/24 12:03
     */
-    ImUserFriend getDetail(String userId);
+    ImUserFriend getDetail(String userId, ClientEnum clientType);
 
     /**
      * 新用户自动添加客服

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

@@ -101,12 +101,14 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
                 studentFriend.setFriendAvatar(basicUserInfo.getAvatar());
                 studentFriend.setFriendNickname(basicUserInfo.getUsername());
             }
+            teacherFriend.setClientType(ClientEnum.TEACHER);
             teacherFriend.setFriendId(studentId);
             teacherFriend.setFriendType(ClientEnum.STUDENT);
             teacherFriend.setUserId(teacherId);
             teacherFriend.setCreateTime(now);
             teacherFriend.setUpdateTime(now);
 
+            studentFriend.setClientType(ClientEnum.STUDENT);
             studentFriend.setFriendId(teacherId);
             studentFriend.setFriendType(ClientEnum.TEACHER);
             studentFriend.setUserId(studentId);
@@ -120,14 +122,19 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ImUserFriend getDetail(String imUserId) {
+    public ImUserFriend getDetail(String imUserId, ClientEnum clientType) {
 
         long userId = Long.parseLong(imUserId.split(":")[0]);
 
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if(sysUser != null && sysUser.getId() != null){
-            ImUserFriend imUserFriend = baseMapper.findByUserIdAndFriendId(sysUser.getId(),userId);
+
+            ImUserFriend imUserFriend = lambdaQuery()
+                    .eq(ImUserFriend::getUserId, sysUser.getId())
+                    .eq(ImUserFriend::getClientType, clientType)
+                    .eq(ImUserFriend::getFriendId, userId)
+                    .one();
             if(Objects.nonNull(imUserFriend)){
                 //更新当前用户关联的该用户的详情信息
                 imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());
@@ -172,6 +179,7 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
                 imUserFriendService.lambdaUpdate()
                         .eq(ImUserFriend::getUserId, teacherId)
+                        .eq(ImUserFriend::getClientType, ClientEnum.TEACHER)
                         .eq(ImUserFriend::getFriendId, userId)
                         .eq(ImUserFriend::getFriendType, ClientEnum.STUDENT)
                         .set(ImUserFriend::getFriendType, ClientEnum.TEACHER);

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImUserFriendController.java

@@ -82,7 +82,7 @@ public class ImUserFriendController extends BaseController {
             return failed("无效的用户ID");
         }
 
-        ImUserFriend userFriend = imUserFriendService.getDetail(userId);
+        ImUserFriend userFriend = imUserFriendService.getDetail(userId, ClientEnum.STUDENT);
         if (Objects.isNull(userFriend)) {
             return failed("当前好友不存在");
         }

+ 1 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImUserFriendController.java

@@ -81,7 +81,7 @@ public class ImUserFriendController extends BaseController {
             return failed("无效的用户ID");
         }
 
-        ImUserFriend userFriend = imUserFriendService.getDetail(userId);
+        ImUserFriend userFriend = imUserFriendService.getDetail(userId, ClientEnum.TEACHER);
         if (Objects.isNull(userFriend)) {
             return failed("当前好友不存在");
         }