Browse Source

调整用户好友详情,群组好友详情

Eric 2 years ago
parent
commit
3d0cf21b7f

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

@@ -42,11 +42,13 @@ import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.URL;
+import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -346,11 +348,15 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
                 case TEACHER:
                     {
                         // 老师查询学生好友
+                        item.friendType(Optional.ofNullable(item.getFriendType()).orElse(ClientEnum.STUDENT))
+                                .setImFriendId(MessageFormat.format("{0}:{1}", String.valueOf(item.getFriendId()), ClientEnum.STUDENT.name()));
                     }
                     break;
                 case STUDENT:
                     {
                         // 查询学生老师好友
+                        item.friendType(Optional.ofNullable(item.getFriendType()).orElse(ClientEnum.TEACHER))
+                                .setImFriendId(MessageFormat.format("{0}", String.valueOf(item.getFriendId())));
                     }
                     break;
                 default:

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/im/ImUserFriendVO.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.vo.im;
 
 import com.alibaba.fastjson.JSON;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -36,6 +37,12 @@ public class ImUserFriendVO {
         @ApiModelProperty(value = "融云好友编号")
         private String imFriendId;
 
+        @ApiModelProperty(value = "好友身份")
+        private ClientEnum friendType;
+
+        @ApiModelProperty(value = "好友身份")
+        private ClientEnum roleType;
+
         @ApiModelProperty(value = "好友头像")
         private String friendAvatar;
 
@@ -60,6 +67,10 @@ public class ImUserFriendVO {
 
             return Optional.ofNullable(getImFriendId()).orElse(friendId);
         }
+
+        public ClientEnum getRoleType() {
+            return getFriendType();
+        }
     }
 
     /**

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/im/ImUserWrapper.java

@@ -62,6 +62,12 @@ public class ImUserWrapper {
         public ClientEnum getRoleType() {
             return getFriendType();
         }
+
+
+        public ImUserFriend friendType(ClientEnum friendType) {
+            this.friendType = friendType;
+            return this;
+        }
     }
 
 }

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

@@ -11,6 +11,7 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.vo.im.ImUserFriendVO;
+import com.yonge.cooleshow.biz.dal.wrapper.im.ImUserWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.*;
@@ -45,9 +46,18 @@ public class ImUserFriendController extends BaseController {
     })
     @ApiOperation("获取通讯录成员列表")
     @PostMapping(value = "/queryAll")
-    public HttpResponseResult<List<ImUserFriend>> queryAll(@RequestBody Map<String,Object> params) throws Exception {
+    public HttpResponseResult<List<ImUserWrapper.ImUserFriend>> queryAll(@RequestBody Map<String,Object> params) throws Exception {
+
+        // 用户ID
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Object search = params.get("search");
+        if (Objects.isNull(sysUser)) {
+            return failed("请登录");
+        }
+
+        // 学生好友列表
+        List<ImUserWrapper.ImUserFriend> userFriends = imUserFriendService.findUserAllImFriendInfo(ClientEnum.STUDENT, sysUser.getId(), params);
+
+        /*Object search = params.get("search");
         List<ImUserFriend> userFriends = imUserFriendService.getBaseMapper().selectList(Wrappers.<ImUserFriend>query().lambda()
                 .and(Objects.nonNull(search) && StringUtils.isNotEmpty(search.toString()),
                         e->e.eq(ImUserFriend::getFriendId, search).or()
@@ -58,7 +68,7 @@ public class ImUserFriendController extends BaseController {
             // 学生目前添加好友都为老师
             item.clientType(ClientEnum.TEACHER)
                     .setImFriendId(MessageFormat.format("{0}", String.valueOf(item.getFriendId())));
-        }
+        }*/
 
         return succeed(userFriends);
     }
@@ -77,6 +87,10 @@ public class ImUserFriendController extends BaseController {
             return failed("当前好友不存在");
         }
 
+        if (Objects.isNull(userFriend.getFriendType())) {
+            userFriend.setFriendType(ClientEnum.TEACHER);
+        }
+
         return succeed(ImUserFriendVO.ImUserFriend.from(JSON.toJSONString(userFriend)));
     }
 }

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

@@ -46,14 +46,15 @@ public class ImUserFriendController extends BaseController {
     })
     @ApiOperation("获取通讯录成员列表")
     @PostMapping(value = "/queryAll")
-    public HttpResponseResult<List<ImUserFriend>> queryAll(@RequestBody Map<String, Object> params) {
+    public HttpResponseResult<List<ImUserWrapper.ImUserFriend>> queryAll(@RequestBody Map<String, Object> params) {
 
         // 用户ID
         Long userId = sysUserService.getUserId();
 
+        // 学生好友列表
         List<ImUserWrapper.ImUserFriend> userFriends = imUserFriendService.findUserAllImFriendInfo(ClientEnum.TEACHER, userId, params);
 
-        Object search = params.get("search");
+        /*Object search = params.get("search");
         List<ImUserFriend> record = imUserFriendService.list(Wrappers.<ImUserFriend>query().lambda()
                 .eq(ImUserFriend::getUserId, sysUserService.getUserId())
                 .and(Objects.nonNull(search) && StringUtils.isNotEmpty(search.toString()),
@@ -66,9 +67,9 @@ public class ImUserFriendController extends BaseController {
             // 老师端添加好友,可能为老师客服或者学生
             item.clientType(ClientEnum.STUDENT)
                     .setImFriendId(MessageFormat.format("{0}:{1}", String.valueOf(item.getFriendId()), ClientEnum.STUDENT.name()));
-        }
+        }*/
 
-        return succeed(record);
+        return succeed(userFriends);
     }
 
     @ApiOperation("获取好友详情")
@@ -85,6 +86,10 @@ public class ImUserFriendController extends BaseController {
             return failed("当前好友不存在");
         }
 
+        if (Objects.isNull(userFriend.getFriendType())) {
+            userFriend.setFriendType(ClientEnum.STUDENT);
+        }
+
         return succeed(ImUserFriendVO.ImUserFriend.from(JSON.toJSONString(userFriend)));
     }