Browse Source

处理群交接报错

yuanliang 8 tháng trước cách đây
mục cha
commit
a590082739

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/ImGroupCoreService.java

@@ -48,6 +48,8 @@ public interface ImGroupCoreService {
     String analysisImUserId(String imUserId);
 
 
+    String analysisImUser(String imUserId);
+
     /**
      * 检测imUserid
      *

+ 10 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/impl/ImGroupCoreServiceImpl.java

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.dayaedu.cbs.common.enums.EClientType;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.microsvc.toolkit.common.tools.ThreadPool;
 import com.microsvc.toolkit.middleware.im.ImPluginContext;
 import com.microsvc.toolkit.middleware.im.ImPluginService;
@@ -19,7 +18,6 @@ import com.yonge.cooleshow.biz.dal.entity.ImGroupMemberAudit;
 import com.yonge.cooleshow.biz.dal.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.AuditStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import com.yonge.cooleshow.biz.dal.enums.RoleEnum;
 import com.yonge.cooleshow.biz.dal.enums.im.EImGroupMemberRoleType;
 import com.yonge.cooleshow.biz.dal.service.ImGroupMemberAuditService;
@@ -27,14 +25,12 @@ import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
 import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
-import com.yonge.cooleshow.biz.dal.wrapper.TenantActivationCodeWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupMemberAuditWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupMemberWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
 import com.yonge.toolset.base.exception.BizException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -152,6 +148,13 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
         }
         return imUserId;
     }
+    @Override
+    public String analysisImUser(String imUserId) {
+        if (StringUtils.isNotBlank(imConfig.getAppPrefix()) && imUserId.startsWith(imConfig.getAppPrefix())) {
+            return imUserId.replace(imConfig.getAppPrefix() + "_", "");
+        }
+        return imUserId;
+    }
 
 
     /**
@@ -745,7 +748,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
 
             {
                 // 判断旧群主
-                String[] values = analysisImUserId(oldOwner).split(IM_USER_ID_SPLIT);
+                String[] values = analysisImUser(oldOwner).split(IM_USER_ID_SPLIT);
 
                 // 新群主ID和身份
                 long userId = Long.parseLong(values[0]);
@@ -764,7 +767,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
 
             {
                 // 判定新群主是否为禁言状态,需要先解除禁言
-                String[] values = analysisImUserId(newOwner).split(IM_USER_ID_SPLIT);
+                String[] values = analysisImUser(newOwner).split(IM_USER_ID_SPLIT);
 
                 // 新群主ID和身份
                 long userId = Long.parseLong(values[0]);
@@ -1015,7 +1018,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
      * @param isAdmin 群主标记
      */
     private void updateGroupOwner(String groupId, String groupMember, Boolean isAdmin) {
-        String[] values = analysisImUserId(groupMember).split(IM_USER_ID_SPLIT);
+        String[] values = analysisImUser(groupMember).split(IM_USER_ID_SPLIT);
 
         // 新群主ID和身份
         long userId = Long.parseLong(values[0]);