Parcourir la source

fix调整IM群用户昵称

Eric il y a 1 an
Parent
commit
3a3d39aac7

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -322,13 +322,21 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
     @Override
     public List<ImGroupMemberDto> queryMemberById(String imGroupId) {
-        return  queryMemberById(imGroupId,null);
+        return getGroupNickname(queryMemberById(imGroupId, null));
     }
 
 
     @Override
     public List<ImGroupMemberDto> queryMemberById(String imGroupId,String search) {
-        List<ImGroupMemberDto> imGroupMemberDtos = imGroupDao.queryMemberById(imGroupId,search);
+        return getGroupNickname(imGroupDao.queryMemberById(imGroupId,search));
+    }
+
+    /**
+     * 群用户昵称
+     * @param imGroupMemberDtos List<ImGroupMemberDto>
+     * @return List<ImGroupMemberDto>
+     */
+    private List<ImGroupMemberDto> getGroupNickname(List<ImGroupMemberDto> imGroupMemberDtos) {
 
         for (ImGroupMemberDto imGroupMemberDto : imGroupMemberDtos) {
             imGroupMemberDto.setType(EFriendRoleType.getByName(imGroupMemberDto.getRoleType()).name());

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -163,7 +163,18 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
     @Override
     public ImUserFriendDto queryFriendDetail(Integer userId, Integer friendUserId) {
         ImUserFriendDto imUserFriendDto = imUserFriendDao.queryFriendDetail(userId, friendUserId);
-        imUserFriendDto.setImUserId(imGroupCoreService.getImUserId(String.valueOf(imUserFriendDto.getUserId()),""));
+
+        if (Objects.nonNull(imUserFriendDto) && Objects.nonNull(imUserFriendDto.getFriend())) {
+
+            List<String> userTypes = Lists.newArrayList(imUserFriendDto.getFriend().getUserType().split(","));
+            if (userTypes.size() > 1 || userTypes.contains(ClientEnum.TEACHER.getCode())) {
+                // 增加用户身份数量 > 1 或者包含老师身份,统一使用实名
+                imUserFriendDto.setFriendNickname(Optional.ofNullable(imUserFriendDto.getFriend().getRealName())
+                    .orElse(imUserFriendDto.getFriend().getUsername()));
+            }
+
+            imUserFriendDto.setImUserId(imGroupCoreService.getImUserId(String.valueOf(imUserFriendDto.getUserId()),""));
+        }
         return imUserFriendDto;
     }