Jelajahi Sumber

群主转让、群注销

zouxuan 1 tahun lalu
induk
melakukan
1a5ace5abb

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java

@@ -27,6 +27,10 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 */
 	boolean join(String imGroupId, Integer userId, String roleType, boolean isAdmin);
 
+	void initImGroupMember(ImGroupMember imGroupMember, ImGroup.GroupTypeEnum groupType);
+
+	void initImGroupMembers(List<ImGroupMember> imGroupMembers, ImGroup.GroupTypeEnum groupType);
+
 	/**
 	 * 加入群组
 	 * @param imGroupId 群编号

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/im/impl/ImGroupCoreServiceImpl.java

@@ -14,6 +14,7 @@ import com.ym.mec.biz.dal.enums.im.EImGroupRoleType;
 import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
 import com.ym.mec.biz.service.ImGroupMemberPlusService;
+import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupPlusService;
 import com.ym.mec.biz.service.im.ImGroupCoreService;
 import com.ym.mec.common.exception.BizException;
@@ -44,6 +45,8 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
     private ImGroupPlusService imGroupService;
     @Autowired
     private ImGroupMemberPlusService imGroupMemberPlusService;
+    @Autowired
+    private ImGroupMemberService imGroupMemberService;
 
     /**
      * IM 用户注册
@@ -427,7 +430,6 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
 
             // 过滤出需要添加到群组的成员
             groupMembers = groupMembers.stream().filter(ImGroupMemberWrapper.ImGroupMember::getGroupJoin).collect(Collectors.toList());
-
             // 添加群成员到当前群组
             imPluginContext.getPluginService().groupJoin(imGroup.getId(), imGroup.getName(), getImGroupMembers(groupMembers));
             // 设置管理员

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -203,6 +203,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		return true;
 	}
 
+	@Override
 	public void initImGroupMember(ImGroupMember imGroupMember, ImGroup.GroupTypeEnum groupType){
 		try {
 			List<GroupMemberWrapper.Member> members = imPluginContext.getPluginService().groupUserGagList(imGroupMember.getImGroupId());
@@ -259,6 +260,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		}
 	}
 
+	@Override
 	public void initImGroupMembers(List<ImGroupMember> imGroupMembers, ImGroup.GroupTypeEnum groupType){
 		if (CollectionUtils.isEmpty(imGroupMembers)) {
 			return;

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

@@ -247,7 +247,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         if(currentUserId != null){
             groupMemberList.get(0).setRoleType("乐团主管");
         }
-
+        imGroupMemberService.initImGroupMembers(groupMemberList,imGroup.getGroupType());
         addImGroupMember(groupId, groupMemberList);
         return groupId;
     }
@@ -262,7 +262,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                     .userId(groupMember.getUserId().longValue())
                     .avatar(sysUserService.getImAvatar(user))
                     .nickname(sysUserService.getImName(user))
-                    .isAdmin(StringUtils.isNotEmpty(groupMember.getRoleType()))
+                    .isAdmin(groupMember.getIsAdmin())
                     .groupRoleType(groupMember.getGroupRoleType())
                     .tenantId(Optional.ofNullable(imGroup.getTenantId()).orElse(TenantContextHolder.getTenantId()))
                     .imUserId(getImUserId(groupMember.getUserId().toString(), ""))
@@ -677,7 +677,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             groupMember.setImUserIdFormat(false);
         }
 
-
+        imGroupMemberService.initImGroupMembers(imGroupMemberList,imGroup.getGroupType());
         addImGroupMember(imGroup.getId(), imGroupMemberList);
         updateImGroupUserNumber(imGroup.getId());
     }