liujc 1 年之前
父节点
当前提交
07ff0063b8

+ 0 - 7
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -204,11 +204,4 @@ public interface SysUserService extends BaseService<Long, SysUser> {
 
     void updateLockStatus(Long userId, Integer lockFlag, String sysUserType);
 
-    /**
-     * 用户信息
-     * @param userId 用户ID
-     * @param clientType 客户端类型
-     * @return SysUser
-     */
-    SysUser queryUserInfoWithIMToken(Long userId, EClientType clientType);
 }

+ 1 - 55
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -300,13 +300,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         //更新imUserFriend表用户头像
         sysUserDao.updateImUserFriend(userId, setDetail.getUsername(), setDetail.getAvatar());
         try {
-
-            String imUserId = String.valueOf(userId);
-            if (EClientType.STUDENT.match(clientType)) {
-                imUserId = MessageFormat.format("{0}:{1}", imUserId, EClientType.STUDENT.name());
-            }
-
-            RongCloudConfig.rongCloud.user.update(new UserModel(imUserId, setDetail.getUsername(), setDetail.getAvatar()));
+            adminFeignService.register(userId.toString(),clientType, setDetail.getUsername(), setDetail.getAvatar());
         } catch (Exception e) {
             throw new BizException("更新用户信息失败");
         }
@@ -364,52 +358,4 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         sysUserDao.updateLockStatus(userId, lockFlag, sysUserType);
     }
 
-    /**
-     * 用户信息
-     *
-     * @param userId     用户ID
-     * @param clientType 客户端类型
-     * @return SysUser
-     */
-    @Override
-    public SysUser queryUserInfoWithIMToken(Long userId, EClientType clientType) {
-
-        // 查询用户基本信息
-        SysUser sysUser = sysUserDao.get(userId);
-
-        if (EClientType.STUDENT == clientType && Objects.nonNull(sysUser)) {
-
-            // 重新请求生成IM会话TOKEN
-            try {
-
-                /*HttpResponseResult<Boolean> recv = teacherFeignService.userTeacherIdentityInfo(userId);
-
-                if (Objects.nonNull(recv) && recv.getData()) {
-                    // 同时一个手机号,拥手老师、学生身份时,为学生创建新的IMToken
-
-                }*/
-
-                String name = sysUser.getUsername();
-                if(StringUtils.isEmpty(name)){
-                    name = sysUser.getRealName();
-                }
-
-                // IM用户ID
-                String imIdentity = MessageFormat.format("{0}:{1}", String.valueOf(sysUser.getId()), clientType.name());
-
-                TokenResult result = RongCloudConfig.rongCloud.user.register(new UserModel(imIdentity, name, sysUser.getAvatar()));
-                if(result.code.equals(200)){
-
-                    sysUser.setImToken(result.getToken());
-                } else {
-                    log.warn("queryUserInfoWithIMToken 获取用户token失败:{}", result.errorMessage);
-                }
-
-            } catch (Exception e) {
-                log.error("queryUserInfoWithIMToken 获取用户token失败, userId={}", userId, e);
-            }
-        }
-
-        return sysUser;
-    }
 }

+ 15 - 14
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -450,13 +450,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 .eq(ImGroupMember::getRoleType, roleType)
                 .one();
 
-        String imUserId = String.valueOf(userId);
-        if (Objects.nonNull(groupMember)
-                && ImGroupMemberRoleType.STUDENT == groupMember.getRoleType()) {
-
-            imUserId = MessageFormat.format("{0}:{1}", imUserId, ClientEnum.STUDENT.name());
-        }
-
+        String imUserId = imGroupService.getImUserId( String.valueOf(groupMember.getUserId()), groupMember.getRoleType().getCode());
         if (imGroupMemberService.getDao().delByGroupIdAndUserId(groupId, userId, roleType) < 1) {
             throw new BizException("操作失败:用户不在此群组");
         }
@@ -565,10 +559,8 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
 
                     if (Objects.nonNull(groupMember)) {
 
-                        String imIdentity = MessageFormat.format("{0}:{1}", String.valueOf(userId),
+                        String userKey = imGroupService.getImUserId(String.valueOf(userId),
                                 ClientEnum.STUDENT.name());
-                        // 缓存用户重新入群标识
-                        String userKey = MessageFormat.format("{0}:{1}", groupId, imIdentity);
                         RBucket<Object> bucket = redissonClient.getBucket(userKey);
                         if (bucket.isExists()) {
                             return;
@@ -845,6 +837,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     }
 
     private void groupTransfer(List<ImGroup> records) {
+        String fansIcon = sysConfigService.findConfigValue(SysConfigConstant.ICON_FANS_GROUP_DEFAULT);
+        String courseIcon = sysConfigService.findConfigValue(SysConfigConstant.ICON_COURSE_GROUP_DEFAULT);
+        String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
         for (ImGroup imGroup : records) {
             List<ImGroupMember> memberList = imGroupMemberService.lambdaQuery()
                     .eq(ImGroupMember::getGroupId, imGroup.getId())
@@ -863,7 +858,11 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 importGroup.setNotification(imGroup.getMemo());
                 importGroup.setFaceUrl(imGroup.getImg());
                 if (StringUtils.isEmpty(imGroup.getImg())) {
-                    importGroup.setFaceUrl("https://gyt.ks3-cn-beijing.ksyuncs.com/example/group_default_avatar.png");
+                    if (imGroup.getType().equals(ImGroupType.COURSE)) {
+                        importGroup.setFaceUrl(courseIcon);
+                    } else {
+                        importGroup.setFaceUrl(fansIcon);
+                    }
                 }
                 importGroup.setApplyJoinOption(Boolean.TRUE.equals(imGroup.getAutoPassFlag()) ? "FreeAccess" :
                         "NeedPermission");
@@ -880,7 +879,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 for (ImGroupMember member : groupMembers) {
                     String avatar = member.getAvatar();
                     if (StringUtils.isEmpty(avatar)) {
-                        avatar = "https://daya.ks3-cn-beijing.ksyun.com/202203/T1WgJaE.png";
+                        avatar = defaultHeard;
                     }
                     register(member.getUserId(), imGroup.getId(), avatar, false,
                             ImGroupMemberRoleType.STUDENT.equals(member.getRoleType()) ? ClientEnum.STUDENT :
@@ -967,6 +966,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     }
 
     private  List<String[]> getStudent(int page,int rows) {
+        String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
         StudentSearch studentQuery = new StudentSearch();
         studentQuery.setPage(page);
         studentQuery.setRows(rows);
@@ -979,13 +979,14 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
             String avatar = next.getAvatar();
             strings[3] = avatar;
             if (StringUtils.isEmpty(avatar)) {
-                strings[3] = "https://gyt.ks3-cn-beijing.ksyuncs.com/ktyq/student_default_avatar.png";
+                strings[3] = defaultHeard;
             }
             return strings;
         }).collect(Collectors.toList());
     }
 
     private List<String[]> getTeachers(int page, int rows) {
+        String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
         TeacherSearch query = new TeacherSearch();
         query.setPage(page);
         query.setRows(rows);
@@ -999,7 +1000,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
             String avatar = next.getAvatar();
             strings[3] = avatar;
             if (StringUtils.isEmpty(avatar)) {
-                strings[3] = "https://gyt.ks3-cn-beijing.ksyuncs.com/ktyq/teacher_default_avatar.png";
+                strings[3] = defaultHeard;
             }
             return strings;
         }).collect(Collectors.toList());

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java

@@ -391,7 +391,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     private String getImUserId(Long userId,ClientEnum clientEnum){
         String imUserId = String.valueOf(userId);
         if (ClientEnum.STUDENT == clientEnum) {
-            imUserId = MessageFormat.format("{0}:{1}", imUserId, ClientEnum.STUDENT.name());
+            imUserId = imGroupService.getImUserId( imUserId, ClientEnum.STUDENT.name());
         }
         return imUserId;
     }
@@ -399,7 +399,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     private String getImUserId(Long userId,RoleEnum clientEnum){
         String imUserId = String.valueOf(userId);
         if (RoleEnum.RoleStudent == clientEnum) {
-            imUserId = MessageFormat.format("{0}:{1}", imUserId, ClientEnum.STUDENT.name());
+            imUserId = imGroupService.getImUserId(imUserId, ClientEnum.STUDENT.name());
         }
         return imUserId;
     }
@@ -577,7 +577,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                 List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentService.getDao().queryByCourseId(Long.parseLong(deviceControl.getRoomId()));
 
                 for (CourseScheduleStudentPayment studentPayment : studentPayments) {
-                    deviceControl.setUserId(MessageFormat.format("{0}:{1}", String.valueOf(studentPayment.getUserId()), ClientEnum.STUDENT.name()));
+                    deviceControl.setUserId(imGroupService.getImUserId(String.valueOf(studentPayment.getUserId()), ClientEnum.STUDENT.name()));
                     controlDevice(deviceControl);
                 }
 
@@ -585,7 +585,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                 List<ImNetworkRoomMember> roomMembers = imNetworkRoomMemberService.getDao().findByRoomAndRole(deviceControl.getRoomId(), 0);
                 if (!CollectionUtils.isEmpty(roomMembers)) {
                     for (ImNetworkRoomMember roomMember : roomMembers) {
-                        deviceControl.setUserId(MessageFormat.format("{0}:{1}", String.valueOf(roomMember.getUserId()), ClientEnum.STUDENT.name()));
+                        deviceControl.setUserId(imGroupService.getImUserId(String.valueOf(roomMember.getUserId()), ClientEnum.STUDENT.name()));
                         controlDevice(deviceControl);
                     }
                 }

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

@@ -395,30 +395,11 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
         List<ImUserWrapper.ImUserFriend> userFriends = JSON.parseArray(JSON.toJSONString(records), ImUserWrapper.ImUserFriend.class);
 
         for (ImUserWrapper.ImUserFriend item : userFriends) {
-
-            switch (clientType) {
-                case TEACHER:
-                    {
-                        // 老师查询学生好友
-                        if (item.getFriendType() == ClientEnum.TEACHER) {
-                            item.setImFriendId(MessageFormat.format("{0}", String.valueOf(item.getFriendId())));
-                        } else {
-                            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:
-                    break;
+            if (item.getFriendType() == null) {
+                continue;
             }
+
+            item.setImFriendId(imGroupService.getImUserId(String.valueOf(item.getFriendId()),item.getFriendType().getCode()));
         }
 
         return userFriends;