liujc 1 vuosi sitten
vanhempi
commit
5d5b97d5d1

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

@@ -298,13 +298,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("更新用户信息失败");
         }

+ 11 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -368,4 +368,15 @@ public interface SysConfigConstant {
      * 机构人员解绑申请超时时间,分钟
      */
     String TENANT_USER_UNBIND_EXPIRE_TIME = "tenant_user_unbind_expire_time";
+
+    /**
+     * 课程群头像 icon_course_group_default
+     */
+    String ICON_COURSE_GROUP_DEFAULT = "icon_course_group_default";
+
+    /**
+     * 粉丝群头像 icon_fans_group_default
+     */
+    String ICON_FANS_GROUP_DEFAULT = "icon_fans_group_default";
+
 }

+ 5 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java

@@ -157,6 +157,11 @@ public class ImGroupController extends BaseController {
         imGroupService.groupTransfer();
     }
 
+    @GetMapping(value = "/importUser")
+    @ApiOperation("导入用户")
+    public void importUser() {
+        imGroupService.importUser();
+    }
 
 
 

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java

@@ -166,5 +166,10 @@ public interface ImGroupService extends IService<ImGroup> {
      * 群迁移,融云->腾讯
      */
     void groupTransfer();
+
+    /**
+     * 用户导入
+     */
+    void importUser();
 }
 

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

@@ -1,11 +1,15 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.config.AppGlobalServiceConfig;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.microsvc.toolkit.middleware.im.ImPluginContext;
 import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.microsvc.toolkit.middleware.im.message.MessageWrapper;
@@ -31,6 +35,8 @@ import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.StudentStarService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 import com.yonge.cooleshow.biz.dal.entity.CourseGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
 import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
@@ -41,18 +47,14 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
 import com.yonge.cooleshow.biz.dal.enums.RoleEnum;
-import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
-import com.yonge.cooleshow.biz.dal.service.CustomerServiceBatchSendingService;
-import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
-import com.yonge.cooleshow.biz.dal.service.ImGroupService;
-import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
-import com.yonge.cooleshow.biz.dal.service.StudentStarService;
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.service.SysUserService;
-import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.vo.StudentVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.ThreadPool;
+import com.yonge.toolset.mybatis.support.PageUtil;
 import io.rong.RongCloud;
 import io.rong.methods.message.history.History;
 import io.rong.models.Result;
@@ -150,6 +152,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     @Autowired
     private SysConfigService sysConfigService;
 
+    @Autowired
+    private StudentService studentService;
+
     @Override
     public ImGroupDao getDao() {
         return this.baseMapper;
@@ -251,6 +256,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         imGroup.setMemberNum(1);
         imGroup.setCreateTime(now);
         imGroup.setUpdateTime(now);
+        imGroup.setImg(sysConfigService.findConfigValue(SysConfigConstant.ICON_FANS_GROUP_DEFAULT));
         String imGroupId = UUID.randomUUID() + imGroup.getType().getCode();
         imGroup.setId(imGroupId);
         ImGroup group = JSON.parseObject(JSON.toJSONString(imGroup), ImGroup.class);
@@ -265,7 +271,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         }
 
         //创建融云群
-        this.rtcCreate(imGroup.getCreateBy(),imGroupId,imGroup.getName());
+        this.rtcCreate(imGroup.getCreateBy(), imGroupId, imGroup.getName(),imGroup.getImg());
         //加入融云群
         imGroupMemberService.join(groupMembers,imGroupId);
     }
@@ -310,6 +316,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         imGroup.setMemberNum(studentIds.size() + 1);
         imGroup.setName(courseGroup.getName());
         imGroup.setType(ImGroupType.COURSE);
+        imGroup.setImg(sysConfigService.findConfigValue(SysConfigConstant.ICON_COURSE_GROUP_DEFAULT));
         imGroup.setCreateTime(now);
         imGroup.setUpdateTime(now);
         String imGroupId = UUID.randomUUID() + imGroup.getType().getCode();
@@ -328,7 +335,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                     ImGroupMemberRoleType.STUDENT));
         }
         //创建融云群
-        this.rtcCreate(courseGroup.getTeacherId(), imGroupId, imGroup.getName());
+        this.rtcCreate(courseGroup.getTeacherId(), imGroupId, imGroup.getName(),imGroup.getImg());
         //加入融云群
         imGroupMemberService.join(groupMembers, imGroupId);
         return imGroupId;
@@ -336,12 +343,12 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
 
 
     //创建融云群
-    private void rtcCreate(Long userId, String imGroupId, String imGroupName) throws Exception {
-        rtcCreate(userId, imGroupId, imGroupName, ClientEnum.TEACHER);
+    private void rtcCreate(Long userId, String imGroupId, String imGroupName,String img) throws Exception {
+        rtcCreate(userId, imGroupId, imGroupName, ClientEnum.TEACHER,img);
     }
 
     //创建融云群
-    private void rtcCreate(Long userId, String imGroupId, String imGroupName, ClientEnum clientType) throws Exception {
+    private void rtcCreate(Long userId, String imGroupId, String imGroupName, ClientEnum clientType,String img) throws Exception {
         //创建群
         SysUser user = sysUserService.findUserById(userId);
 
@@ -355,7 +362,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 .groupId(imGroupId)
                 .userId(userId)
                 .clientType(clientType.getCode())
-                .avatar(null)
+                .avatar(img)
                 .nickname(user.getUsername())
                 .isAdmin(true)
                 .imUserId(getImUserId(userId.toString(), clientType.getCode()))
@@ -491,13 +498,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("操作失败:用户不在此群组");
         }
@@ -554,6 +555,8 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
             imGroup.setName(sysUser.getUsername() + "的粉丝群");
             imGroup.setType(ImGroupType.FAN);
             imGroup.setCreateTime(new Date());
+
+            imGroup.setImg(sysConfigService.findConfigValue(SysConfigConstant.ICON_FANS_GROUP_DEFAULT));
             imGroup.setUpdateTime(new Date());
             imGroup.setCreateBy(teacher.getUserId());
             String imGroupId = UUID.randomUUID() + imGroup.getType().getCode();
@@ -566,7 +569,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                         ImGroupMemberRoleType.STUDENT));
             }
             //创建融云群
-            this.rtcCreate(sysUser.getId(), imGroupId, imGroup.getName());
+            this.rtcCreate(sysUser.getId(), imGroupId, imGroup.getName(),imGroup.getImg());
             //加入融云群
             imGroupMemberService.join(groupMembers, imGroupId);
 
@@ -604,10 +607,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;
@@ -706,7 +707,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     @Override
     public void importInfo(List<ImHistoryMessage> info) throws Exception {
 
-        info.stream().forEach(i -> {
+        info.forEach(i -> {
             //判断消息类型
             Integer type = i.getTargetType();
             if (type == 1) {
@@ -718,13 +719,13 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 //根据发送者分场景讨论
                 String id = i.getFromUserId();
                 String imUserId;
-                if (id.contains(":student")) {
+                if (id.contains(":STUDENT")) {
                     String[] split = id.split(":");
                     String userId = split[0];
                     String clientType = split[1];
                     imUserId = getImUserId(userId, clientType);
                 } else {
-                    imUserId = getImUserId(id, "teacher");
+                    imUserId = getImUserId(id, "TEACHER");
                 }
 
                 privateImportMessage.setFromAccount(imUserId);
@@ -768,10 +769,10 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 });*/
                 if (list.stream().map(TencentRequest.MessageBody::getMsgType).collect(Collectors.toList()).get(0).equals("RC:TxtMsg")) {
                     //文本对象
-                    list.stream().forEach(item -> item.setMsgType("TIMTextElem"));
+                    list.forEach(item -> item.setMsgType("TIMTextElem"));
                 } else if (list.stream().map(TencentRequest.MessageBody::getMsgType).collect(Collectors.toList()).get(0).equals("RC:ImgMsg")) {
                     //图文对象
-                    list.stream().forEach(item -> item.setMsgType("TIMImageElem"));
+                    list.forEach(item -> item.setMsgType("TIMImageElem"));
                 }
                 privateImportMessage.setTencentMessageBody(list);
                 try {
@@ -792,13 +793,13 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                 String imUserId;
                 String id = i.getFromUserId();
                 //根据发送者分场景讨论
-                if (id.contains(":student")) {
+                if (id.contains(":STUDENT")) {
                     String[] split = id.split(":");
                     String userId = split[0];
                     String clientType = split[1];
                     imUserId = getImUserId(userId, clientType);
                 } else {
-                    imUserId = getImUserId(id, "teacher");
+                    imUserId = getImUserId(id, "TEACHER");
                 }
 
 
@@ -834,10 +835,10 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
 
                 //文本对象
                 if (bodyList.stream().map(TencentRequest.MessageBody::getMsgType).collect(Collectors.toList()).get(0).equals("RC:TxtMsg")) {
-                    bodyList.stream().forEach(item -> item.setMsgType("TIMTextElem"));
+                    bodyList.forEach(item -> item.setMsgType("TIMTextElem"));
                 } else if (bodyList.stream().map(TencentRequest.MessageBody::getMsgType).collect(Collectors.toList()).get(0).equals("RC:ImgMsg")) {
                     //暂未支持图文对象
-                    bodyList.stream().forEach(item -> item.setMsgType("TIMCustomElem"));
+                    bodyList.forEach(item -> item.setMsgType("TIMCustomElem"));
                 }
 
                 data1.setTencentMessageBody(bodyList);
@@ -884,6 +885,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())
@@ -902,7 +906,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");
@@ -919,7 +927,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 :
@@ -972,5 +980,78 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         // 自动激活学生IM帐号
         registerUser(groupMembers);
     }
+
+
+    @Override
+    public void importUser() {
+        int page = 1;
+        int rows = 200;
+        List<String[]> teachers = getTeachers(page, rows);
+        while (!teachers.isEmpty()) {
+            register(teachers);
+            page++;
+            teachers = getTeachers(page, rows);
+        }
+        page = 1;
+
+
+        List<String[]> student = getStudent(page, rows);
+        while (!student.isEmpty()) {
+            register(student);
+            page++;
+            student = getStudent(page, rows);
+        }
+    }
+
+    private void register(List<String[]> users) {
+        for (String[] user : users) {
+            try {
+                register(user[0], ClientEnum.valueOf(user[1]), user[2], user[3]);
+            } catch (Exception e) {
+                log.error("注册失败:" + JSON.toJSONString(user) + e.getMessage());
+            }
+        }
+    }
+
+    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);
+        IPage<StudentVo> studentIPage = studentService.selectPage(PageUtil.getPage(studentQuery), studentQuery);
+        return studentIPage.getRecords().stream().map(next -> {
+            String[] strings = new String[4];
+            strings[0] = next.getUserId().toString();
+            strings[1] = ClientEnum.STUDENT.name();
+            strings[2] = next.getUsername();
+            String avatar = next.getAvatar();
+            strings[3] = avatar;
+            if (StringUtils.isEmpty(avatar)) {
+                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);
+        IPage<TeacherVo> teacherIPage = teacherService.selectPage(PageUtil.getPage(query), query);
+        List<TeacherVo> records = teacherIPage.getRecords();
+        return records.stream().map(next -> {
+            String[] strings = new String[4];
+            strings[0] = next.getUserId().toString();
+            strings[1] = ClientEnum.TEACHER.name();
+            strings[2] = next.getRealName();
+            String avatar = next.getAvatar();
+            strings[3] = avatar;
+            if (StringUtils.isEmpty(avatar)) {
+                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 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java

@@ -399,29 +399,11 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
                 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;

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -86,7 +86,7 @@
         SELECT
             <include refid="baseColumns"/>,
             if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
-            u.avatar_ as avatar,
+            u.avatar_ as avator,
             u.username_ as username,
             u.gender_ as gender,
             u.birthdate_ as birthdate,