Browse Source

修复自动加群,好友详情返回个人信息

Eric 2 years ago
parent
commit
7dbd1d82b9

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

@@ -21,11 +21,12 @@ public interface ImGroupMemberAuditService extends IService<ImGroupMemberAudit>
     /**
     * @description: 申请入群
      * @param imGroupMemberAudit
+     * @param autoJoin 自动加群
     * @return void
     * @author zx
     * @date 2022/3/22 17:34
     */
-    void apply(ImGroupMemberAudit imGroupMemberAudit) throws Exception;
+    void apply(ImGroupMemberAudit imGroupMemberAudit, Boolean autoJoin) throws Exception;
 
     /**
     * @description: 入群审核

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

@@ -55,7 +55,7 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void apply(ImGroupMemberAudit imGroupMemberAudit) throws Exception {
+    public void apply(ImGroupMemberAudit imGroupMemberAudit, Boolean autoJoin) throws Exception {
         String groupId = imGroupMemberAudit.getGroupId();
         ImGroup imGroup = imGroupService.getById(groupId);
         if(Objects.isNull(imGroup)){
@@ -82,7 +82,7 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
         imGroupMemberAudit.setUpdateTime(date);
         imGroupMemberAudit.setCreateTime(date);
         baseMapper.insert(imGroupMemberAudit);
-        if(imGroup.getAutoPassFlag()){
+        if(imGroup.getAutoPassFlag() && Optional.ofNullable(autoJoin).orElse(false)){
             //处理本地群成员
             List<GroupMember> groupMembers = imGroupMemberService.initGroupMember(imGroup.getId(),
                     imGroupMemberAudit.getUserId(), false,

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

@@ -124,7 +124,9 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
     @Transactional(rollbackFor = Exception.class)
     public ImUserFriend getDetail(String imUserId, ClientEnum clientType) {
 
-        long userId = Long.parseLong(imUserId.split(":")[0]);
+        String[] values = imUserId.split(":");
+        // 用户ID
+        long userId = Long.parseLong(values[0]);
 
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
@@ -148,10 +150,18 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
                 return imUserFriend;
             }
         }
+
+        // 好友身份类型
+        ClientEnum friendType = ClientEnum.TEACHER;
+        if (values.length > 1 && ClientEnum.STUDENT.match(values[1])) {
+            friendType = ClientEnum.STUDENT;
+        }
+        // 返回当前登录用户信息
         ImUserFriend imUserFriend = new ImUserFriend();
         imUserFriend.setFriendAvatar(basicUserInfo.getAvatar());
         imUserFriend.setFriendNickname(basicUserInfo.getUsername());
         imUserFriend.setFriendId(userId);
+        imUserFriend.setFriendType(friendType);
         // 设置融云IM好友ID
         imUserFriend.setImFriendId(imUserId);
 

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

@@ -58,14 +58,9 @@ public class ImUserFriendVO {
         @ApiModelProperty(value = "修改时间;")
         private Date updateTime;
 
-        public static ImUserFriend from(String recv) {
+        public static ImUserFriend from(String record) {
 
-            return JSON.parseObject(recv, ImUserFriend.class);
-        }
-
-        public String getFriendId() {
-
-            return Optional.ofNullable(getImFriendId()).orElse(friendId);
+            return JSON.parseObject(record, ImUserFriend.class);
         }
 
         public ClientEnum getRoleType() {

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

@@ -41,7 +41,7 @@ public class ImGroupMemberAuditController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         imGroupMemberAudit.setRoleType(ImGroupMemberRoleType.STUDENT);
         imGroupMemberAudit.setUserId(sysUser.getId());
-        imGroupMemberAuditService.apply(imGroupMemberAudit);
+        imGroupMemberAuditService.apply(imGroupMemberAudit, false);
         return succeed();
     }
 }

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

@@ -46,7 +46,7 @@ public class ImGroupMemberAuditController extends BaseController {
     public HttpResponseResult apply(@Valid @RequestBody ImGroupMemberAudit imGroupMemberAudit) throws Exception {
         imGroupMemberAudit.setRoleType(ImGroupMemberRoleType.TEACHER);
         imGroupMemberAudit.setUserId(sysUserService.getUserId());
-        imGroupMemberAuditService.apply(imGroupMemberAudit);
+        imGroupMemberAuditService.apply(imGroupMemberAudit, false);
         return succeed();
     }